CS 229 Machine Learning Course Materials
Handouts and Problem Sets
- Handout #1: Course Information (HTML)
- Handout #2: Course Schedule (HTML)
Lecture Notes
-
Lecture notes 1 (ps) (pdf) Supervised Learning, Discriminative Algorithms
-
Lecture notes 2 (ps) (pdf) Generative Algorithms
-
Lecture notes 3 (ps) (pdf) Support Vector Machines
-
Lecture notes 4 (ps) (pdf) Learning Theory
-
Lecture notes 5 (ps) (pdf) Regularization and Model Selection
-
Lecture notes 6 (ps) (pdf) Online Learning and the Perceptron Algorithm. (optional reading)
-
Lecture notes 7a (ps) (pdf) Unsupervised Learning, k-means clustering.
-
Lecture notes 7b (ps) (pdf) Mixture of Gaussians
-
Lecture notes 8 (ps) (pdf) The EM Algorithm
-
Lecture notes 9 (ps) (pdf) Factor Analysis
-
Lecture notes 10 (ps) (pdf) Principal Components Analysis
-
Lecture notes 11 (ps) (pdf) Independent Components Analysis
-
Lecture notes 12 (ps) (pdf) Reinforcement Learning and Control
Supplemental Notes
-
Supplemental notes 1 (pdf) Binary classification with +/-1 labels.
-
Supplemental notes 2 (pdf) Boosting algorithms and weak learning.
- Matlab code to generate plots (.m) Functional after implementing stump_booster.m in PS2.
-
Supplemental notes 3 (pdf) The representer theorem.
-
Supplemental notes 4 (pdf) Hoeffding’s inequality.
Section Notes
-
Section notes 1 (pdf) Linear Algebra Review and Reference
-
Section notes 2 (pdf) Probability Theory Review
-
Section notes 3 (pdf) Files for the Matlab tutorial: sigmoid.m, logistic_grad_ascent.m, matlab_session.m
-
Section notes 4 (ps) (pdf) Convex Optimization Overview, Part I
-
Section notes 5 (ps) (pdf) Convex Optimization Overview, Part II
-
Section notes 6 (ps) (pdf) Hidden Markov Models
-
Section notes 7 (pdf) The Multivariate Gaussian Distribution
-
Section notes 8 (pdf) More on Gaussian Distribution
-
Section notes 9 (pdf) Gaussian Processes
Other resources
Advice on applying machine learning: Slides from Andrew’s lecture on getting machine learning algorithms to work in practice can be found here.
Previous projects: A list of last year’s final projects can be found here.
Matlab resources:
Here are a couple of Matlab tutorials that you might find helpful:
http://www.math.ucsd.edu/~bdriver/21d-s99/matlab-primer.html and
http://www.math.mtu.edu/~msgocken/intro/node1.html.
For emacs users only: If you plan to run Matlab in emacs,
here are matlab.el, and
a helpful .emac’s file.
Octave resources:
For a free alternative to Matlab, check
out GNU Octave. The
official documentation is
available here.
Some useful tutorials on Octave
include http://en.wikibooks.org/wiki/Octave_Programming_Tutorial
and http://www-mdp.eng.cam.ac.uk/web/CD/engapps/octave/octavetut.pdf
Data: Here is the UCI Machine learning repository, which contains a large collection of standard datasets for testing learning algorithms. If you want to see examples of recent work in machine learning, start by taking a look at the conferences NIPS (all old NIPS papers are online) and ICML. Some other related conferences include UAI, AAAI, IJCAI.
Viewing PostScript and PDF files: Depending on the computer you are using, you may be able to download a PostScript viewer or PDF viewer for it if you don’t already have one.