All these files are currently implemented in Octave, as this was the language submissions could be made in. Current TODO: Translate into Python.
-
Exercise 1: Linear regression
Simple linear regression using gradient descent on multivariate data.
Python implementation: not done
-
Exercise 2: Logistic regression
Logistic regression, classification into classes, feature mapping, regularization, and plotting the decision boundary.
Python implementation: not done
-
Exercise 3: Using neural network
Introduction to neural networks to make predictions. Write a classifier for handwritten digits (using the MNIST dataset).
Python implementation: not done
-
Exercise 4: Training neural networks
Training a neural network. Uses the same MNIST dataset as exercise set 3. One goal is to write some notes that tidy up Ng's lecture notes. He uses the convention normal data science convention that each observation uses a row, but all the lecture notes use the standard (math) convention of using column vectors.
Python implementation: not done
-
Exercise 5: Learning curves
Diagnosing learning algorithms, in particularly using "learning curves" to distinguish between high bias and high variance cases.
Python implementation: not done
-
Exercise 6: Support Vector Machines
Introduction to support vector machines as a classification algorithm. Three cases were analyized: an artifical data set that could be linearly separated, a complex 2D dataset that used a Gaussian kernel, and a "real world" spam classification example.
Python implementation: not done
-
Exercise 7: k-means and PCA
-
Exercise 8: Anomoly detection and recommender systems