Location: | McConnell Engineering Building, Room 320. |
Times: | Tuesday and Thursday, 10:00-11:30am. |
Instructor: | Professor Doina Precup, School of Computer Science. |
Office: | McConnell 326. |
Phone: | 398-6443. |
Email: | dprecup@cs.mcgill.ca |
Office hours:
|
Tuesday & Thursday, 11:30-12:00;
Wednesday, 2:00-3:00pm. Meetings at other times by appointment only! IMPORTANT: Email is the easiest way to reach me! |
Class web page: | http://www.cs.mcgill.ca/~dprecup/courses/Fall2001/ml.html
IMPORTANT: This is where class notes, announcements and homeworks are posted! |
The field of machine learning is concerned with the question of how to construct computer programs that automatically improve with experience. In recent years, many successful applications of machine learning have been developed, ranging from data-mining 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 state-of-art algorithms used in machine learning. We will discuss both the theoretical properties of these algorithms and their practical applications.
The assignments will include both written work and implementations. The implementation work will involve programming of algorithms that we discuss in class and reporting results produced by these algorithms. The ability to program in a high-level language, such as C/C++, Java, LISP, Matlab, under the UNIX operating system is assumed but the use of these languages is not mandatory. You may use any programming language, as long as you can demonstrate that your implementation is correct. The written work will involve solving problems related to the theoretical part of the course, and explaining the results of your implementations. During the course we will also use programs written by other machine learning researchers. Instructions regarding how to use these programs will be provided as needed.
The reading assignments will involve summarizing and/or critiquing research papers in the field. You are also expected to actively participate in class discussions, and the participation is part of your grade for the reading assignment. When reading the book and other papers, always think about questions that you may have, and bring them to class.
The final project will involve choosing a topic, either from a list of suggestions that will be provided or based on your own interests. You will be required to read papers related to the topic, implement or find available implementations of the algorithms discussed, and perform experimental work comparing these algorithms. By October 11, you will have to hand in a short write-up of your intended work (details will be provided later). At the end of the semester, you will write a final report and you will prepare a 25-minute class presentation of the topic you investigated. The presentation will be evaluated by all the people present.
Reading assignments are due in class. If you cannot come to class, please contact me to make different arrangements for submitting the assignment.
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).