Education For All

Text size
  • Increase font size
  • Default font size
  • Decrease font size


Machine Learning

Course Summary

This course is based on CS229 Machine Learning made available by Stanford University: Stanford Engineering Everywhere under the Creative Commons Attribution 3.0 license.
This course in Artificial Intelligence provides a broad introduction to machine learning and statistical pattern recognition and will cover recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing. Students are expected to have the following background: Knowledge of basic computer science principles and skills, at a level sufficient to write a reasonably non-trivial computer program; Familiarity with the basic probability theory; Familiarity with the basic linear algebra.

Topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs; VC theory; large margins); reinforcement learning and adaptive control.

Reading Material

Not available.

Course Material

1. Linear Regression, Classification and logistic regression, Generalized Linear Models

2. Generative Learning algorithms

3. Support Vector Machines

4. Learning Theory

5. Regularization and model selection

6. The perceptron and large margin classifiers

7. The k-means clustering algorithm

8. Mixtures of Gaussians and the EM algorithm

9. The EM algorithm

10. Factor analysis

11. Principal components analysis

12. Independent Components Analysis

13. Reinforcement Learning and Control

14. Review - Linear Algebra Review and Reference

15. Probability Theory Review

16. Matlab Review

17. Convex Optimization Overview, Part I

18. Convex Optimization Overview, Part II

19. Review - Hidden Markov Models

20. Review - Gaussian Processes

21. Assignments
Assignment Assignment Data Files Solution Solution Data Files
Problem Set 1 Solution Set 1
Problem Set 2 Solution Set 2
Problem Set 3 Solution Set 3
Problem Set 4 Solution Set 4

Other Resources

1. Advice on applying machine learning (313 KB pdf)
Slides from Andrew's lecture on getting machine learning algorithms to work in practice can be found here.
2. Previous projects
A list of last year's final projects can be found here.


1. Matlab Tutorial

2. A Practical Introduction to Matlab

3. GNU Octave
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.
4. UCI Machine Learning Repository
The UCI Machine Learning Repository contains a large collection of standard datasets for testing learning algorithms.

Discussion Forum

For discussion on this topic, please go to the relevant forum for Machine Learning. Click the button below to open the forum page in a new window.




Chinese (Simplified) French German Italian Japanese Korean Portuguese Russian Spanish
More educational resources: