Syllabus
General Information
Location:  McConnell Engineering building, room 103 
Times:  Monday and Wednesday, 2:353:55pm 
Instructor:  Professor Doina Precup, School of Computer Science. 
Office:  McConnell Engineering building, room 111N (left from the elevators). 
Phone:  (514) 3986443. 
Email:  dprecup@cs.mcgill.ca 
Office hours:

Monday 4:004:30pmand Friday, 1:303:30pm
Meetings at other times by appointment only! 
Teaching assistants: 
Jordan Frank Office Hours: Tuesday, 1:302:30pm, McConnell Engineering building room 108 (right from the elevators) Email: jordan dot frank at cs dot mcgill dot ca 
Mahdi Milani Fard Office Hours: Thursday 2:303:30pm, McConnell Engineering building room 112 (right from the elevators) Email: mahdi dot milanifard at mail dot mcgill dot ca  
Class web page:  http://www.cs.mcgill.ca/~dprecup/courses/ml.html
IMPORTANT: This is where class notes, announcements and homeworks are posted! 
Course Description
The field of machine learning is concerned with the question of how to construct computer programs that improve automatically with experience. In recent years, many successful applications of machine learning have been developed, ranging from datamining programs that learn to detect fraudulent credit card transactions, to autonomous vehicles that learn to drive on public highways. At the same time, there have been important advances in the theory and algorithms that form the foundation of this field. The goal of this class is to provide an overview of the stateofart algorithms used in machine learning. We will discuss both the theoretical properties of these algorithms and their practical applications.
Prerequisites
Basic knowledge of a programming language is required. Basic knowledge of probabilities and statistics is required. Example courses at McGill providing sufficient background are MATH323 or ECSE305. Some AI background is recommended, as provided, for instance by COMP424 or ECSE526, but not required. If you have doubts regarding your background, please contact me to discuss it.
Reference Materials
The recommended references are: Christopher M. Bishop, "Pattern Recognition and Machine Learning", Springer, 2006.
 Richard S. Sutton and Andrew G. Barto, "Reinforcement learning: An introduction", MIT Press, 1998.
 Tom Mitchell, "Machine Learning", McGrawHill, 1997.
 Richard O. Duda, Peter E. Hart & David G. Stork, "Pattern Classification. Second Edition", Wiley & Sons, 2001.
 Trevor Hastie, Robert Tibshirani and Jerome Friedman, "The Elements of Statistical Learning", Second Edition, Springer, 2009.
 David J.C. MacKay, "Information Theory, Inference and Learning Algorithms", Cambridge University Press, 2003.
 Ethem Alpaydin, "Introduction to Machine Learning", MIT Press, 2004.
Class Requirements
The class grade will be based on the following components:
 Up to seven assignments, of which the lowest score will be dropped  60%.
The assignments will contain a mix of theoretical and experimental questions. Experimentation will mainly be carried out in Matlab, but prior knowledge of Matlab is NOT required. Matlab is available through a site licence at McGill. You can also use Octave, which is a free software very similar to Matlab.  A midterm inclass examination  20%.
 A final project  20%.
The final project will involve choosing a topic, either from a list of suggestions that will be provided or based on your own interests. A typical project will require you to read papers related to the topic, implement or find available implementations of the algorithms discussed, and perform experimental work comparing these algorithms. At the end of the semester, you will write a final report and you will prepare a 10minute class presentation of the topic you investigated. The presentations will be scheduled outside of our lecture time, during December.  Participation in class discussions  up to 1% extra credit.
Homework Policy
Assignments should be submitted electronically on the day when they are due. You should email the assignment to cs652 at cs dot mcgill dot ca. For late assignments, 10 points will be deducted from the grade for every late day, for the first 5 days. No credit is given for assignments submitted more than 5 days late, unless you have a medical problem.All assignments are INDIVIDUAL! You may discuss the problems with your colleagues, but you must submit individual homeworks. Please acknowledge all sources you use in the homeworks (papers, code or ideas from someone else).
McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offenses under the Code of Student Conduct and Disciplinary Procedures (see www.mcgill.ca/students/srr/honest for more information).
In accord with McGill University's Charter of Students' Rights, students in this course have the right to submit in English or in French any written work that is to be graded.
In the event of extraordinary circumstances beyond the University's control, the content and/or evaluation scheme in this course is subject to change.
Tentative Course Content
 Introduction (1 lecture)
 Linear models (3 lectures): linear an polynomial regression, overfitting, model selection, logistic regression, Naive Bayes
 Nonlinear models (5 lectures): decision trees, instancebased learning, boosting, neural networks
 Support vector machines and kernels (2 lectures)
 Computational learning theory (2 lectures)
 Experimental methodology, sources of error (1 lecture)
 Midterm (1 lecture)
 Structured models (2 lectures): graphical models, deep belief networks
 Unsupervised learning (3 lectures): Kmeans, expectation maximization, PCA and other dimensionality reduction methods
 Learning in dynamical systems (2 lectures): Hidden Markov Models and other types of temporal/sequence models
 Reinforcement learning (3 lectures)
 Wrapup (1 lecture)