CS2750: Machine Learning, Spring 2017

Location: Sennott Square 5313
Time: Tuesday and Thursday, 1pm - 2:15pm
Instructor: Adriana Kovashka (email: kovashka AT cs DOT pitt DOT edu; use "CS2750" at the beginning of the subject line)
Office: Sennott Square 5325
Office hours: Tuesday and Thursday, 3:30pm - 5:30pm
TA: Longhao Li (email: lol16 AT cs DOT pitt DOT edu; use "CS2750" at the beginning of the subject line)
TA's office hours: Tuesday and Thursday, 4pm-5pm, Friday, 12pm-2pm, Sennott Square 5802


Course description: The course will cover the following topics: learning basics, unsupervised learning, supervised learning, classification, regression, clustering, dimensionality reduction, nearest neighbor classification, support vector machines, neural networks, density estimation, Bayesian belief networks, Hidden Markov models, expectation maximization, decision trees and ensembles. There will be homework assignments, two exams and a final project.

Prerequisites: CS1501, MATH 0280, STAT 1151, STAT 1000. The expectation is that you can program and analyze the efficiency and performance of programs. You should also be able to compute derivatives of functions. Further, some experience with linear algebra (matrix and vector operations) and probability is expected.

Piazza: Sign up for it here. Note that we will use Piazza for two main purposes: (1) for announcements, and (2) for classmate-to-classmates discussion of homework problems, etc. The instructor will monitor Piazza infrequently. The time when you should ask the instructor or TA questions is during office hours.

Programming languages: For homework assignments, you can use Matlab or Python. For the course project, you can use any language of your choice.

Textbooks: We will have required readings from two textbooks. In some cases, the readings will be overlapping, but it helps to read two phrasings of the same idea. In other cases, one reading is more complete or sometimes more intuitive than the other. You can also refer to the following two textbooks for additional examples and explanations: [top]



Grading will be based on the following components:

Homework Submission Mechanics

You will submit your homework using CourseWeb. Navigate to the CourseWeb page for CS2770, then click on "Assignments" (on the left) and the corresponding homework ID. Your written answers should be a single .pdf/.doc/.docx file. Your source code should be a single zip file (also including images/results if requested). Name the file YourFirstName_YourLastName.[extension]. Please comment your code! Homework is due at 11:59pm on the due date. Grades will be posted on CourseWeb.


There will be one in-class midterm exam, and a final exam which will focus on material from the latter part of the course. There will be no make-up exams unless you or a close relative is seriously ill!


Students are expected to regularly attend the class lectures, and should actively engage in in-class discussions. Attendance will not be taken, but keep in mind that if you don't attend, you cannot participate. You can actively participate by, for example, responding to the instructor's or others' questions, asking questions or making meaningful remarks and comments about the lecture, and answering others' questions on Piazza. You are also encouraged to bring in relevant articles you saw in the news.

Late Policy

On your programming assignments only, you get 3 "free" late days counted in minutes, i.e., you can submit a total of 72 hours late. For example, you can submit one homework 12 hours late, and another 60 hours late. Once you've used up your free late days, you will incur a penalty of 25% from the total assignment credit possible for each late day. A late day is anything from 1 minute to 24 hours. Note this policy does not apply to components of the project.

Collaboration Policy and Academic Honesty

You will do your work (exams and homework) individually. The only exception is the project, which can be done in pairs. The work you turn in must be your own work. You are allowed to discuss the assignments with your classmates, but do not look at code they might have written for the assignments, or at their written answers. You are also not allowed to search for code on the internet, use solutions posted online unless you are explicitly allowed to look at those, or to use Matlab's or Python's implementation if you are asked to write your own code. When in doubt about what you can or cannot use, ask the instructor! Plagiarism will cause you to fail the class and receive disciplinary penalty. Please consult the University Guidelines on Academic Integrity.

Note on Disabilities

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services (DRS), 140 William Pitt Union, (412) 648-7890, drsrecep@pitt.edu, (412) 228-5347 for P3 ASL users, as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.

Note on Medical Conditions

If you have a medical condition which will prevent you from doing a certain assignment, you must inform the instructor of this before the deadline. You must then submit documentation of your condition within a week of the assignment deadline.

Statement on Classroom Recording

To ensure the free and open discussion of ideas, students may not record classroom lectures, discussion and/or activities without the advance written permission of the instructor, and any such recording properly approved in advance can be used solely for the student's own private use.



A project can be: Milestones for the project: General rules: If you are proposing a new problem or a new solution to an existing problem: If you are proposing a literature review, or are proposing to experimentally compare existing solutions to a known problem: For sources of ideas: [top]


Date Chapter Topic Readings Lecture slides Due
1/5 Intro Introduction Murphy Ch. 1, Bishop Sec. 1.3 pptx pdf
1/10 Linear algebra and Matlab pptx pdf
1/17 Unsupervised learning Clustering Bishop Sec. 9.1, Murphy Sec., 25.1, 25.5.1 pptx pdf
1/19 HW1 out
1/24 Dimensionality reduction Bishop Sec. 12.1, Murphy Sec. 12.2 pptx pdf
1/26 Regression Line fitting + bias-variance Bishop Sec. 1.1, 3.2 pptx pdf
1/31 Linear regression Bishop Sec. 3.1, Murphy Sec. 7.1-7.5, Sec. 13.3 pptx pdf notes
2/2 Classification: intro and linear models Nearest neighbors Bishop Sec. 2.5.2, 1.4 pptx pdf
2/7 Linear models for classification Bishop Sec. 1.5, 4.1-3, Murphy Ch. 8 pptx pdf notes
2/9 HW1 due, HW2 out
2/16 Support vector machines Bishop Sec. 6.1-2, 7.1, Murphy Sec. 14.5 pptx pdf notes
2/23 Midterm exam
2/28 Classification: non-linear models Neural networks Bishop Sec. 5.1, 5.2 (skip 5.2.2-3), 5.3.1-3, 5.5.2,3,6, Murphy Sec. 16.5 pptx pdf
3/2 Convolutional neural networks Karpathy's notes, Module 2 pptx pdf HW2 due; HW3 out
3/7 Spring break (no class)
3/14 Recurrent neural networks blog1, blog2 pptx pdf project proposal due
3/16 Ensemble methods; decision trees Bishop Sec. 14.2, 14.3 (skip 14.3.1-2), 14.4, Murphy Sec. 16.2 pptx pdf
3/23 Classification: probabilistic models Probability review; density estimation Bishop Sec. 1.2, 1.6, 2.1, 2.2, 2.3.4, 2.3.9, 2.5, Murphy Sec. 2.1-2.3, 2.4.1, 2.4.5, 2.5.1, 2.6.3, 2.8, 3.2, 3.3.3, pptx pdf
3/28 Directed graphical models (Bayesian networks) Bishop Sec. 8.1-2, Murphy Ch. 10 pptx pdf HW3 due; HW4 out
4/4 Markov random fields; inference in graphical models Bishop Sec. 8.3, 8.4.1 pptx pdf
4/6 Hidden Markov models Bishop Sec. 13.1, Jurafsky/Martin pptx pdf
4/11 Expectation maximization Bishop Sec. 9.2, 9.3 (skip 9.3.3-4), Murphy Ch. 11 pptx pdf project draft due
4/13 Other topics pptx pdf HW4 due 4/16
4/18 Projects and exam Project presentations (schedule)
4/25 project final report due
4/27 Final exam



This course was inspired by the following courses: Tutorials: Some computer vision datasets: Some code of interest: [top]