CS 4780 - Machine Learning

General Information

Machine learning is basically a shift from the classical idea of “let’s have computers act like a human” to “let’s have computers perform statistical tasks which they’re good at.” This course covers several major ideas in this field.


Programming skills, linear algebra, probability. There’s a placement test that needs to be passed in order to enroll.

Topics Covered

  • K-nearest neighbors
  • Perceptron
  • Naive Bayes
  • Linear/Logistic Regression
  • Gradient Descent
  • Support Vector Machines
  • Empirical Risk Minimization
  • Generalization: Bias/Variance Tradeoff
  • Kernels
  • Gaussian Processes/Bayesian Global Optimization
  • Decision Trees with Bagging and Boosting
  • Artifical Neural Networks/Deep Learning


6 problem sets, 7 programming assignments, 2 prelims, a final, and a bonus final project.

Students have 2 weeks to complete problem sets and can be work in groups of 5. Students have 2 weeks to complete programming assignments and can work in groups of 3. There are typically 1-2 weeks between the due date of an assignment and the next being released. Programming assignments are done via Vocareum and often have a competition aspect for bonus points. Problem sets are entirely theoretical and assume moderate maturity with linear algebra and probability concepts. Without a firm grasp on linear algebra, problem sets can take a long time.

In Spring 2017, the final project was implementing a neural network to classify handwritten digits.

General Advice

The homeworks are graded Pass/Fail so as long as you give an honest attempt, you’ll be fine. Every homework you fail decreases your final grade by 20% so if you miss 3 of them you automatically fail the course.


A course that’s worth taking. ML is becoming more important in every field of CS nowadays, and it helps to have a working knowledge of it so you don’t have to blank out when people bring it up.

Easily one of the best classes I’ve taken at Cornell. Perfect mix of theory and application. Also, Thorsten is amazing at teaching. Tests are also pretty straightforward, and projects are not complicated.

Kilian Weinberger is one of the funniest and most engaging professors I’ve had. I highly recommend taking his course.

Recorded Lectures

You can watch recorded lectures from Spring 2017 on the Cornell Videonote website.

Past Offerings

Semester Time Professor Median Grade Course Page
Spring 2017 - Kilian Weinberger B+ https://courses.cis.cornell.edu/cs4780/2017sp/
Fall 2013 - Thorsten Joachims B http://www.cs.cornell.edu/courses/cs4780/2011fa/
Fall 2011 - Thorsten Joachims B http://www.cs.cornell.edu/courses/cs4780/2011fa/


Edit this page on Github: classes/CS4780.md

Edit me on GitHub