• Stars
    star
    255
  • Rank 158,849 (Top 4 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created about 4 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Programming assignments, labs and quizzes from all courses in the Coursera AI for Medicine Specialization offered by deeplearning.ai

Coursera AI for Medicine Specialization (offered by deeplearning.ai)

Programming assignments, labs and quizzes from all courses in the Coursera AI for Medicine Specialization offered by deeplearning.ai.

Instructors: Pranav Rajpurkar, Bora Uyumazturk, Amirhossein Kiani and Eddy Shyu.

Specialization Info

AI is transforming the practice of medicine. It’s helping doctors diagnose patients more accurately, make predictions about patients’ future health, and recommend better treatments. In this Specialization, you’ll gain practical experience applying machine learning to concrete problems in medicine. You’ll learn how to:

  • Diagnose diseases from X-Rays and 3D MRI brain images
  • Predict patient survival rates more accurately using tree-based models
  • Estimate treatment effects on patients using data from randomized trials
  • Automate the task of labeling medical datasets using natural language processing

Credits

This repo contains my work for this specialization. The code base, quiz questions and diagrams are taken from the AI for Medicine Specialization, unless specified otherwise.

Programming Assignments

Course 1: AI for Medical Diagnosis

Course 2: AI for Medical Prognosis

Course 3: AI For Medical Treatment

Syllabus

Course 1: AI For Medical Diagnosis

How can AI be applied to medical imaging to diagnose diseases? In this first course, you’ll learn about the nuances of working with both 2D and 3D medical image data, for multi-class classification and image segmentation. You’ll then apply what you’ve learned to classify diseases in X-Ray images and segment tumors in 3D MRI brain images. Finally, you’ll learn how to properly evaluate the performance of your models.

Week 1:

  • Introduction: A conversation with Andrew Ng
  • Diagnosis examples
  • Model training on chest X-Rays
  • Training, prediction, and loss
  • Class imbalance
  • Binary cross entropy loss function
  • Resampling methods
  • Multi-task loss
  • Transfer learning and data augmentation
  • Model testing

Week 2:

  • Introduction: A conversation with Andrew Ng
  • Evaluation metrics
  • Accuracy in terms of conditional probability
  • Sensitivity, specificity, and prevalence
  • Confusion matrix
  • ROC curve
  • Threshold (operating point)
  • Confidence intervals
  • Width of confidence intervals and sample size
  • Using a sample to estimate the population

Week 3:

  • Introduction: A conversation with Andrew Ng
  • Representing MRI data
  • Image registration
  • 2D and 3D segmentation
  • 3D U-Net
  • Data augmentation for segmentation
  • Loss function for image segmentation
  • Soft dice loss
  • External validation
  • Retrospective vs. prospective data
  • Working with cleaned vs. raw data
  • Measuring patient outcomes
  • Algorithmic bias
  • Model influence on medical decision-making

Course 2: AI For Medical Prognosis

Machine learning is a powerful tool for prognosis, a branch of medicine that specializes in predicting the future health of patients. First, you’ll walk through multiple examples of prognostic tasks. You’ll then use decision trees to model non-linear relationships, which are commonly observed in medical data, and apply them to predicting mortality rates more accurately. Finally, you’ll learn how to handle missing data, a key real-world challenge.

Week 1:

  • Introduction: A conversation with Andrew Ng
  • Examples of prognostic tasks
  • Patient profile to risk score
  • Risk score for atrial fibrillation
  • Liver disease mortality
  • Calculate 10-year risk of heart disease
  • Risk score computation
  • Evaluating prognostic models
  • Concordant pairs
  • Risk ties
  • Permissible pairs
  • C-index interpretation

Week 2:

  • Decision trees for prognosis
  • Predicting mortality risk
  • Dividing the input space
  • Non-linear associations
  • Class boundaries of a decision tree
  • Random forest
  • Ensemble methods
  • Survival data
  • Problems with dropping incomplete rows
  • Dropping incomplete case changes the distribution
  • Imputation
  • Mean imputation
  • Regression imputation

Week 3:

  • Survival function
  • Censoring
  • Collecting time data
  • Heart attack data
  • Estimating the survival function
  • Using censored data
  • Chain rule of conditional probability
  • Derivation
  • Calculating probabilities from the data
  • Comparing estimates
  • Kaplan Meier Estimate

Week 4:

  • Hazard functions
  • Survival to hazard
  • Cumulative hazard
  • Individualized predictions
  • Individual vs. baseline hazard
  • Smoker vs. non-smoker
  • Effect of age on hazard
  • Factor risk increase or decrease
  • Survival trees
  • Nelson Aelen estimator
  • Mortality score
  • Evaluating survival models
  • Permissible pair examples
  • Harrell’s concordance index

Course 3: AI For Medical Treatment

Medical treatment may impact patients differently based on their existing health conditions. In this final course, you’ll estimate treatment effects using data from randomized control trials and applying tree-based models. In the second week, you’ll apply machine learning interpretation methods to explain the decision-making of complex machine learning models. In the final week of this course, you’ll use natural language entity extraction and question-answering methods to automate the task of labeling medical datasets.

Week 1:

  • Treatment effect estimation
  • Randomized control trials
  • Average risk reductio
  • Individualized treatment effect
  • T-Learner and S-Learner
  • C-for-benefit

Week 2:

  • Information extraction from medical reports
  • Rules-based label extraction
  • Text matching
  • Negation detection
  • Dependency parsing
  • Question-Answering with BERT

Week 3:

  • Machine Learning Interpretation
  • Interpret CNN models with GradCAM
  • Aggregate and Individual feature importance
  • Permutation Importance
  • Shapley Values
  • Interpret random forest models

Disclaimer

I recognize the hard time people spend on building intuition, understanding new concepts and debugging assignments. The solutions uploaded here are only for reference. They are meant to unblock you if you get stuck somewhere. Please do not copy any part of the code as-is (the programming assignments are fairly easy if you read the instructions carefully). Similarly, try out the quizzes yourself before you refer to the quiz solutions.

More Repositories

1

coursera-deep-learning-specialization

Notes, programming assignments and quizzes from all courses within the Coursera Deep Learning specialization offered by deeplearning.ai: (i) Neural Networks and Deep Learning; (ii) Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization; (iii) Structuring Machine Learning Projects; (iv) Convolutional Neural Networks; (v) Sequence Models
Jupyter Notebook
2,975
star
2

coursera-gan-specialization

Programming assignments and quizzes from all courses within the GANs specialization offered by deeplearning.ai
Jupyter Notebook
419
star
3

coursera-machine-learning-engineering-for-prod-mlops-specialization

Programming assignments and quizzes from all courses within the Machine Learning Engineering for Production (MLOps) specialization offered by deeplearning.ai
Jupyter Notebook
415
star
4

iSeeBetter

iSeeBetter: Spatio-Temporal Video Super Resolution using Recurrent-Generative Back-Projection Networks | Python3 | PyTorch | GANs | CNNs | ResNets | RNNs | Published in Springer Journal of Computational Visual Media, September 2020, Tsinghua University Press
C++
358
star
5

coursera-natural-language-processing-specialization

Programming assignments from all courses in the Coursera Natural Language Processing Specialization offered by deeplearning.ai.
Jupyter Notebook
313
star
6

stanford-cs231n-assignments-2020

This repository contains my solutions to the assignments for Stanford's CS231n "Convolutional Neural Networks for Visual Recognition" (Spring 2020).
Jupyter Notebook
159
star
7

stanford-cs224n-assignments-2021

This repository contains my solutions to the assignments for Stanford's CS224n "Natural Language Processing with Deep Learning" (Winter 2021).
Jupyter Notebook
117
star
8

iPerceive

Applying Common-Sense Reasoning to Multi-Modal Dense Video Captioning and Video Question Answering | Python3 | PyTorch | CNNs | Causality | Reasoning | LSTMs | Transformers | Multi-Head Self Attention | Published in IEEE Winter Conference on Applications of Computer Vision (WACV) 2021
Python
75
star
9

FRVSR-GAN

A Novel Approach to Video Super-Resolution using Frame Recurrence and Generative Adversarial Networks | Python3 | PyTorch | OpenCV2 | GANs | CNNs
Python
57
star
10

llm-course

Course on LLMs: Building Personalized Customer Chatbots •
Jupyter Notebook
21
star
11

command-line-interpreter

Unix Shell in C | Support for built-in commands, output redirection, parallel mode, batch mode, consecutive commands etc.
Shell
19
star
12

aman-ai

iPython Notebooks for NumPy and Python Primers
Jupyter Notebook
15
star
13

software-RAID

Software RAID Manager | C | Supports RAID 0, 1, 4, 5 and 10 | Capable of normal mode operation (no failures), working with one failed disk and restoring normal mode with a new disk
C
12
star
14

regex-cheatsheet

RegEx Cheatsheet | Authored by Yours Truly
10
star
15

mle-for-production-mlops

Machine Learning Engineering for Production (MLOps) is an online non-credit specialization authorized by DeepLearning.AI and offered through Coursera
7
star
16

amanchadha

README
5
star
17

melody

Music Player | Python | TkInter | PyGame | Threading | Support for adding/removing songs from a playlist, forward/rewind tracks, mute/unmute functionality
Python
4
star
18

desktop-search-engine-with-pthreads

Desktop Search Engine | Pthreads | Reader/Writer Lock | Fine-grained Bucket-level Locking | C
C
3
star
19

neural-net-from-scratch

Neural network from scratch implementing the XOR function
Python
3
star
20

vim-cheatsheet

Vim Cheatsheet | Authored by Yours Truly
2
star
21

pipelined-processor

Design of a Five-staged Pipelined Processor | Supports Data Hazard Detection, Forwarding, Stalling, Flushing | Testbenches
1
star
22

c-cpp-examples

Random C/C++ examples
C++
1
star
23

calibratable-angle-resolver-in-verilog

Calibratable Angle Resolver | Verilog
Verilog
1
star