Course SummaryThis 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 MaterialNot available.
Course Material1. 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
|Assignment||Assignment Data Files||Solution||Solution Data Files|
|Problem Set 1||PS1-data.zip||Solution Set 1||ps1_solution-data.zip|
|Problem Set 2||PS2-data.zip||Solution Set 2|
|Problem Set 3||PS3-data.zip||Solution Set 3||ps3_solution-data.zip|
|Problem Set 4||PS4-data.zip||Solution Set 4||ps4_solution-data.zip|
Other Resources1. 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.
Software1. 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 ForumFor 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.