Machine Learning
Spring 2024
Key Information
Course Description - Mathematical foundations of classification, regression, and decision making. Supervised algorithms covered include perceptrons, logistic regression, support vector machines, and neural networks. Directed and undirected graphical models. Numerical parameter optimization, including gradient descent, expectation maximization, and other methods. Introduction to reinforcement learning. Proofs covered as appropriate. Significant programming projects will be assigned. Prerequisites: This course involves a lot of math and algorithms. You should know multivariable calculus, linear algebra, and some algorithms. No formal prerequisites but MATH 165, MATH 164, and CSC 242 strongly recommended.
Credit Hours - This course follows the College credit hour policy for four-credit courses, including lectures and study sessions. Students are expected to do significant work outside of class time. You may find it necessary to spend several hours most weeks reading the textbook, studying derivations, and working on assignments. You should plan to spend approximately eight hours each week working on material for this course.
Prerequisites - MATH 164, MATH 165, CSC 242 strongly recommended.
Class - Tuesdays and Thursdays 1105-1220 in Gavett 202.
Teaching Staff
- Instructor: Adam Purtee
- Homepage: cs.rochester.edu/u/apurtee.
- Email: apurtee AT cs DOT rochester.edu
- Office: Wegmans Hall 2109
- Office Hours: Mondays and Tuesdays, 330-430pm.
Course Mechanics
Class time will primarily be lecture format. Questions are highly encouraged. We will explore various models of machine learning (and proofs of correctness) using a combination of chalkboard work and slides.
You will be expected to do significant reading and practice outside of class. Graded work consists of three exams (two midterms and a final) as well as several programming and problem solving homework assignments.
The majority of your work will be individual; however, there will be a term project which may be completed either solo or as a small team. You will be expected to identify your own application domain, obtain or collect your own dataset, and apply one or more models from the course. Your grade on the project will be based on significance, methodology, and a written report. Teams will be further asked to communicate their results to the rest of the class.
- Primary: Christopher M. Bishop, Pattern Recognition and Machine Learning. Springer. 2006. This (freely available online) textbook is older, but contains clear and definitive presentations of many foundational models and algorithms.
- Secondary:Convex Optimization. Stephen Boyd and Lieven Vandenberghe. Cambridge University Press. 2009. This is a great, free textbook on optimization and associated numerical algorithms. We will refer to this book during our discussion of Lagrangian optimization and support vector machines.
- Supplementary:
- These books may provide helpful background if you get stuck, or want more information on a sub-topic.
- Stuart Russell and Peter Norvig, Artificial Intelligence, A Modern Approach. - 4th edition is good.
- Trevor Hastie, Robert Tibshirani, Jerome Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction.
- Larry Wasserman, All of Statistics, 2004
- An Introduction to Statistical Learning. Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani. Springer 2018. This one is freely available online.
Schedule
Class Number | Date | Day | Topics | Reading |
1 | Jan 18 | Thu | Machine Learning | "PRML 1.1 1.2 1.4 new Bishop Ch 2" |
2 | Jan 23 | Tue | Bayesian Linear Regression | "PRML 3.1-3.4 new Bishop Ch 4" |
3 | Jan 25 | Thu | Linear and Log-linear Classifiers | "PRML 4.3 new Bishop Ch 5" |
4 | Jan 30 | Tue | Multilayer Perceptrons; backprop. | "PRML 5.1-5.3 new Bishop Ch 4 5 7" |
5 | Feb 01 | Thu | Max-margin Classifiers | "PRML 3.1 4.1 7.1; M4ML Ch3 " |
6 | Feb 06 | Tue | Duality and the Kernel Trick | "PRML Apx E; M4ML Ch 12 CO Ch 4 Ch 5" |
7 | Feb 08 | Thu | Slack Variables | Same as above. |
8 | Feb 13 | Tue | Midterm Review | |
9 | Feb 15 | Thu | Midterm 1 | |
10 | Feb 20 | Tue | Convolutional Networks | Krizhevsky 2012 + new Bishop Ch 10 |
11 | Feb 22 | Thu | Recurrent Networks | Papers TBD |
12 | Feb 27 | Tue | Transformers | Papers + new Bishop Ch 12 |
13 | Feb 29 | Thu | Bayesian Networks | "PRML 8.1 8.2 new Bishop Ch 11" |
14 | Mar 05 | Tue | Markov Random Fields | "PRML 8.3 new Bishop Ch 11" |
15 | Mar 07 | Thu | Exact Inference | PRML 8.4 |
* | Mar 12 | Tue | Spring Break | |
* | Mar 14 | Thu | Spring Break | |
16 | Mar 19 | Tue | Midterm 2 review | |
17 | Mar 21 | Thu | Midterm 2 | |
18 | Mar 26 | Tue | Sampling Algorithms | "PRML 11.1 new Bishop Ch 11" |
19 | Mar 28 | Thu | Markov Chains | "PRML 11.2 new bishop" |
20 | Apr 02 | Tue | "Metropolis-Hastings Gibbs Sampling" | "PRML 11.2 11.3 new bishop" |
21 | Apr 04 | Thu | Hidden Markov Models | "PRML 13.1 13.2" |
22 | Apr 09 | Tue | Expectation Maximization | PRML 9.4 |
23 | Apr 11 | Thu | Mixture Models and Clustering | "PRML 9.1 9.2" |
24 | Apr 16 | Tue | EM for HMMs | PRML 13.2.1 |
25 | Apr 18 | Thu | Reinforcement Learning | "RL book Ch 1 3 4 6" |
26 | Apr 23 | Tue | Deep Reinforcement Learning | Papers TBD |
27 | Apr 25 | Thu | Ethics | Papers TBD |
28 | Apr 30 | Tue | Final Review | |
May 7 | Tue | Final Exam (715pm-1015pm) |
Grading
Your Overall Numeric Grade
Your scores on the individual components of this course will weighted to obtain your course score. All appeals of grades on individual scores must be made within one week of the grade being available. The following table represents this weighting of components.
Category | Weight |
Project | 10% |
Homeworks | 40% |
Midterm 1 | 15% |
Midterm 2 | 15% |
Final Exam | 20% |
Total | 100% |
Letter Grades
Letter grades will follow the Official University of Rochester Grading Scheme. Note that the University scheme puts “average” somewhere between C and B.
A: Excellent | >=94% |
A-: | >=90% |
B+: | >=87% |
B: Above Average | >=83% |
B-: | >=80% |
C+: | >=77% |
C: | >=73% |
C-: Minimum satisfactory grade | >=70% |
D: UG Minimum passing grade, Grads convert to E | >=60% |
E: | <60% |
Policies
Policies
Inclusivity
It is my hope that all students, TAs, and workshop leaders in all my courses feel welcome, respected, and supported. If you have any concerns please feel free to contact me directly.
Academic Honesty
All assignments and activities associated with this course must be performed in accordance with the University of Rochester’s Academic Honesty Policy. More information is available at: www.rochester.edu/college/honesty
Many of the assignments will require you to implement basic algorithms of machine learning. You can likely find approximate solutions online to many of the algorithms in a variety of languages. In general, you should avoid using source code obtained online for any assignments, unless a specific writeup indicates otherwise. Similarly, you should consider your work on the regular assignments to be individual - you may collaborate at the level of ideas, but sharing of code (either digitally or by manually retyping) is prohibited. Please see the separate note on AI.
All incidents of academic dishonesty will be reported. This is because academic dishonesty is harmful to the entire university community, AND because it is the explicit requirement of the University of Rochester Academic Honesty Policy.
Artificial Intelligence
Use of AI is acceptable in this course, within limits. Part of the course is about understanding the abilities (and limits) of AI, so for that reason you are encouraged to explore it's careful use on portions of the work which are lesss critical to your understanding of the material (data cleaning and boilerplate); however, students are expected to complete the numerical programming portion of the course on their own, and such kinds of problems may be present on the exams. The goal of university education is for you, personally, to acquire knowledge and skills -- don't let AI be a stunt double for your actual life. Similarly, students may use AI to improve the quality of their writing; however, all conclusions and analysis must be their own, and students are responsible for the factual and technical accuracy of their work. Submission of hallucinated results or falsified methodology is strictly forbidden and will result in a zero on any given assignment. If you use AI, please disclose how you used it, and how well you feel it worked for the task.
Disability Resources
The University of Rochester respects and welcomes students of all backgrounds and abilities. In the event you encounter any barrier(s) to full participation in this course due to the impact of disability, please contact the Office of Disability Resources. The access coordinators in the Office of Disability Resources can meet with you to discuss the barriers you are experiencing and explain the eligibility process for establishing academic accommodations. You can reach the Office of Disability Resources at: disability@rochester.edu; (585) 276-5075; Taylor Hall.
Students with an accommodation for any aspect of the course must make arrangements in advance through the Disability Resources office. Then, as instructed by the office, contact the instructor to confirm your arrangements.
Late work
No late work will be accepted without prior approval from the instructor. If you are unable to complete your work on time, please submit what you have before the deadline in order to be considered for partial credit. If there are serious conflicts (e.g., varsity travel, serious illness) please contact the instructor well in advance.
Policy Revisions
The instructor hopes that these policies are stable and fixed; however, they may be modified during the semester according to changing circumstances. Any modifications will be communicated clearly to students and updated on this page.