CMPT 726: Machine Learning, Spring

Instructor: Oliver Schulte

About the course

Machine Learning is the study of computer algorithms that improve automatically through experience. It is one of the most exciting aspects of artificial intelligence, and is the basis for many of its industrial applications. It is the preferred approach for many applications, such as face detection (auto-focus in your digital camera), hand-written digit recognition, speech recognition, and credit card fraud detection.

This course is a 700-level grad course - it will be a lecture-style course and be taught from a textbook. This course will start from the basics, no prior experience in machine learning nor pattern recognition will be presumed. Students will gain hands-on experience with state of the art machine learning algorithms via programming assignments on real datasets and a course project.


The most important prerequisite for this course is a strong mathematics background, especially in linear algebra and calculus (mainly taking derivatives for function maximization). You should have background knowledge equivalent to the following SFU courses: MATH 151, 152, 240, MACM 316, STAT 270 with an A average. It is also recommended that students have taken some of MATH 251, 252, 254, 308, 309. It will be possible to refresh your knowledge at the beginning of the course, but I don't want anyone to run from the room screaming if I say "eigenvector" or "covariance matrix". If you have questions about your readiness for this course, please ask.


Schedule (Tentative)

Lecture Slides.




Course Management System for assignment submission and grading

Programming assignments will be done in MATLAB. MATLAB is easy to use and allows researchers to quickly develop programs for machine learning and other subjects that require many standard math functions. It provides many tools for numerical computation which are useful for implementing machine learning techniques. Students who are not familiar with MATLAB are expected to acquire basic proficiency. The following resources are helpful for learning MATLAB:

Links to machine learning journals and conferences: Other resources:

Back to Oliver Schulte's teaching page.