Ali Ghodsi

Professor, University of Waterloo

[first name].[last name] [AT] uwaterloo.ca

Teaching

Fall 2026

STAT 841 / CM 763

Statistical Learning - Classification

An in-depth graduate course on the statistical foundations, computational methods, and modern advances underlying classification and pattern recognition.

Course at a glance

Overview

Course STAT 841 / CM 763
Term Fall 2026
Instructor Ali Ghodsi
Class meetings 4:00-5:20 p.m. (meeting days to be confirmed)
Location MC 4042

This page is the public home for the course topics, slide releases, and assignments. Enrollment-specific information, submissions, deadlines, and grades are maintained in Waterloo Learn.

Course support

Office Hours and Course Support

Instructor office hours

Ali Ghodsi

Wednesdays, 1–2 p.m.

M3 4009

Come to the instructor for: questions about course content or the final project.

Teaching assistant office hours

Assignment and coding support

Go to the TAs for: questions about assignments or coding.

Nafisat Ibrahim
Office hours
Fridays, 9–10 a.m.
Location
M3 2101
Jerry Zhen
Office hours
Thursdays, 1–2 p.m.
Location
M3 2101

From the course outline

Course details

Textbooks and references

There is no mandatory textbook. The following references cover substantial portions of the course:

  • The Elements of Statistical Learning, Trevor Hastie, Robert Tibshirani, and Jerome Friedman.
  • Pattern Recognition and Machine Learning, Christopher M. Bishop.
  • Machine Learning: A Probabilistic Perspective, Kevin P. Murphy.
Assessment and evaluation
Component Description Weight
Assignments Four individual assignments at 12.5% each 50%
Paper presentation Small-group presentation of a selected research paper 10%
Group final project Research or applied classification project 40%
Total — 100%
Tentative assessment dates
Assessment Release Due
Assignment 1 Monday, September 28 Monday, October 19, 11:59 p.m.
Assignment 2 Monday, October 19 Monday, November 9, 11:59 p.m.
Assignment 3 Monday, November 9 Monday, November 23, 11:59 p.m.
Assignment 4 Monday, November 23 Monday, December 7, 11:59 p.m.
Paper presentation Paper-selection process to be announced Scheduled presentation date
Group final project To be announced Monday, December 21, 11:59 p.m.

All dates are tentative and may change. Changes will be announced.

Latest updates

Announcements

Course site

Welcome to STAT 841 / CM 763

This page will be updated throughout the term. Slides and assignments will be posted below as they are released.

Communication

Use Piazza for course discussion

Questions about lectures and course content should be posted on Piazza so that answers are available to the class.

Course schedule

Tentative lecture schedule

Lecture topics and ordering are tentative and may be adjusted during the term.

Lecture Coverage Materials
Lecture 1 Course introduction; classification problems; hypothesis class, loss, and search; Bayes classifier and Bayes error Lecture 1 slides
Lecture 2 Gaussian classifiers; LDA and QDA; covariance assumptions and decision boundaries Lecture 2 slides
Lecture 3 Principal component analysis (PCA); variance-maximizing projections; Lagrange multipliers; covariance eigendecomposition and SVD; encoding and reconstruction Lecture 3 slides
Lecture 4 PCA versus supervised class separation; Fisher's linear discriminant analysis for two and multiple classes; within- and between-class scatter; generalized eigenvalue formulation Lecture 4 slides
Lecture 5 Logistic regression; binomial class probabilities; maximum likelihood; score and Hessian; Newton-Raphson and iteratively reweighted least squares (IRLS) Lecture 5 slides
Lecture 6 Neural-network history; perceptron model and learning; linear separability and convergence; feedforward and deep networks; backpropagation via the chain rule; gradient-descent weight updates and epochs Lecture 6 slides
Lecture 7 Model selection and complexity control; validation, cross-validation, regularization, and early stopping Coming soon
Lecture 8 Radial basis function networks; localized features, training, and least-squares estimation Coming soon
Lecture 9 Complexity control for RBF networks; regularization and selection of centres and bandwidths Coming soon
Lecture 10 Spectral clustering and nonlinear dimensionality reduction; Laplacian eigenmaps and maximum variance unfolding Coming soon
Lecture 11 Support vector machines; margins, hard-margin classification, and constrained optimization Coming soon
Lecture 12 Soft-margin SVMs; slack variables, kernels, and nonlinear decision boundaries Coming soon
Lecture 13 Metric learning; learned distances, embeddings, and supervised PCA Coming soon
Lecture 14 Naive Bayes and k-nearest neighbours; conditional independence and local classification Coming soon
Lecture 15 Convolutional neural networks; convolution, parameter sharing, equivariance, and pooling Coming soon
Lecture 16 Training deep convolutional networks; regularization, random features, residual networks, and modern architectures Coming soon
Lecture 17 Decision trees; recursive partitioning, splitting criteria, overfitting, and pruning Coming soon
Lecture 18 Boosting; weak learners, adaptive reweighting, and stage-wise additive models Coming soon
Lecture 19 Bagging, random forests, variance reduction, and ensemble comparison Coming soon
Lecture 20 Semi-supervised learning, selected emerging methods, and integration of the course's main ideas Coming soon

Class examples

Examples, Code & Data

Datasets, code, and notebooks used for demonstrations and examples are collected here independently of the lecture schedule.

Classification · Handwritten digits

Handwritten Digits 2 and 3

A 64 × 400 MATLAB matrix named X containing 400 vectorized 8 × 8 handwritten-digit images. Each column is one image: columns 1–200 are examples of the digit 2, and columns 201–400 are examples of the digit 3.

LDA and QDA · PCA and FDA · Logistic regression

Classification and Feature Extraction Demo

An interactive MATLAB demo reviewing LDA, QDA, PCA, FDA, and logistic regression using three synthetic classification datasets. It steps through feature extraction, decision boundaries, and model evaluation.

Coursework

Assignments

Due Monday, October 19, 2026, at 11:59 p.m. Toronto time

STAT 841 / CM 763 — Assignment 1: Statistical Learning — Classification

Individual assignment · 100 marks

View full instructions

Download the assignment PDF and the data ZIP linked above. Extract the data ZIP before starting Question 6 and keep the four CSV filenames unchanged. Read the assignment instructions carefully; the Deliverables box at the end of each question specifies exactly what to submit.

Submission instructions
  • Crowdmark: Upload your written solutions, tables, and figures to the corresponding assignment questions. Keep full code in your Learn submission.
  • Learn: Submit one ZIP file named WatIAM_A1.zip to the Assignment 1 Dropbox in Learn, replacing WatIAM with your Waterloo username. Include Q3.py, Q5.py, and Q6.py (or the corresponding .R or .m files), any required helper files, Q6_cv_results.csv, Q6_predictions.csv, and a short README giving run commands, software/dependencies, and random seeds.

Use Python, R, or MATLAB and follow the programming requirements in the assignment PDF.

Required Generative AI Use Survey

Generative AI use is permitted. After completing the assignment, open Learn and select Submit → Surveys → Assignment 1: Generative AI Use Survey. Everyone must complete the survey, including students who used no generative AI; in that case, answer No to all five questions. The survey is not anonymous so completion can be checked. Your survey responses do not affect your assignment grade. Open Learn.

Individual Verification of Understanding

You may be asked to complete a brief individual quiz or participate in an oral discussion about your assignment. This may include explaining your reasoning and solutions, answering related questions, or explaining and making small modifications to your submitted code. You must demonstrate your own understanding of all submitted work, including work developed with permitted generative AI assistance. These checks must be completed without generative AI or assistance from others. If you cannot demonstrate adequate understanding of your submitted work, your overall assignment mark may be reduced.

Late Submission Policy

Submissions received up to 24 hours after the deadline receive a 10% penalty. Submissions more than 24 hours late receive a grade of zero.

Course tools

Piazza & Waterloo Learn

Piazza

Use Piazza for announcements, lecture questions, clarifications, and class discussion.

Go to Piazza
Waterloo Learn (D2L)

Use Learn for graded work, submissions, private course documents, deadlines, and grades.

Open Waterloo Learn

Sign-in may be required. Students should use the course-specific links available in their enrolled Piazza and Learn accounts.

How the course runs

Course information

Course materials

Public slides are posted with the tentative topics. Additional or restricted materials are shared through Learn.

Assessment

Public assignment instructions are posted on this page. Submission links, feedback, and official grades are provided through Learn.

Questions

For assignment and coding questions, attend TA office hours. For course-content or final-project questions, attend instructor office hours. Use a private Learn message or email for personal matters.

Deadlines

Consult Learn and Piazza for authoritative dates, room information, schedule changes, and deadlines.