STA314: Statistical Methods for Machine Learning I

Overview

Machine learning (ML) is a set of techniques that allow computers to learn from data and past experience, rather than requiring humans to specify the desired behaviour by hand. ML has become increasingly central both in statistics as an academic discipline, and in the data science industry. This course provides a broad introduction to commonly used ML methods, as well as the key statistical concepts underlying ML. It serves as a foundation for more advanced courses, such as STA414 (Statistical Methods for Machine Learning II).

We will cover popular statistical methods for supervised and unsupervised learning from data as well as important concepts used in the field, including: training error, test error and cross-validation; classification, regression, and logistic regression; variable selection; penalized regression; principal components analysis; stochastic gradient descent; decision trees and random forests; k-means clustering and nearest neighbour methods. Computational tutorials will support effective application of these methods.



Annoucement

  • The grades of midterm one will be posted on Oct 10th. You can also find the solution key to midterm one on the course website.
  • No class on Sep 30th. We do have tutorials on that day.
  • The first midterm is on Wednesday, Sep 25th.
  • Both the second problem set (with solution) and the midterm of last year are out.


Course information

Course email and textbooks

Staff

Instructor email office office hours (OH) OH mode
Xin Bing xin.bing@utoronto.ca UY 9192 Mon, 12:45pm-2:45pm Zoom link

TAs

Section TA OH OH mode
LEC0101 Haochen Song Tue (5pm-6pm) Zoom link
  Xiaochuan Shi Mon (5pm-6pm) Zoom link
  Jorge Arturo Esquivel Fuente Tue (11am-12am) Zoom link
  Junhao Zhu Fri (9am-10am) in-person, SS621
LEC0201 Liam Welsh Thu (9am-10am) Zoom link
  Luis Sierra Muntané Tue (10am-11am) in-person, SS621
  Konstantinos Christopher Tsiolis Thu (4pm-5pm) Zoom link
  Rafael Alexander Valencia Sanchez Thu (12:30pm-1:30pm) Zoom link

Lectures

Section Time Location
LEC0101 Mon (10am-11am), Wed (11am-1pm) MP103
LEC0201 Mon (3pm-4pm), Wed (3pm-5pm) BR200

Tutorials

Section Session Time Location TA
LEC0101 101 Mon, 11am-12pm HA403 Haochen
  102   HS106 Xiaochuan
  103   MS3278 Arturo
  104   MS4279 Junhao
LEC0201 201 Mon, 4pm-5pm MS3278 Luis
  202   MS2173 Haochen
  203   MS4279 K.C.
  204   HS106 Alex


Grading scheme

  Date Time & Location Credit Content Solution
Quizzes NA During tutorials 5%    
Midterm one Sep 25 LEC0101: 11am-1pm, EX100
LEC0201: 3pm-5pm, EX100
25% Weeks 1-4 [sol-101.pdf]
[sol-201.pdf]
Midterm two Oct 23 LEC0101: 11am-1pm, EX200
LEC0201: 3pm-5pm, EX100
25% Weeks 1-7 [solution.pdf]
Final exam Dec 14 ALL (A - WANG,J): 9am-11am, MS 2158
ALL (WANG,R - ZZ): 9am-11am, MS 3154
Regular Deferred: 9am-11am, MS 3154
25% Weeks 1-12  
Course project Sep 26, 11:59pm Group sign-up: by Nov 8, 11:59pm, Quercus
Prediction submission: by Dec 6, 11:59pm, Kaggle
Report due: Dec 8, 11:59pm, Quercus
20% [Documentation]
[Report outline]
 


Practical problem sets

  File Solution
Problem set 1 [Problem set 1] [Sol:Q1-Q4], [Sol:Q5]
Problem set 2 [Problem set 2] [Sol:Q1], [Sol:Q2-Q4]
Midterm 23Fall [Midterm 23Fall] Not available
Problem set 3 [Problem set 3] [Sol:Q1-Q3], [Sol:Q4Q5]
Problem set 4 [Problem set 4], [Q2_starter.zip], [Q3_starter.zip] [Sol-derivation], [Sol-coding]
Final 23Fall [Final 23Fall] [Final 23Fall_sol]


Lectures

This is a preliminary schedule; it may change throughout the term.

Week Dates Lecture Topic Lecture Slides Suggested Readings
1 Wed, Sep 4 Course logistics
Introduction to Statistical Learning
The bias-variance tradeoff
[Lec00.pdf],[Lec01.pdf] ISL 1, 2.1 - 2.3
2 Mon, Sep 9 Linear regression [Lec02.pdf] [Linear algebra & Probability]
ISL 3.1, 3.2, 3.3, 3.6
    Tutorial 1 (linear regression) [Notes], [R code], [Python code] ISL 3.6
  Wed, Sep 11 Cross-validation
Model selection under linear models
[Lec03.pdf] ISL 5.1, 6.1.1, 6.1.2, 6.1.3
ESL 7.10
3 Mon, Sep 16 Shringkage regression [Lec04.pdf] ISL 6.2, 6.4
ESL 7.10
    Tutorial 2 (cv, subset selection) [Notes], [R code], [Python code] ISL 5.3.1-5.3.3, 6.5.1
  Wed, Sep 18 Move beyond linearity [Lec05.pdf] ISL 7.1-7.4, 7.6, 7.7
4 Mon, Sep 23 Introduction to classification [Lec06.pdf] ISL 4.1, 4.2
    Tutorial 3 (Shrinkage regression) [Notes], [R code], [Python code] ISL 6.5.2
  Wed, Sep 25 Midterm one    
5 Mon, Sep 30 No class    
    Tutorial 4 (Move beyond linearity) [R code], [Python code] ISL 7.8
  Wed, Oct 2 Review of midterm one    
6 Mon, Oct 7 Logistic regression [Lec07.pdf] ISL 4.3, 4.4
ESL 4.3, 4.4
    Tutorial 5 (Problem set 3, LR) [Notes], [R code], [Python code] ISL 4.7
  Wed, Oct 9 Gradient descent [Lec08-GD.pdf] PRML 4.1, 4.3
ConvOpt 2.1-2.3, 3.1, 3.2, 4.1, 4.2
7 Mon, Oct 14 Thanksgiving, no class / tutorial    
  Wed, Oct 16 Multi-class logistic regression
Discriminant analysis
[Lec09-LR.pdf], [Lec09-DA.pdf] ISL 4.3-4.4, 9.1-9.5
ESL 4.3-4.4, 12.1, 12.2
8 Mon, Oct 21 No class    
    Tutorial 6 (Review on MLE and GD) [Notes]  
  Wed, Oct 23 Midterm two    
9 Mon, Nov 4 No class / tutorial    
  Wed, Nov 6 Discriminant analysis
Support vector machine
[Lec09-DA.pdf], [Lec10-SVM.pdf] ISL 4.3-4.4
ESL 4.3-4.4
[Dual formulation and kernel trick]
10 Mon, Nov 11 No class    
    Tutorial 7 (Review on DA) [Notes], [R code] ISL 8.3, 9.6
  Wed, Nov 13 Decision tree [Lec10-SVM.pdf], [Lec11-DT.pdf] ISL 9
ESL 12.1-12.3
11 Mon, Nov 18 No class / tutorial    
  Wed, Nov 20 Decision tree (cont’d) [Lec11-DT.pdf] ISL 8.1
ESL 9.2
12 Mon, Nov 25 No class    
    Tutorial (Kernel tricks) [Notes] ISL 9
ESL 12.1-12.3
  Wed, Nov 27 Bootstrap, bagging
random forest, boosting
[Lec12-ET.pdf] ISL 5.2, 5.3.4, 8.2
ESL 7.11, 8.7, 10.1, 15
[Gradient boosting machine],
[R code on tree-based algorithms]