Published using Google Docs
Machine Learning, Fall 2021
Updated automatically every 5 minutes

Machine Learning, Fall 2021

Schedule

Syllabus

Slides

Videos

Policies

Time/Location: Tue/Thu  11:00am-12:15pm in CAS B12 (section A1); 12:30pm-1:45pm in CAS 313 (section B2)

Course Number: CS 542

Instructors: 

Prof. Kate Saenko (saenko@bu.edu) office hours: Mon/Th 3:00-4:00pm in MCS-200

Prof. Bryan Plummer (bplum@bu.edu) office hours: Mon/Th 9:00-10:00am in MCS-206

Teaching Fellows: 

         Hatice Kubra Eryilmaz (eryilmaz@bu.edu ) office hours: Wed 12:00-1:00pm in the EMA student lounge

        Diala Lteif (dlteif@bu.edu) office hours: Wed 5:00-6:00pm in the EMA student lounge

Siqi Wang (siqiwang@bu.edu) office hours: Tue 7:30-8:30pm on zoom (info on Piazza)

Graders: Ximeng Sun, Dina Bashkirova, Stan (Sha) Lai, Peter (Zilu) Tang, Fangrui Huang, Nan Zhou

Labs:

Wed  10:00am on Zoom  (info on Piazza) 8:00am (KCB 103); 9:05am (EPC 203); 10:10am (MCS B31); 11:15am (CAS 237); 12:20pm (CAS 235); 1:25pm (CAS 222); 3:25pm (CAS 208)

Piazza:   https://piazza.com/bu/fall2021/cs542  Please use Piazza, not email, for all questions, including grading or missing class etc. (use the private message to Instructors for such requests)

Who should take this class?

If you are a PhD, Master’s or upper-class undergrad interested in doing research in machine learning, this class is for you! It is a math- and programming-intensive class geared primarily towards graduate students in CS/EE. If you are not comfortable with the prerequisites, please DO NOT take this class and consider these alternatives instead.

SCHEDULE*

Lectures will be recorded and posted later that day on piazza, slides will be available before class/lab at this link

Topic

Details

Assignments

Thu Sep 2

Introduction

what is machine learning? types of learning; features; hypothesis; cost function; regression, linear hypothesis, SSD cost; course information

ps0 (self-test of prerequisites) on Piazza

Tue Sep 7

Preliminaries

review of expected mathematical skills for the course; Useful references on matrix calculus 

Wed Sep 8

LAB0: Probability and Math Review

Thu Sep 9

Supervised Learning I: Regression

gradient descent; normal equations; maximum likelihood; Reading: Bishop 1.2-1.2.4,3.1-3.1.1

ps0 due (5pm)

submit solution

ps1 out

Tue Sep 14

Supervised Learning II: Classification

classification; sigmoid function; logistic regression. Reading: 4.3.1-4.3.2; 4.3.4

overview of logistic regression

Wed Sep 15

LAB1: ps1

Thu Sep 16

Supervised Learning III: Regularization

more logistic regression, nonlinear features, regularization; bias-variance Reading: Bishop 3.1, 3.2

ps1 due (5pm)

ps2 out

Tue Sep 21

Unsupervised Learning I: Clustering

clustering, k-means, Gaussian mixtures. Reading: Bishop 9.1-9.2

ps0 self-grading due

submit grade

Wed Sep 22

LAB2: ps2

Thu Sep 23

Unsupervised Learning II: PCA

dimensionality reduction, PCA. Reading: Bishop 12.1

ps2 due (5pm)

ps3 out

Tue Sep 28

Neural Networks I: Feed-forward Nets

artificial neuron, MLP, sigmoid units; neuroscience inspiration; output vs hidden layers; linear vs nonlinear networks; feed-forward neural networks; Reading: Bishop Ch 5.1-5.3

ps1 self-grading due

Wed Sep 29

LAB3: ps3

Thu Sep 30

Neural Networks II: Learning

learning via gradient descent; computation graphs, backpropagation algorithm. Reading: Computing Neural Network Gradients 

ps3 due (5pm)

ps4 out

Tue Oct 5

Neural Networks III: Convolutional Nets

Convolutional networks. Reading: Bishop Ch 5.5; Goodfellow et al Ch. 9. (optional)

ps2 self-grading due

Wed Oct 6

LAB4: ps4

Thu Oct 7

Midterm Review

DROP DATE

ps4 due (5pm)

Tue Oct 12

NO CLASS (Monday schedule)

ps3 self-grading due

Wed Oct 13

LAB5: Midterm review

Thu Oct 14

Midterm

(closed book, no electronics, you may bring a single 8“x11” sheet of paper with typed or handwritten notes on both sides)

covers everything up to and including Neural Networks IV; expect questions on material covered in lectures, problem sets, LABs and assigned reading

Midterm Practice Problems

Tue Oct 19

Probabilistic Models I: LDA

generalized linear models; generative vs discriminative models; linear discriminant analysis (LDA); Reading: Bishop Ch 4.2

ps4 self-grading due

Wed Oct 20

LAB6: ps5

Thu Oct 21

Probabilistic Models II: Bayesian Methods

priors over parameters; Bayesian linear regression;

Reading: Bishop Ch 1.2, 2.3, 3.3

ps5 out

Tue Oct 26

Support Vector Machines I

maximum margin methods; support vector machines; primal vs dual SVM formulation; Hinge loss vs. cross-entropy loss; Reading: Bishop Ch 7.1.1-7.1.2

Wed Oct 27

LAB7: ps5

Thu Oct 28

Support Vector Machines II

non-separable data; slack variables;kernels; multiclass SVM; Reading: Bishop Ch 6.0-6.2, Ch 7.1.3

Mon Nov 1 ps5 due (5pm)

ps6 out

Tue Nov 2

Reinforcement Learning I

reinforcement learning; Markov Decision Process (MDP); policies, value functions, Q-learning

Wed Nov 3

LAB8: ps6

Thu Nov 4

Reinforcement Learning II

Q-learning cont’d; deep Q-learning (DQN)

Mon Nov 8 ps6 due (5pm)

ps7 out

Tue Nov 9

Ensembles, Decision Trees, Random Forest

ensembling, bagging, decision tree, random forest; intro to the challenge problem

Wed Nov 10

LAB9: ps7

Thu Nov 11

Practical Advice for Applying ML I

Machine learning system design; feature engineering; cross-validation; feature pre-processing; learning with large datasets

Mon Nov 15 ps7 due (5pm)

ps5 self-grading due

challenge starts

Tue Nov 16

Practical Advice for Applying ML II

SGD and mini-batch GD; metrics (accuracy, F1 score, RMSE, etc.); dataset bias; data augmentation

Wed Nov 17

LAB10: Challenge

Thu Nov 18

Unsupervised Learning III: Generative Adversarial Networks (GANs)

Implicit generative models; adversarial methods; Generative Adversarial Nets (GANs); Reading: Goodfellow et al. NIPS 2014

ps6 self-grading due

Mon Nov 22 initial challenge submission due  (5pm)

Tue Nov 23

Applications I: On Device Machine Learning

network/feature quantization; parameter pruning; knowledge distillation; neural architecture search

Wed Nov 24

NO CLASS- THANKSGIVING

Thu Nov 25

NO CLASS- THANKSGIVING

Tue Nov 30

Applications II: Semantic Image Segmentation

guest lecture by Ping Hu

ps7 self-grading due

Wed Dec 1

LAB11: Challenge

Thu Dec 2

Applications III: Reinforcement Learning

guest lecture by Sid Mysore

challenge deadline (5pm)

Tue Dec 7

Applications IV: Machine Learning Ethics

Ethics in ML; population bias in machine learning, fairness, transparency, accountability; de-biasing image captioning models

Wed Dec 8

LAB12: Challenge Discussion | Final Review

submit a course evaluation at

bu.campuslabs.com/courseeval

Thu Dec 9

Final Review

Wed Dec 15 6-8pm

Final exam

(closed book, no electronics, you may bring a single 8“x11” sheet of paper with typed or handwritten notes on both sides)

expect questions on material covered in the entire course in lectures (guest lectures excluded), problem sets, LABs, and assigned reading

Additional practice problems

*schedule is tentative and is subject to change.

SYLLABUS

This course is a rigorous introduction to modern machine learning concepts, techniques, and algorithms. Topics include regression, classification, unsupervised and supervised learning, kernels, support vector machines, feature selection, clustering, sequence models, Bayesian methods, and more. Weekly problem sets emphasize taking theory into practice, by gaining a thorough mathematical understanding of the machine learning methods, coding them from scratch, and applying them to data sets.

Course Prerequisites

This is a graduate course (open to upper-level undergraduates) and requires the following:

You should be very comfortable with programming in Python and be able to both write and understand code quickly. Note that starting in 2022, the above prerequisites will be replaced by Foundations of Data Science (CS 365). Intro to Optimization (CAS CS 507) is also highly recommended as a precursor to this course.

Textbooks

The required textbook for the course is

Other recommended supplemental textbooks on general machine learning:

Recommended background reading on matrix calculus

Alternative Machine Learning Courses

Deliverables/Graded Work

The main graded work for the course is the midterm, final, problem sets and final challenge. There will be eight self-graded weekly problem sets (ps0-ps7), each consisting of written and programming problems, which are meant to prepare students for the two exams. Note: there are no team projects in this course. The course grade consists of the following:

Challenge

The challenge is an individual programming project that gives each student a chance to apply their knowledge and develop an ML solution to a real-world problem. The goal is to take what you learned in the weekly problem sets to the next level and spend a few weeks implementing machine learning algorithms from scratch and applying them to a challenging dataset. More information about the challenge will be released later on in the term.

Piazza

We will be using Piazza for class Q&A and posting problem sets. The system is highly catered to getting you help fast and efficiently from classmates and instructors. Rather than emailing questions to the teaching staff, we ask you to please post all your questions on Piazza. For private questions like grading please select just the “Instructors” in the “Post to:” field of the Piazza note and select the appropriate folder.

Software/Compute Resources

Programming assignments will be developed in the Python programming language, using mostly iPython notebooks. No special computing resources are required besides a regular laptop.

Students may also have access to the SCC computing cluster, please request this from the instructors. See SCC Quick Start Guide for further information on getting started with the SCC.

Another resource you may want to use for some problem sets or the challenge is Google’s Colab, see https://colab.research.google.com/notebooks/welcome.ipynb

Help! My laptop broke!

If you find yourself in a situation where you need a back up machine, say, due to a broken laptop, the BU Common at the Mugar Library offers access to Microsoft Windows 10 virtual machines. The lab is co-located with the IT Help Center and the Print Center and hosts a broad selection of software including Python and Jupyter. Also note that the IT Help Center is an authorized repair center for most major laptop brands, and can often perform many common types of repairs within one day.  They also offer temporary loaners for certain models of laptops while they are working on your machine.

COURSE POLICIES

Late Policy

Late problem sets will incur the following penalties

The lowest of all the problem set grades will be dropped. Exceptions to these policies can only be made in cases of significant medical or family emergencies, and should be documented.

Copyright Notice

All course materials, including lecture slides/notes, videos/screenshots, homeworks, solutions, and solution code are copyrighted by Prof. Saenko and Prof. Plummer. All rights are reserved. Other than for personal use by registered students, the course materials or any portion thereof may not be reproduced or used in any manner whatsoever (including posting on a public forum or website) without the express written permission of the authors. Acting otherwise would go against the ethical code of conduct expected of students at Boston University and from a legal standpoint it may even constitute a violation of copyright law.

Academic Honesty Policy

The instructors take academic honesty very seriously. Cheating, plagiarism and other misconduct will be subject to grading penalties up to failing the course.  Students enrolled in the course are responsible for familiarizing themselves with the detailed BU policy, available here. In particular, plagiarism is defined as follows, and applies to all written materials and software, including material found online. Collaboration on homework only in the form of discussion is allowed, but should be acknowledged and you should always come up with your own solution rather than copy others’ solutions (which is defined as plagiarism).

Plagiarism: Representing the work of another as one’s own. Plagiarism includes but is not limited to the following: copying the answers of another student on an examination, copying or restating the work or ideas of another person or persons in any oral or written work (printed or electronic) without citing the appropriate source, and collaborating with someone else in an academic endeavor without acknowledging his or her contribution. Plagiarism can consist of acts of commission-appropriating the words or ideas of another-or omission failing to acknowledge/document/credit the source or creator of words or ideas (see below for a detailed definition of plagiarism). It also includes colluding with someone else in an academic endeavor without acknowledging his or her contribution, using audio or video footage that comes from another source (including work done by another student) without permission and acknowledgement of that source.

Prohibited behaviors include:

Incidents of academic misconduct will be reported to the Academic Conduct Committee (ACC). The ACC may suspend/expel students found guilty of misconduct. At a minimum, students who engage in misconduct will have their final grade reduced by one letter grade (e.g., from a B to a C).

Religious Observance

Students are permitted to be absent from class, including classes involving examinations, labs, excursions, and other special events, for purposes of religious observance.  In-class, take-home and lab assignments, and other work shall be made up in consultation with the student’s instructors. More details on BU’s religious observance policy are available here.

COVID-19

There is no remote component of this class, with the exception of a single lab session (created for students unable to attend in person due to visa issues). If you miss class due to COVID-19 or any other health related absence, please check the website for lecture recordings and other posted materials. Masks are required and face coverings must be worn over the mouth and nose at all times when in public spaces on campus, including classrooms. Students should be prepared to show proof that they are compliant with health attestations and testing in order to attend class. All students are expected to follow all university guidelines with respect to daily symptom checks, testing, social distancing, and mask wearing when they leave their dorm or home. For a detailed description of official BU policies regarding COVID, please visit: https://www.bu.edu/back2bu/.