COMPSCI 589: Machine Learning, Fall 2018
Course Number: COMPSCI 589
Instructor: Brendan O'Connor
Teaching Assistants: Russell Lee (Head TA), Chetan Manjesh, Albert Williams
Location: Engineering Lab II Room 119 (Note ELab II is the silver building)
Time: MW 2:30-3:45
Instructor office hours: MW 3:45-4:45, either in classroom or CS 348
Link to Piazza: contains schedule, assignments, etc.
Course Description: This course will introduce core machine learning models and algorithms for classification, regression, clustering, and dimensionality reduction. On the theory side, the course will focus on understanding models and the relationships between them. On the applied side, the course will focus on effectively using machine learning methods to solve real-world problems with an emphasis on model selection, regularization, design of experiments, and presentation and interpretation of results.
Override questions: If you'd like to take this course but cannot register, please submit an override request through the online system. Above all, please describe your background in linear algebra, probability theory, and multivariate calculus. Please list any courses you've taken either in those topics, or using those topics or any other relevant training or experience you might have. Typically we have strong interest in this course, so we unfortunately can't guarantee everyone will be able to take it.
Textbooks: The course readings will primarily be based on two open textbooks:
Required Background: This course requires appropriate mathematical background in probability and statistics, calculus, and linear algebra. The official prerequisites for undergrads are CS 383 and MATH 235 (CS 240 provides sufficient background in probability and MATH 131/132 provide sufficient background in calculus).
Graduate students can check the descriptions for these courses to verify that they have sufficient mathematical background for 589. The course will also use Python as a programming language including the numpy, scipy, and scikit-learn. Some familiarity with Python will be helpful, but senior CS students should be able to learn Python during the course if needed. Graduate students from outside computer science with sufficient background are also welcome to take the course.
The following references can provide a useful review:
More specific topics to be comfortable with, for this course:
What is the difference between CS 589 and CS 689?: 589 has been designed to focus on understanding and applying core machine learning models and algorithms, while 689 focuses on the mathematical foundations of machine learning. Both courses require a background in multivariate calculus, linear algebra, and probability, but 689 is more theoretically focused and will use more of this background material than 589. In particular, 589 will not focus on deriving learning or optimization algorithms.
Should I take CS 589 or CS 689?: 589 is appropriate as an introductory machine learning course for senior undergraduate students, masters students, and MS/PhD students interested in applying machine learning in their research. Note that 589 can count for credit for MS/PhD students, but it does not satisfy an AI core requirement. Graduate students who intend to pursue research in machine learning or who need a course to satisfy the AI core requirement should take 689.
There will be 3 late days (24 hour periods after the due date).
Some examples of the policy:
We follow the university’s Academic Honesty Policy and Procedures.
If you have questions about a particular situation, please ask.