Types and Tailcalls

Notes on DeepLearning.ai Specialization - Structuring Machine Learning Projects

published on September 10th, 2023

I just completed the third part of the DeepLearning.ai specialization on Coursera. I'm writing these notes as a summary to remember better and be able to review things quickly.


TODO My notes (PDF of notes I took on the Remarkable 2)

Slides from the lecture

Week 1

Why ML Strategy?


4 core assumptions in ML

  1. You can fit the training set on the cost function well, otherwise use

    • a more powerful network / architecture (layers, hidden units, batch normalization, activations, ...)
    • better optimization (algorithm, initialization, longer runs, more compute)
    • more input features
  2. Fit dev set on cost function well, otherwise

    • apply regularization / reduce overfitting training set
    • get a bigger training set
    • address data-mismatch between training and dev set
  3. Fit test set on cost function well

    • Get a bigger dev set?
  4. Perform well in the real world

    • Use different cost function?

Single number evolution metrics

Optimizing vs Satisficing metrics

Ex: When considering accuracy, running time and memory consumption, makes sense to make accuracy the optimizing metric and running time and memory consumption satisficing metrics (as long as some threshold is met it's OK)

Train / dev / test set distributions

Examples of what not to do:

Guideline: Choose dev and test set to reflect data you want to do well on.

Dev & test set sizes

When to change the cost function

Bayes Error & comparing to human level performance

Surpassing human level performance

Week 2

Error Analysis

Cleaning up wrong lables

Training & Testing on different distributions

Adressing data mismatch

Transfer Learning

Transfer learning makes sense if:

Multi-task learning

Multi-task learning makes sense if:

End-to-End Deep Learning

comments powered by Disqus