Course Information

Description: An introductory course offers a broad overview of the main techniques in machine learning. Students will study the theory, algorithms and implementations for machine learning. Topics covered include supervised learning (decision trees, naive Bayes and regression, boosting, SVM, perceptron), learning theory (bias/variance tradeoffs; PAC learning, and VC theory); probabilistic graphical model; unsupervised learning (dimensionality reduction, clustering, EM algorithms); deep neural networks and reinforcement learning.

Lectures: Monday/Wednesday 8:45-10:00, Location: Room 241,Rauch Business Center.

Office Hours: Sandbox in Packard Lab

Prerequisites: For CSE 326: (CSE 002 or CSE 012) and (Math 205 or Math 43) and (Math 231 or ISE 121 or ECO 045).
We will use Python as the only language for implementation assignments. You can check this out for a background assessment.

Formats: 1 take-home mid-term and 1 final exam, 7 homeworks, and 4 coding projects (with different levels of difficulty for 326/426).

Submission: All homeworks and projects must be submitted to Coursesite. Homeworks need to be in PDF format prepared by Word/Latex/Page, or scanning of your writtings. Latex is highly recommended and here is a comprehensive (table, images, equations, paragraphs and sections) and yet short tutorial on Latex. Word and Page also support typing equations, but can be a bit awkward.

Grading: Mid-term (15%), homework (30%), coding projects (30%), final (25%). Late submissions will be penalized 20% of the total grades per late day (fraction of a day will be rounded up to one day) and no assignment will be accepted more than four days after its due date.


PRML= Pattern Recognition and Machine Learning, Christopher M. Bishop, Springer, 2011 (required).

UML= Understanding Machine Learning: From Theory to Algorithms, Shai Shalev-Shwartz and Shai Ben-David, 1st Edition, Cambridge University Press, 2014 (required). eBook.

ML= Machine Learning: A Probabilistic Perspective, Kevin P. Murphy, MIT Press, 2012 (optional). eBook.

RL= Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto, Second Edition, MIT Press, 2017 (optional). eBook.

Online Resources

Coursesite: assignments and grades posting Link.

Piazza: question answering Link.

This website: general course information.



Description: There are four programming projects (3 individual projects and one team project). Each student needs to implement the projects using Python to get full credit. For individual projects, no machine learning packages (such as Tensorflow and Sklearn) will be allowed, although you can use more fundamental packages for plotting (matplotlib), data representations and operations (numpy, scipy, networkx). The focus here is sufficient deep understanding of the models and algorithms rather than experience running machine learning models. For group project, depending on the nature of the project, you may use off-the-shelf softwares to expedite your exploration (per permission of the instructor). Sharing and copying solutions are considered as a violation of honor code. This includes but not limited to sharing codes through any kind of media (including repositories on Github/Bitbucket), copying solutions from online forums/repositories/blogs, textbook solution manuals and previous years' submissions.


Statement on Academic Integrity

All homework, project and exam submissions should be your own work, by the following definitions: If you have doubt about where the line is, consult with the instructor for clarification.

The Principles of Our Equitable Community