CMSC 726: Machine Learning

University of Maryland, College Park, Fall 2019
Instructor: Soheil Feizi


Soheil Feizi,
office: 4202 IRB Building

Course Assistant

Alexander Levine,
Phillip Pope,
Sahil Singla,


This course provides a broad introduction to machine learning and statistical inference. We will attempt to cover the following topics:

  • Learning Theory

    • Bias/Variance trade-offs

    • VC/Rademacher complexity

  • Supervised Learning

    • Linear regression

    • Logistic regression

    • Support Vector Machines (SVMs)

    • Neural network

    • Stochastic Gradient Descent and back propagation

    • (if time permits) Interpretability of learning models

    • Adversarial Examples

  • Unsupervised Learning

    • Clustering

    • Expectation-Maximization (EM)

    • Principal Component Analysis (PCA)

    • Nonlinear Dimensionality Reduction

    • Variational AutoEncoders (VAEs)

    • Generative Adversarial Networks (GANs)

  • Reinforcement Learning

    • Markov Decision Processes

    • Bellman Optimality

    • LQR models

Note that this is a tentitive list and we may add or remove some topics as it fits.


Lectures are on Tuesdays and Thursdays, 11:00am-12:15pm, in IRB 0318.

Students are strongly encouraged to attend all the lectures. Relevant notes will be posted couple of hours after each lecture.

Course Piazza:

Register here:

Office Hours

The instructor and the course assistant will provide weekly office hours.

  • Soheil Feizi: Tuesdays, 12:15pm-1:15pm, 4202 IRB

  • TA office hour, 2:30-3:30 PM Mondays, IRB 4136


The course text is Understanding Machine Learning: From Theory to Algorithms.

We will also use Andrew Ng's machine learning notes along with some relevant papers. I will post relevant notes after each lecture.


CMSC 726 is a mathematical course. Strong linear algebra and probability background are required. Prior exposure to optimization, analysis and numerical computing is helpful, but not required.

We will make extensive use of the Python programming language. It is assumed that you know or will quickly learn how the program in Python. You can satisfy this requirement by completing a programming course that uses Python and object-oriented techniques.

Course requirements and grading


  • Assignments will provide you an opportunity to think about the material presented in lectures. You are allowed and encouraged to work in groups but you must prepare and submit your solutions independently. Homework will be graded extremely coarsely, on a scale of 0–10.

  • Assignments are due on the class day indicated on the course webpage. Each person has three free late days to be used during the course (unless otherwise mentioned for some assignments). Late days can only be used in increments of one day; if your assignment is three minutes or three hours late, that counts as one late day. When turning in a late assignment, clearly mark at the top that you are using a late day. After you use your late days, late assignments will get half credit. Assignments more than two days late may not be graded. Please do not post solutions publicly available on the web.

Lecture Scribing

  • Each student is responsible for scribing one lecture note in LaTeX. If multiple students are assigned to the same lecture, they should work together in scribing the lecture. The scribe should elaborate on parts of the lecture that have been merely skimmed over, have full mathematical details and provide proper references.

  • The Tuesday lecture scribe will be due on Saturday in the same week by 6 PM, and the Thursday lecture scribe will be due on the following Monday by 6 PM.


  • We will have one midterm and one final exam. The midterm exam will be in class on October 29. Exams will cover material in the previous lectures and will be open notes (but closed book). All notes must be on one sheet of paper (double sided), either printed or handwritten.

Final Project

  • We will have a final project for this course. The project will be in a group of four to five students focusing on a shared problem.

  • The project will include a final project report (8 pages in the NeurIPS conference format) and presentation


  • Prerequisites Quiz 10%

  • Homework 20%

  • Lecture Scribe 5%

  • Midterm exam 20%

  • Final exam 25%

  • Project 20%

For excellent projects, I keep the right to increase the project weight for some groups.

Accommodations and Policies

You can find UMD's course policies here.

Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Accessibility and Disability Services (ADS, formerly DSS) within the first TWO weeks of the semester.

Any student who needs to be excused for an absence from a single lecture, recitation, or lab due to a medically necessitated absence shall:

  • Make a reasonable attempt to inform the instructor of his/her illness prior to the class.

  • Upon returning to the class, present their instructor with a self-signed note attesting to the date of their illness. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 10(j) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.

If you observe religious holidays during the course, please notify course staff within the first two weeks of the semester.

Course Evaluations

Course evaluations are important and that the department and faculty take student feedback seriously. Students can go to the link to complete their evaluations.