Homepage for CSC 411, Spring 2007

Machine Learning and Data Mining

University of Toronto at Mississauga


  • Course information sheet

    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.


  • Anthony Bonner
  • email: ajbonner [at] sympatico [dot] ca
  • Phone: 905-828-3813 (UTM), 416-978-7441 (St George)
  • Office: CC 4004 (UTM), BA 4268 (St George)
  • Office hours: TBA


  • Time and place: F2 in SE 3007.
  • Teaching Assistant: Rui Yan.
  • Tutorial web page

  • Classes: Wed 11am - 1pm, CC 2150.
  • Lecture slides used in class.
  • Textbook and slides for each chapter.
  • Supplementary Readings


  • Assignment 1 and a rar file containing Matlab code and data for Question 4.
  • Assignment 2 and a rar file containing Matlab code and data. (Please read the submission instructions carefully.)
  • Assignment 3 and a rar file containing Matlab code and data.
  • Assignment 4

    Background material:

  • Petersen and Pedersen, The Matrix Cookbook. Free Download
  • F. R. Kschischang, Probability Refresher. Free Download
  • Lipschutz and Lipson, Schaum's Outline of Linear Algebra. (very handy, very cheap)
  • Wrede and Spiegle, Schaum's Outline of Advanced Calculus. (very handy, very cheap)
  • David Mackay, Information Theory, Inference, and Learning Algorithms. Free Download


  • Matlab Primer.
  • Matlab Intro.
  • Prof. Christara's A Brief Introduction to MatLab.
  • Cleve Moler's Introduction to MATLAB chapter from his new textbook.
  • Here is a good site for Matlab information and tutorials.
  • Another good site for Matlab information, tutorials and software.


  • You may use Octave instead of Matlab for homework assignments. However, I cannot guarantee to help you if you have problems. Octave is very similar to Matlab and is freely available on the web, but the user interface is not as convenient.
  • Instructions for installing and running Octave in Windows.
  • More details on installing Octave in Windows.
  • Octave manual
  • GNU Octave Repository
  • Octave Wiki

    Plagiarism and Cheating:

  • The academic regulations of the University are outlined in the Code of Behaviour on Academic Matters.
  • Advice on academic offences