Octave version 3.8.0
Why Octave/Matlab? It supports the vectorized implementation, while using others, e.g. python, you have to implement in the loop for a bunch of information that needs to be updated concurrently.
Author: Tung Thanh Le
Contact: ttungl at gmail dot com
- Week #2: Univariate / Multivariate Linear Regression.
- Week #3: Logistic Regression, and Regularized Logistic Regression.
Note that, Regularized Logistic Regression is applied with various
lambdasto find a good fit data and the good decision boundary. Iflambdais too large, underfitting the data (lambda~100). Otherwise, if it is too small, overfitting the data (lambda~0). - Week #4: Neural Network with handwritten prediction. Use
feedforward propagation algorithmto predict the labels of training sets. - Week #5: Neural Network Training with handwritten. Use
backpropagation algorithmto predict the labels of training sets. Note that, thebackprop algorithmis implemented after running thefeedforward propagation algorithmto compute all theactivationsandh_theta(x). - Week #6: Diagnosing Bias/Variance, Evaluating a Hypothesis, Learning Curves, Error Analysis. These techniques are used to diagnose the performance of the learning algorithm. Observing the learning curves allows us what to do next in order to fix the model.
- Week #7: Support Vector Machines (SVM).
SVMis used to perform the classifications by building the classifiers based on the training datasets. It tends to separate the boundaries between the training datasets by finding the optimal hyperplane and maximizing the margin as large as possible. Implemented the email spam filter. - Week #8:
K-Means ClusteringandData CompressionusingPCA(Principle Component Analysis). In unsupervised learning problems,K-Means Clusteringis to cluster the similar data examples together. For data compression,PCAis used to reduce data fromn-dimension tok-dimension (k < n). Note, PCA cannot be applied to preventing overfitting issue, instead, use regularization. Implemented k-Means clustering to cluster the image of 24-bit color, each pixel is represented as a data example, use k-Means to find 16 colors that best groups pixels in 3-D RGB space. Implemented PCA to reduce 3-D data to 2-D data. Two steps in PCA, first step is to compute the covariance matrix of the data. Second, use SVD function to compute the eigenvectors. - Week #9:
Anomaly Detection SystemandRecommender System. Implement theanomaly detection algorithmand apply it to detect failing servers on a network. This basically detects the anomalies of the examples in the network (throughput, latency, etc.) usingMultivariate Gaussian Distribution. Implement theRecommender systemusing thecollaborative filtering learning algorithm. The objective is to predict the ratings for items that users have not yet rated. - Week #10: Learning with Large dataset; Mini-batch gradient descent; stochastic gradient descent convergence; Online learning; Map-reduce and data parallelism;
- Week #11: Photo OCR (optical character recognition) problem; Sliding windows (image scanning); Artificial data analysis for photo OCR (combination of the source and the backgrounds); Ceiling analysis (what part of pipeline should spend the most time);
In some topics, Dr. Andrew Ng does not go into detail, I highly recommend you to read the books entitled below to understand more about those topics (thanks some hints from Shujian Liu).
- The Elements of Statistical Learning -- 12th Edition (Updated Jan 2017)
- An Introduction to Statistical Learning with Applications in R
- Statistical Inference 2nd Edition
- Statistical Learning -- Stanford Univ (Winter 2016)
I completed the course on April 16, 2017.
License number: 7MMK9BZBASXN
Certificate URL: https://www.coursera.org/account/accomplishments/records/7EXQHX72WRS2