Course Description: Machine learning aims to build computer systems that learn from experience, instead of being directly programmed. It is an exciting interdisciplinary field, with historical roots in computer science, statistics, pattern recognition, and even neuroscience and physics. In the past ten years, many of these approaches have converged and led to rapid theoretical advances and real-world applications. This course will be of interest to students in computer science, statistics, mathematics, engineering and bioinformatics.
Topics: The course will start with basic methods of clustering, regression and classification, and then move on to more sophisticated methods such as neural networks, hidden Markhov models, and reinforcement learning, as well as newer methods such support vector machines, multidimensional scaling and Bayesian learning. Both supervised and unsupervised learning will be covered, as well as the evaluation of learning algorithms.
Prerequisites: The official prerequisites are CSC263/270, STA257, STA248/258/261. However, in most cases, intellectual maturity can substitute for this as long as the student has a basic knowledge of computer programming, calculus (including partial derivatives), linear algebra and probability. Experience with Matlab, Octave or R would be helpful, but is not essential.
For senior Computer Science students, the Math and Statistics requirements in the Computer Science specialist program provides sufficient preparation. For senior Math and Statistics students, CSC148 should provide sufficient Computer Science preparation (or, if the student is experienced in R or Matlab, CSC108 could be sufficient). Students lacking the official prerequisites should see the instructor.
Instructor:
Tutorials:
Assignments:
Background material:
Matlab:
Octave:
Plagiarism and Cheating: