CSC 412/2506 -- Spring 2016
Lectures: Tuesday 3:10-5
Tutorials: Thursday 1-2
Course schedule: The schedule of lectures, readings, and assignments can be found here. Note that these are all subject to change.
Pre-requisites:You should have taken an introductory machine learning course. You should understand basic probability and statistics, and college-level algebra and calculus. For example it is expected that you know about standard probability distributions (Gaussians, Poisson), and also how to calculate derivatives. Knowledge of linear algebra is also expected, and knowledge of mathematics underlying probability models will be useful. For the programming assignments, you should have some background in programming, and it would be helpful if you know Matlab or Python.
Readings: There is no required textbook for this course. There are several recommended books. We will primarily recommend specific chapters from Machine Learning: A Probabilistic Perspective by Kevin Murphy.
Course requirements and grading: The format of the class will be lecture, with some discussion. We strongly encourage interaction and questions. There are assigned readings for each lecture that are intended to prepare you to participate in the class discussion for that day.
The grading in the class will be divided up as follows:
Assignments 50% (3 assignments)
Homework assignments: The best way to learn about a machine learning method is to program it yourself and experiment with it. So the assignments will generally involve implementing machine learning algorithms, and experimentation to test your algorithms on some data. You will be asked to summarize your work, and analyze the results, in brief (3-4 page) write ups. The implementations may be done in any language, but Matlab and Python are recommended.
Collaboration on the assignments is not allowed. Each student is responsible for his or her own work. Discussion of assignments and programs should be limited to clarification of the handout itself, and should not involve any sharing of pseudo-code or code or simulation results. Violation of this policy is grounds for a semester grade of F, in accordance with university regulations.
The schedule of assignments is included in the syllabus. Assignments are due at the beginning of class/tutorial on the due date. Because they may be discussed in class that day, it is important that you have completed them by that day. Assignments handed in late but before 5 pm of that day will be penalized by 5% (i.e., total points multiplied by 0.95); a late penalty of 10% per day will be assessed thereafter. Extensions will be granted only in special situations, and you will need a Student Medical Certificate or a written request approved by the instructor at least one week before the due date.
Test: There will be a mid-term in tutorial on February 25th. This will be a closed book test on all material covered up to that point in the lectures, tutorials, required readings, and assignments.
Project: The idea of the final project is to give you some experience trying to do a piece of original research in machine learning and writing up your results in a paper style format. What we expect to see is an idea/task that you describe clearly, relate to existing work, implement and test on a dataset. To do this you will need to write code, run it on some data, make some figures, read a few background papers, collect some references, and write a few pages describing your task, the algorithm(s) you used and the results you obtained.
Attendance: We expect students to attend all classes, and all tutorials. This is especially important because we will cover material in class that is not included in the textbook. Also, the tutorials will not only be for review and answering questions, but new material will also be covered.