\(~\)

Welcome to the website for Sta-395, Introduction to Machine Learning! To begin, you can find the course syllabus linked below:

You can locate course content by scrolling, or by using the navigation bar in the upper-left.

Course Materials

Most class meetings involve both lecture and lab components. Topics are organized into units, which can be found below. Assignment submissions should be made via P-web following the instructions that are provided. Labs are generally due on Fridays at midnight, while homework is due at the start of the class session when we begin the next unit.

\(~\)

Unit #1

Overview, Introductory Python, and Unsupervised Learning:

Date Lecture Lab
1/23 Introduction and k-means Lab 1 - Python Foundations and k-means
1/25 Continue Lab 1
1/30 Hierarchical clustering and DBSCAN Lab 2 - More Clustering
2/1 Principal Components (guest lecture) Lab 3 - Principal Components

Assignments:

  • Introduction to Python and \(k\)-means clustering lab (Lab 1) is due Friday 1/26 at 11:59pm
    • Please submit a Jupyter Notebook via P-web containing all code and written responses
  • The clustering and outlier detection lab (Lab 2), as well as the principal components lab (Lab 3) are due Friday 2/2 at 11:59pm
    • Please submit a Jupyter Notebook via P-web containing all code and written responses
  • Homework 1 due Thursday 2/8 at 1:00pm
    • Please submit a Jupyter Notebook via P-web containing all code and written responses

\(~\)

Unit #2

Machine Learning Workflow and Classical Models:

Date Lecture Lab
2/6 Training, Validation, and KNN Lab 4 - Workflow and pipelines
2/8 Continue Lab 4
2/13 Cross-validation Lab 5 - Cross-validation
2/15 Classifier Performance Lab 6 - Classifier Performance
2/20 Decision Trees Lab 7 - Decision Trees
2/22 Support Vector Machines Lab 8 - SVMs
2/27 Finish labs 7 and 8

Assignments:

  • Lab 4 is due on Tuesday 2/13 at 11:59pm
  • Labs 5 and 6 are due on Tuesday 2/20 Thursday 2/22 at 11:59pm
  • Labs 7 and 8 are due on Friday 2/23 Tuesday 2/27 at 11:59pm
  • Homework 2 due Tuesday 2/27 Thursday 2/29 at 1pm
    • Please submit a Jupyter Notebook via P-web containing all code and written responses

\(~\)

Unit #3

Ensembles:

Date Lecture Lab
2/29 Random Forests Lab 9 - Ensembles and Stacking
3/5 Boosting Lab 10 - XGBoost
3/7 Lab 11 - Feature Engineering
  • Labs 9 and 10 are due Friday 3/8 at 11:59pm
  • Lab 11 is due Friday 3/15 at 11:59pm
  • Homework 3 is due Tuesday 4/2 at 11:59pm
  • Project groups are due Monday 3/11 at 11:59pm (share via email)

\(~\)

Unit #4

Structured Models and the Mathematics of “Learning”:

Date Lecture Lab
3/14 Linear Algebra and Calculus Review (optional)
4/2 Linear Regression and Gradient Descent Algorithms Lab 12 - Linear Regression and Gradient Descent
4/4 Logistic and Softmax Regression Lab 13 - Logistic Regression and Stochastic Gradient Descent
4/9 Regularization and Regression Lab 14 - Lasso, Ridge, and Elastic Net
4/11 Artificial Neural Networks
4/16 Review/catch up
4/18 Exam Exam
  • The optional lab (linear and algebra and calculus review) is due Tuesday 4/2
  • Labs 12 and 13 are due Tuesday 4/9 at 11:59pm
  • Lab 14 is due Friday 4/12 at 11:59pm
  • Homework 4 is due Wednesday 4/17 at 11:59pm
  • Study materials for the midterm exam can be found below:

\(~\)

Unit #5

Introduction to Deep Learning:

Date Lecture Lab
4/23 Lab 15 - Introduction to PyTorch
4/25 Convolutional Neural Networks Lab 16 - CNNs in PyTorch
4/30 Transfer Learning using PyTorch
5/2 Reccurent Neural Networks RNNs in PyTorch
5/7 Presentations (part 1)
5/9 Presentations (part 2)
  • There will be no homework assignment during this unit so that you can prioritize working on the project outside of class
    • Due to scheduling constraints, we will not be having project briefings on 4/25 and you’ll be asked to share a short update via email instead
      • Please include a Jupyter notebook and a brief written explanation of your progress in your update
  • All labs from Unit 5 are due Friday 5/10 at 11:59pm

Final Project

Below is the assignment page describing the final project:

\(~\)