CS 445: Machine Learning

Instructor: Karl Stratos
Time and location: Tuesday and Thursday 3:20-4:40pm at BE 250
Instructor office hours: TBD

Course description. This course is a rigorous introduction to machine learning aimed at advanced undergraduate students in computer science, mathematics, and statistics. Machine learning is a vast field that requires years of hard work to master. The course is designed to provide a solid starting point by focusing on timeless technical foundations. It will be driven by written/programming assignments and exams along with in-class lectures and readings. There is no required textbook: all materials are publicly available online resources.

We will use a Canvas site to ask questions regarding lectures/homeworks/projects, to submit assignments, and to find announcements.

  1. Understanding the goals, capabilities, and principles of machine learning
  2. Acquiring mathematical tools to formalize machine learning problems
  3. Acquiring implementation skills to build practical machine learning systems
Audience and prerequisites. No previous exposure to machine learning is assumed. However, this is a highly technical course and will require a certain level of mathematical maturity. It will be most beneficial for students with some programming experience and familiarity with basic concepts in probability and statistics, calculus, and linear algebra. Examples of such concepts include
  • Random variables (continuous or discrete), expectation, mean/variance
  • Matrix and vector operations
  • Derivatives, partial derivatives, gradients
  • Programming (in Python): familiarity with data structures and algorithms
More specifically, prerequisites are as follows:
  • Required: M250 (linear algebra), 112 (data structures), 206 (discrete II)
  • Recommended: M251 (multivariable calculus)
  • Alternatives to 206: S379 (basic probability theory), or instructor's permission
We will provide a way to better gauge whether your background meets the prerequisites (either the initial assignment or an entrance exam).

  1. Assignments: 50%
  2. Midterm (in-class and open book): 20%
  3. Final (in-class and open book): 20%
  4. Participation: 10%
The assignment report must be written in LaTeX using the provided assignment report template. If you have never used LaTeX before, you can pick it up quickly (tutorial, style guide).

Tentative plan.
Date Topics Readings Assignments
Week 1A (Sep 1)
Week 1B (Sep 3)
Week 2A (Sep 8)
Week 2B (Sep 10)
Week 3A (Sep 15)
Week 3B (Sep 17)
Week 4A (Sep 22)
Week 4B (Sep 24)
Week 5A (Sep 29)
Week 5B (Oct 1)
Week 6A (Oct 6)
Week 6B (Oct 8)
Week 7A (Oct 13)
Week 7B (Oct 15)
Week 8A (Oct 20)
Week 8B (Oct 22)
Week 9A (Oct 27)
Week 9B (Oct 29)
Week 10A (Nov 3)
Week 10B (Nov 5)
Week 11A (Nov 10)
Week 11B (Nov 12)
Week 12A (Nov 17)
Week 12B (Nov 19)
Week 13A (Nov 24)
Thanksgiving Recess
Week 14A (Dec 1)
Week 14B (Dec 3)
Week 15A (Dec 8)
Week 15B (Dec 10)
Final (Dec 15)

Online textbooks.
  1. Pattern Recognition and Machine Learning (Bishop, 2006)
  2. Foundations of Machine Learning (Mohri, Rostamizadeh, and Talwalkarby, 2018)
  3. Deep Learning (Goodfellow, Bengio, and Courville, 2016)
  4. Understanding Machine Learning: From Theory to Algorithms (Shalev-Shwartz and Ben-David, 2014)