Overview
Course description: This class will cover the basic machine learning tasks and algorithms. We will cover both classic and modern techniques for supervised classification, including nearest neighbors, logistic regression, support vector machines, decision trees, Bayes nets, and neural networks. We will also discuss approaches for clustering and regression. The course format will include lectures, weekly homework assignments, and exams.Prerequisites: STAT 1000, 1100, or 1151 (or equivalent) and CS1501
Piazza: Sign up for it here. Note that we will use Piazza primarily for classmate-to-classmate discussion of homework problems, etc. The instructor and TA will monitor it infrequently. The time when you should ask the instructor or TA questions is during office hours.
Programming languages: We will use Matlab, which is available for download for free using Software Downloads in My Pitt.
Textbooks: We will have required readings from the following textbook.
- Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.
- Kevin P. Murphy. Machine Learning: A Probabilistic Perspective. MIT Press, 2012. (full text available online through the Pitt library; consult the page for my grad course for relevant readings)
- Trevor Hastie, Robert Tibshirani, and Jerome Friedman. The Elements of Statistical Learning. Springer, 2009. (available online on the second author's page)
- David Barber. Bayesian Reasoning and Machine Learning. Cambridge University Press, 2012. (available online on the author's page)
Policies
Grading
Grading will be based on the following components:- Homework (9 assignments x 6% each = 54%)
- First exam (20%)
- Second exam (20%)
- Participation (6%)
Homework Submission Mechanics
Homework is due at 11:59pm on the due date. You will submit your homework using CourseWeb. Navigate to the CourseWeb page for CS1675, then click on "Assignments" (on the left) and the corresponding homework ID. You should submit a single zip file with .m files (and images/results if requested). Name the file YourFirstName_YourLastName.zip. Please comment your code! Grades will be posted on CourseWeb.Exams
There will be two in-class exams. The second exam is not cumulative and will not cover material from the first exam. There will be no make-up exams unless you or a close relative is seriously ill!Participation
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, answering others' questions on Piazza, or bringing in relevant articles you saw in the news. The grading rubric will be as follows: 1 = you attended infrequently, 2 = you attended frequently but did not speak in class, 3 = you attended frequently and spoke a few times, 4 = you participated frequently, 5 = you participated every other week or more.Homework Late Policy
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. The 72-hour "budget" is total for all assignments, NOT per assignment. 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.Collaboration Policy and Academic Honesty
You will do your work (exams and homework) individually. 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 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.[top]
Schedule
Date | Topic | Readings | Lecture slides | Due |
8/28 | Introduction (incl. review) | Bishop Sec. 1.3 | pptx pdf | |
8/30 | ||||
9/4 | ||||
9/6 | Unsupervised learning (clustering and dimensionality reduction) |
Bishop Sec. 9.1, 12.1 | pptx pdf whiteboard | HW1 due |
9/11 | ||||
9/13 | HW2 due | |||
9/18 | Regression and overfitting | Bishop Sec. 1.1, 3.1, 3.2 | pptx pdf whiteboard | |
9/20 | ||||
9/25 | ||||
9/27 | Introduction to classification (nearest neighbors, logistic regression, perceptron) |
Bishop Sec. 2.5.2, 1.4, 1.5, 4.1-3 | pptx pdf whiteboard | HW3 due |
10/2 | ||||
10/4 | HW4 due | |||
10/9 | ||||
10/11 | ||||
10/16 | No class: fall break | HW5 due | ||
10/18 | First exam | |||
10/23 | Support vector machines | Bishop Sec. 6.1-2, 7.1 | pptx pdf notes | |
10/25 | ||||
10/30 | ||||
11/1 | Neural networks | Bishop Sec. 5.1, 5.2 (skip 5.2.2-3),
5.3.1-3,
5.5.2,3,6, blog post, Karpathy's CNN notes, WildML RNN notes, Olah's RNN notes |
pptx pdf examples | HW6 due |
11/6 | ||||
11/8 | ||||
11/13 | ||||
11/15 | Ensembles and decision trees | Bishop Sec. 14.2, 14.3 (skip 14.3.1-2) | pptx pdf | HW7 due |
11/20 | ||||
11/27 | Graphical models (Bayes nets, Hidden Markov models) |
Bishop Sec. 1.2, 1.6, 8.1-2, 13.1, Jurafsky/Martin (HMMs) | pptx pdf | |
11/29 | HW8 due | |||
12/4 | ||||
12/6 | Wrap-up and review | |||
12/11 | Second exam (2:00PM - 3:50PM, 5502 Sennott Square) | HW9 due |
[top]
Resources
This course was inspired by the following courses:- Introduction to Machine Learning by Rebecca Hwa, University of Pittsburgh, Fall 2015
- Machine Learning by Milos Hauskrecht, University of Pittsburgh, Spring 2015
- Introduction to Machine Learning by Dhruv Batra, Virginia Tech, Spring 2015
- Machine Learning by Tommi Jaakkola, MIT
- Machine Learning by Subhransu Maji, UMass Amhrest, Spring 2015
- Machine Learning by Erik Sudderth, Brown University, Fall 2015
- Computer Vision by Kristen Grauman, UT Austin, Spring 2011
- Computer Vision by Derek Hoiem, UIUC, Spring 2015
- Natural Language Processing by Ray Mooney, UT Austin
- Matlab tutorial
- Linear algebra review by Fei-Fei Li
- Brief machine learning intro by Aditya Khosla and Joseph Lim
- Resources list (including code and data, tutorials, and other related courses) compiled by Devi Parikh
- Microsoft COCO (Common Objects in Context) (object recognition, segmentation, image description)
- ImageNet (object recognition)
- SUN Database (scenes)
- Caltech-UCSD Birds 200 (fine-grained object recognition)
- MSRC Annotations (active learning)
- Animals with Attributes (attribute-based recognition)
- a-Pascal + a-Yahoo (attribute-based recognition)
- Shoes (attribute-based search)
- INRIA Movie Actions (action recognition)
- ADL (ego-centric action recognition)
- Action Quality (evaluating action quality)
- CarDb Historical Cars (style classification of cars)
- Recognizing Image Style (photographic style classification)
- Judd gaze (visual saliency prediction)
- Visual Persuasion (predicting subtle messages in images)
- Advertisements: Images and Videos (understanding what the ad prompts of the viewer and why)
- VQA (visual question-answering)
- Recognition datasets list compiled by Kristen Grauman
- Human activity datasets list compiled by Chao-Yeh Chen
- LIBSVM (by Chih-Chung Chang and Chih-Jen Lin)
- SVM Light (by Thorsten Joachims)
- VLFeat (feature extraction, tutorials and more, by Andrea Vedaldi)
- TensorFlow (deep learning framework by Google)
- Caffe (deep learning framework by Yangqing Jia et al.)
- PyTorch (another popular deep learning framework)
- Keras (deep learning library)