CS 445: Machine Learning
Instructor:
Karl Stratos
TA: TBD
Time and location: Tuesday and Thursday 3:204: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 inclass 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.
Goals.
 Understanding the goals, capabilities, and principles of machine learning
 Acquiring mathematical tools to formalize machine learning problems
 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).
Grading.
 Assignments: 50%
 Midterm (inclass and open book): 20%
 Final (inclass and open book): 20%
 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.
 Pattern Recognition and Machine Learning (Bishop, 2006)
 Foundations of Machine Learning (Mohri, Rostamizadeh, and Talwalkarby, 2018)
 Deep Learning (Goodfellow, Bengio, and Courville, 2016)
 Understanding Machine Learning: From Theory to Algorithms (ShalevShwartz and BenDavid, 2014)