CSCI 3345 introduces the principles, algorithms, and practice of machine learning. The course covers supervised, unsupervised, and reinforcement learning, with an emphasis on understanding model assumptions and objectives, implementing core algorithms, and evaluating learning systems using appropriate data splits and metrics.
Topics include linear and probabilistic models, feature engineering, regularization, neural networks, CNNs, support vector machines and kernels, clustering, PCA, autoencoders and VAEs, reinforcement learning, nearest neighbors, and decision trees. Through mathematical exercises, hands-on Python assignments, and a team project, students learn to formulate learning problems, fit and compare models, analyze errors, and communicate results and limitations.
- Learning Objectives:
After completing the course, students should be able to:- Formulate a well-posed machine-learning problem by identifying the inputs, outputs, objective, baseline, data splits, and evaluation metrics.
- Implement and analyze core learning algorithms for regression, classification, clustering, dimensionality reduction, and introductory sequential decision-making.
- Compare supervised, unsupervised, and reinforcement-learning paradigms and explain the inductive biases of major model families.
- Integrate data preparation, model fitting, regularization, model selection, and evaluation into an end-to-end machine-learning workflow without data leakage.
- Use probability, linear algebra, multivariable calculus, and optimization to derive and interpret core machine-learning methods.
- Design reproducible experiments on real and synthetic data, analyze errors and uncertainty, and communicate results and limitations clearly.
- Prerequisites:
- Courses: (CSCI 2244 or MATH 4426) and CSCI 1102.
- Programming: Familiarity with algorithms, data structures, functions, classes, and basic numerical programming. We use Python, NumPy, pandas, matplotlib, and scikit-learn throughout the course. Python/NumPy tutorial.
- Mathematics: Vectors, matrices, matrix multiplication, derivatives, partial derivatives, gradients, and the chain rule.
- Probability: Random variables, common distributions, conditional probability, expectation, variance, and Bayes' rule.
- Lecture:
Lectures meet on Tuesdays and Thursdays from 12:00 PM to 1:15 PM in 245 Beacon Street, Room 214. - Textbooks and Materials:
There is no required textbook for the course. Lecture notes and selected readings will be posted on Canvas. The following books and online resources may be useful as references on relevant topics:- Introduction to Machine Learning, Fourth Edition, Ethem Alpaydın, MIT Press, 2020.
- Deep Learning, Ian Goodfellow, Yoshua Bengio, and Aaron Courville, MIT Press, 2016.
- Probabilistic Machine Learning: An Introduction, Kevin P. Murphy, MIT Press, 2022.
- Dive into Deep Learning, Aston Zhang, Zachary C. Lipton, Mu Li, and Alexander J. Smola, Cambridge University Press, 2023.
- The Matrix Cookbook, Kaare Brandt Petersen and Michael Syskind Pedersen—a concise reference for matrix identities and multivariate distributions.
- Mathematics for Machine Learning, Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong, Cambridge University Press, 2020.
Acknowledgements: Course materials draw on selected open educational resources from several machine-learning courses and textbooks. Specific sources are acknowledged in the relevant lecture materials.