Overview

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: Mathematics References:
    • 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.

Staff

Yuan Yuan
Instructor
Thursdays, 1:30–3:30 PM
Room 528E, 245 Beacon St.
Stephen Jones
Teaching Assistant
Wednesdays, 1:00–3:00 PM
CS Lab

Tentative Schedule

The schedule may change to support student learning. Materials will be posted on Canvas.

DateMtg.Topic and activityMilestones
Tue Sep 11Introduction to machine learning and the ML workflow
Thu Sep 32Data, notation, and train/validation/test splits
Tue Sep 83Linear regression and Ridge regularizationHW 1 released
Thu Sep 10No class: Mass of the Holy Spirit; classes canceled 12:00–1:15 PM
Tue Sep 154Gradient-based optimization
Thu Sep 175Logistic regression and thresholdingQuiz 1
Sun Sep 20HW 1: Linear Regression and OptimizationDue 11:59 PM
Tue Sep 226Feature engineering I: polynomial featuresHW 2 released Sep 21
Thu Sep 247Feature engineering II: overfitting and validation
Tue Sep 298k-nearest neighborsQuiz 2
Project idea mixer
Thu Oct 19Decision trees
Sun Oct 4HW 2: Logistic Regression and GeneralizationDue 11:59 PM
Tue Oct 610Maximum likelihood estimationHW 3 released Oct 5
Thu Oct 811MLE applications and introduction to MAPTeams formed
Sun Oct 11HW 3: KNN, Trees, and Feature EngineeringDue 11:59 PM
Tue Oct 13No class: substitute Monday class schedule
Thu Oct 1512Maximum a posteriori estimationQuiz 3
HW 4 released Oct 12
Tue Oct 2013Generalization and bias–varianceProject proposal due
Thu Oct 2214Evaluation metrics and imbalanced learning
Tue Oct 2715Support vector machines and kernels
Thu Oct 2916Neural networksQuiz 4
Sun Nov 1HW 4: Probabilistic Models and KernelsDue 11:59 PM
Tue Nov 317Multilayer perceptrons and backpropagationHW 5 released Nov 2
Thu Nov 518CNNs and image applications
Tue Nov 1019PyTorch and neural-network trainingProject checkpoint due
Thu Nov 1220Clustering: k-means, Gaussian mixtures, and EMQuiz 5
Sun Nov 15HW 5: Neural Networks and BackpropagationDue 11:59 PM
Tue Nov 1721PCA, autoencoders, and VAEsHW 6 released Nov 16
Thu Nov 1922Reinforcement Learning: MDPs and Value Functions
Tue Nov 2423Reinforcement Learning: MDPs and Value Functions
Thu Nov 26No class: Thanksgiving Holiday
Tue Dec 124Reinforcement Learning: Q-Learning and Deep RL
Thu Dec 325Reinforcement Learning: Q-Learning and Deep RLQuiz 6
Fri Dec 4HW 6: Unsupervised and Sequential LearningDue 11:59 PM
Tue Dec 826Project presentations IPresentations
Thu Dec 1027Project presentations IIPresentations
Wed Dec 16Final project packageDue 11:59 PM

Assessment

ComponentWeightPurpose
Six individual homework/lab assignments20%Derivations, implementation, and empirical analysis
Six individual in-class quizzes (best five)40%Conceptual, mathematical, and applied mastery
Team project40%End-to-end investigation, individual understanding, and communication

There is no midterm or final exam, and attendance is not graded. Six announced, closed-book quizzes are normally given at the beginning of class and last approximately 20 minutes; the lowest score is dropped.

Students normally work in teams of three on an end-to-end project with a proposal, reproducible baseline/checkpoint, code and report, presentation, individual technical defense, and contribution statement. A different team size requires instructor approval. Strong projects use a precise question, a defensible evaluation plan, controlled comparisons, error analysis, uncertainty where appropriate, and reproducible instructions.

Course Information

Homework and late work

Homework mixes short written questions with Python implementation and analysis. Some functions must be implemented from scratch; other parts intentionally use scikit-learn. Each assignment states permitted libraries and AI mode. Students receive four 24-hour slip days for individual homework, with no more than two used on one assignment. Canvas contains the exact submission instructions and current deadlines.

Collaboration and academic integrity

Students may discuss concepts and high-level approaches, but homework code and written answers must be produced individually unless an assignment explicitly says otherwise. Do not exchange code, equations, written solutions, screenshots, or autograder output. List collaborators and outside sources on every submission. Project teammates may share work within their team.

Generative AI: consulting is allowed; authorship is not

Assignments use three explicit modes: Foundation (AI-free core work), Consulting (documented explanation, testing, or debugging help after an initial attempt), and Audit (AI use is required, then critically tested and revised). Students remain responsible for every submitted line and claim and must be able to explain their work. AI tools are not permitted during quizzes.

Accessibility, inclusion, and support

Students seeking disability accommodations should contact the appropriate Boston College accessibility office as early as possible and share approved accommodation information with the instructor. Please also contact the instructor early about religious observances, approved university activities, documented illness, or circumstances that affect participation. See University Counseling Services for confidential support.

Getting help

Use office hours for conceptual questions, derivations, debugging strategy, project design, and feedback on experimental reasoning. Course questions whose answers would benefit everyone should be posted through the class discussion channel on Canvas. Email staff for private matters.