Instructor | Debswapna Bhattacharya (dbhattacharya@vt.edu) |
Class meets | Monday and Wednesday 5:30 pm - 6:45 pm at Goodwin Hall 115 |
Teaching Assistants |
Weijie (Jack) Guan (skjguan@vt.edu) Jianan Nie (jianan@vt.edu) |
Office Hours |
Debswapna Bhattacharya: Monday and Wednesday 1:00 pm - 2:00 pm at Torgersen 3120B Weijie (Jack) Guan: Tuesday and Thursday 1:00 pm - 2:00 pm at McBryde Hall 106 or via Zoom https://virginiatech.zoom.us/skype/9248463068 Jianan Nie: Tuesday and Thursday 2:00 pm - 3:00 pm at Gilbert Place 4112 or via Zoom https://virginiatech.zoom.us/j/2649120190 |
Staff Mailing List | cs-4824-ece-4424-s24-staff-g@vt.edu |
Piazza | https://piazza.com/vt/spring2024/cs4824ece4424/home |
Canvas |
CS 4824: https://canvas.vt.edu/courses/185332 ECE 4424: https://canvas.vt.edu/courses/185672 |
Description
Welcome to CS 4824/ECE 4424: Machine Learning! This is truly an exciting time to be studying Machine Learning, which has evolved as one of the most successful and widely applicable set of techniques across a range of domains (vision, language, speech, biology, robotics), leading to many groundbreaking breakthroughs.This course will expose students to a wide range of topics in Machine Learning covering their intuitions, mathematical foundations, analyses, and applications. Homework assignments include hands-on experiments with various learning algorithms, and a larger course project gives students a chance to dig deeper into an area of their choice.
Topics
- Basics of Statistical Learning
- Loss functions, MLE, MAP, Bayesian estimation, bias-variance tradeoff, overfitting, regularization, cross-validation
- Supervised Learning
- Decision Trees, Naïve Bayes, Logistic Regression, Linear Regression, Kernels and Kernel Regression, Support Vector Machines, Neural Networks
- Unsupervised Learning
- EM, Clustering
- Graphical Models
- Bayesian Networks, Hidden Markov Models
- Deep Learning
- Convolutional Neural Networks, Recurrent Neural Networks, Attention and Transformer Networks, Autoencoders, Variational Autoencoders, Generative Adversarial Networks
- Advanced Topics
- Generative AI, Diffusion Probabilistic Models
- Probability and Statistics
- Distributions, densities, marginalization, moments, typical distributions.
- Calculus and Linear Algebra
- Matrix multiplication, eigenvalues, positive semi-definiteness, multivariate derivates.
- Algorithms
- Dynamic programming, basic data structures, complexity.
- Programming
- This is a demanding class in terms of programming skills. HWs will involve a mix of Python and libraries. You are free to choose any programming language for the project.
- Ability to deal with abstract mathematical concepts.
- Homeworks: 60%
- Midterm: 10%
- Final: 20%
- Pop Quiz: 10%
A: 90%-100%
B: 80%-89%
C: 70%-79%
D: 60%-69%
F: Below 60%
Textbooks
None required.
Optional reference books (freely available online):
- Machine Learning: a Probabilistic Perspective, Kevin Murphy, MIT Press, 2012
- Pattern Recognition and Machine Learning, Christopher Bishop, Springer, 2006
- The Elements of Statistical Learning, Trevor Hastie, Robert Tibshirani, and Jerome Friedman, Springer, 2009
- Deep Learning, Ian Goodfellow, Yoshua Bengio, and Aaron Courville, MIT Press, 2016
Schedule
Note: This schedule is tentative and subject to change. All due dates are until 11:59 PM EST.Week / Day | Date | Topic | Lecture Notes | Readings and Handouts |
---|---|---|---|---|
1 / W | Jan 17 | Introduction and Administrativia | [Slides] | |
2 / M | Jan 22 | Function Approximation | [Slides] [Annotated slides] |
Bishop: Ch 14.4 |
2 / W | Jan 24 | Decision Trees | [Slides] [Annotated slides] |
|
3 / M | Jan 29 | Probability and Estimation | [Slides] [Annotated slides] |
Bishop: Ch 1 thru 1.2.3 Bishop: Ch 2 thru 2.2 Pop Quiz 1 |
3 / W | Jan 31 | MLE and MAP | [Slides] [Annotated slides] |
HW 1 Out |
4 / M | Feb 5 | Naïve Bayes | [Slides] [Annotated slides] |
Murphy Ch 3.5 |
4 / W | Feb 7 | Gaussian Naïve Bayes | [Slides] [Annotated slides] |
|
5 / M | Feb 12 | Logistic Regression | [Slides] [Annotated slides] |
HW 1 Due |
5 / W | Feb 14 | Gradient-based Optimization | [Slides] [Annotated slides] |
HW 2 Out |
6 / M | Feb 19 | Generative vs. Discriminative Classifiers | [Slides] [Annotated slides] |
Mitchell Ch 3 Pop Quiz 2 |
6 / W | Feb 21 | Linear Regression | [Slides] [Annotated Slides] |
HW 2 Due |
7 / M | Feb 26 | Perceptron | [Slides] [Annotated Slides] |
Bishop: Ch 4.1.7 |
7 / W | Feb 28 | Neural Networks | [Slides] [Annotated Slides] |
Bishop: Ch 5.1 thru 5.3.2 Project Proposal Due on Mar 1 |
Spring Break | ||||
8 / M | Mar 11 | Kernels | [Slides] [Annotated Slides] |
Bishop: Ch 6 Intro |
8 / W | Mar 13 | Kernel Perceptron | [Slides] [Annotated Slides] |
Bishop: Ch 6.1 thru 6.2 Pop Quiz 3 |
9 / M | Mar 18 | Support Vector Machines | [Slides] [Annotated Slides] |
Bishop: Ch 7.1 HW 3 Out |
9 / W | Mar 20 | Graphical models I | [Slides] [Annotated Slides] |
Bishop: Ch 8.1 |
10 / M | Mar 25 | Graphical models II | [Slides] [Annotated Slides] |
An introduction to graphical models by Kevin P. Murphy |
10 / W | Mar 27 | Expectation Maximization | [Slides] [Annotated Slides] |
HW 3 Due |
11 / M | Apr 1 | Clustering | [Slides] [Annotated Slides] |
Bishop: Ch 9.1 thru 9.2 |
11 / W | Apr 3 | Deep Neural Networks I | [Slides] [Annotated Slides] |
Goodfellow et al.: Ch 6 Pop Quiz 4 Project Midway Progress Due on Apr 5 |
12 / M | Apr 8 | Deep Neural Networks II | [Slides] [Annotated Slides] |
Goodfellow et al.: Ch 7, 8 |
12 / W | Apr 10 | Convolutional Neural Networks | [Slides] [Annotated Slides] |
Goodfellow et al.: Ch 9 HW 4 Out |
13 / M | Apr 15 | Recurrent Neural Networks | [Slides] [Annotated Slides] |
Goodfellow et al.: Ch 10 |
13 / W | Apr 17 | Attention and Transformers | [Slides] [Annotated Slides] |
Vaswani et al., Attention is All You Need, NeurIPS, 2017 |
14 / M | Apr 22 | Autoencoders | [Slides] [Annotated Slides] |
Goodfellow et al.: Ch 14 HW 4 Due |
14 / W | Apr 24 | Generative Adversarial Networks | [Slides] [Annotated Slides] |
Goodfellow et al.: Ch 20 Pop Quiz 5 |
15 / M | Apr 29 | Diffusion Models I Guest Lecture by Dr. Trevor Norton |
[Slides] | Deep Learning: Foundations and Concepts by Bishop and Bishop: Ch 20 |
15 / W | May 1 | Diffusion Models II Guest Lecture by Dr. Trevor Norton Conclusion |
[Slides] | Generative Modeling by Estimating Gradients of the Data Distribution by Yang Song Project Final Report Due |
Assignments
HomeworksStudents are expected to work individually on 4 HWs throughout the semester. HWs will involve hands-on implementation and analysis, covering various topics that complement and supplement the lecture topics. HWs will involve a mix of Python and libraries to be submitted electronically via Canvas.
Project
The course project is meant for students to (1) gain experience implementing machine learning models; and (2) try machine learning on problems that interest them. You are encouraged to try out interesting applications of machine learning in various domains such as vision, NLP, speech, computational biology, etc. The project must be done individually in this semester (i.e., no double counting).
Take a look at some project ideas and feel free to use them as templates for planning, but you are not obligated to adhere to them.
The first deliverable (10% of course grade) is a project proposal that is due on March 1. The project proposal should identify the problem, outline your preliminary approach, and propose the metrics for evaluation. It should also discuss a proposed plan containing a breakdown of various tasks and important project milestones. These milestones should be a prediction for planning purposes, but you are not obligated to adhere to them precisely. Your proposal should list at least three recent, relevant papers you will read and understand as background. The project proposal must be written using the following guidelines:
- standard 8.5" x 11" page size
- 11 point or higher font, except text that is part of an image
- Times New Roman font for all text, Cambria Math font for equations, Symbol font for non-alphabetic characters (it is recommended that equations and symbols be inserted as an image)
- 1" margins on all sides, no text inside 1" margins (no header, footer, name, or page number)
- No less than single-spacing (approximately 6 lines per inch)
- Do not use line spacing options such as "exactly 11 point", that are less than single spaced
Project Proposal Grading (50 points)
The course staff will follow the National Science Foundation (NSF)-style evaluation metrics to review and score your project proposal as Excellent (5 points), Very Good (4 points), Good (3 points), Fair (2 points), and Poor (1 point). Two reviews will be sought, each reviewing and scoring the proposals, and the (sum of points x 5) will be your final score for the project proposal.
The final deliverable (20% of course grade) is a project report that is due on May 1 (i.e., on the last day of classes). The final project report should describe the project outcomes in a self-contained manner. Your final project report is required to be between 5 - 6 pages by using the CVPR template, structured like a paper from a computer vision conference, to be submitted electronically via Canvas. Please use this template so we can fairly judge all student projects without worrying about altered font sizes, margins, etc. The submitted PDF can link to supplementary materials including but not limited to code, open access software package via GitHub, project webpage, videos, and other supplementary material. The final PDF project report should completely address all of the points in the rubric described below.
Project Report Grading Rubric (100 points)
Note: We have adapted the following list for our rubric based on questions for evaluating research projects proposed by a former DARPA director George H. Heilmeier and recently used by Dhruv Batra for teaching Deep Learning course at Georgia Tech.
Introduction / Background / Motivation:
- (10 points) What did you try to do? What problem did you try to solve? Articulate your objectives using absolutely no jargon.
- (5 points) How is it done today, and what are the limits of current practice?
- (5 points) Who cares? If you are successful, what difference will it make?
- (10 points) What did you do exactly? How did you solve the problem? Why did you think it would be successful? Is anything new in your approach?
- (5 points) What problems did you anticipate? What problems did you encounter? Did the very first thing you tried work?
- (10 points) How did you measure success? What experiments were used? What were the results, both quantitative and qualitative? Did you succeed? Did you fail? Why?
- (5 points) Is your code available? Did you use open-source license to release your code?
- (10 points) How do you plan to disseminate your method? Are the findings available via freely accessible project website and/or GitHub?
- (10 points) How can others reproduce your results? Are training, validation, and test data freely provided?
- (5 points) Are model parameters fully reproducible?
- (10 points) Appropriate use of figures / tables / visualizations. Are the ideas presented with appropriate illustration? Are the results presented clearly; are the important differences illustrated?
- (5 points) Overall clarity. Is the manuscript self-contained? Can a peer who has also taken Machine Learning understand all of the points addressed above? Is sufficient detail provided?
- (10 points) Finally, points will be distributed based on your understanding of how your project relates to Machine Learning. Here are some questions to think about:
- What was the structure of your problem? How did the structure of your model reflect the structure of your problem?
- What parts of your model had learned parameters (e.g., convolution layers) and what parts did not (e.g., post-processing classifier probabilities into decisions)?
- What representations of input and output did the model expect? How was the data pre/post-processed?
- What was the loss function?
- Did the model overfit? How well did the approach generalize?
- What hyperparameters did the model have? How were they chosen? How did they affect performance? What optimizer was used?
- What Machine Learning framework did you use?
- What existing code or models did you start with and what did those starting points provide?
Class participation and Pop Quiz
Students are strongly encouraged to attend all the lectures (exceptions are allowed due to medical reasons or emergencies) and expected to engage in the discussion during the lectures and participate in Q&A. Please inform the course staff via email if you cannot make it to the class. Students are also expected to be actively engaged in class-related discussion on Piazza so that other students may benefit from your questions and our answers. While no attendance will be taken, there will be in-class pop quizes (10% of course grade) requiring your class presence and overall engagement in the classroom.
Note: Students' first point of contact is Piazza (so that other students may benefit from your questions and our answers). If you have a personal matter, create a private piazza post or send an email to the course staff.
Policies
Late policy for deliverablesLate homework policy is as follows:
- Full credit when due.
- Half credit next 48 hours.
- Zero credit after that.
Note that late submissions are NOT allowed (i.e., NOT graded) for the project proposal, midway or the final report.
Regrading requests
Requests for regrading due to grading errors must be submitted to the course staff via email within one week of the release of grades.
Academic integrity
The Undergraduate Honor Code pledge that each member of the university community agrees to abide by states: "As a Hokie, I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do."
Students enrolled in this course are responsible for abiding by the Honor Code. A student who has doubts about how the Honor Code applies to any assignment is responsible for obtaining specific guidance from the course instructor before submitting the assignment for evaluation. Ignorance of the rules does not exclude any member of the University community from the requirements and expectations of the Honor Code. For additional information about the Honor Code, please visit: https://www.honorsystem.vt.edu/
This course will have a zero-tolerance philosophy regarding plagiarism or other forms of cheating. Your homework assignments must be your own work, and any external source of code, ideas, or language must be cited to give credit to the original source. I will not hesitate to report incidents of academic dishonesty to the Office of the Undergraduate Honor System.
Principles of Community
Because the course will include in-class discussions, we will adhere to Virginia Tech Principles of Community.
Accessibility
If any student needs special accommodations because of any disabilities, please contact the instructor during the first week of classes. Such students are encouraged to work with The Office of Services for Students with Disabilities to help coordinate accessibility arrangements.
COVID-19 Policy
Virginia Tech is committed to protecting the health and safety of all members of its community. By participating in this class, all students agree to abide by the Virginia Tech Wellness principles. Please follow the instructions posted at the University and public health guidelines for the latest COVID-19 Policy.
Copyright © Debswapna Bhattacharya 2024