Machine Learning (CS 446) Fall 2018
What | Where |
---|---|
Time/place | MW 12:30pm-1:45pm 1404 Siebel / Catalog |
Class URL | https://relate.cs.illinois.edu/course/cs446-fa18 |
Recorded Lecture | https://echo360.com/ |
Web forum | Piazza » (sign up!) |
Calendar | View » |
Schedule | View » |
Course Description
The goal of Machine Learning is to build computer systems that can adapt and learn from their experience. This course will study the theory and application of learning methods that have proved valuable and successful in practical applications. We review the theory of machine learning in order to get a good understanding of the basic issues in this area, and present the main paradigms and techniques needed to obtain successful performance in application areas such as natural language and text understanding, speech recognition, computer vision, data mining, adaptive computer systems and others. The main body of the course will review several supervised and (semi/un)supervised learning approaches. These include methods for learning linear representations, Bayesian / Probabilistic methods, decision-tree methods, kernel based methods and neural networks, as well as clustering and dimensionality reduction techniques. We will also discuss how to model machine learning problems and discuss some open problems.
Topics to be covered include:
- Linear/Logistic Regression
- Variable Selection / Sparsity
- Optimization - Gradient Descent
- Support Vector Machines
- Convolutional/Recurrent Neural Networks
- Clustering
- Graphical Models
- Expectation Maximization
- Variational Inference
- Generative Adversarial Networks
- Multilabel Classification
- Structured Prediction
Prerequisites
Students are expected to have taken a class in linear algebra, probability and statistics and a basic class in theory of computation and algorithms. Students are expected to be familiar with the python programming language.
Course Materials
Required Text
None
Optional books with relevant material:
- Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press
- Shai Shalev-Shwartz and Shai Ben-David, Understanding Machine Learning: From Theory to Algorithms, Cambridge University Press
- Trevor Hastie Robert Tibshirani & Jerome Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer Science & Business Media
- C.M. Bishop, Pattern Recognition and Machine Learning, Springer
- Tom Mitchell, Machine Learning, McGraw Hill
- Ian Goodfellow, Yoshua Bengio & Aaron Courville, Deep Learning, The MIT Press
Lecture notes, course handouts, pointers to relevant papers, and other materials will be available as HTML and PDF documents on Relate and Piazza
Course Staff
name and role | contact (illinois.edu) | office hours | location |
---|---|---|---|
Sanmi Koyejo | Instructor | sanmi | Friday 1pm - 2pm, or by appointment | 3314 SC |
Haroun Habeeb | TA | hhabeeb2 | Wednesday 2pm - 4pm | Whiteboard outside of 3407 SC |
Sameer Manchanda | TA | manchan2 | Tuesday 9am - 11am | Whiteboard outside of 3301 SC |
Xiaoyan Wang | TA | xiaoyan5 | Thursday 6pm - 8pm | Whiteboard outside of 3407 SC |
Simon Xie | TA | cx2 | Monday 4pm - 6pm | Whiteboard outside of 3407 SC |
Kabir Manghnani | CA | kabirm2 | Friday 2pm - 4pm | Whiteboard outside of 3310 SC |
Duke Vijitbenjaronk | CA | wdv2 | Friday 2pm - 4pm | Whiteboard outside of 3310 SC |
Qingran Wang | CA | qwang78 | N/A | N/A |
Zecheng Zhang | CA | zzhan147 | N/A | N/A |
Exams
Exam will be in class exam with 75 minutes. Please find information on our upcoming exams in the corresponding section of the class calendar.
Homework
Please see the class calendar for homework deadlines. We encourage you to use the homework template for LaTeX.
- Homework 0 (Note: HW0 will be graded but will not be counted as part of your final grade)
- Homework 1 We encourage you to use the homework template for LaTeX on overleaf (Note: You need to copy the project to your own repository on overleaf. And you need to submit separated pdf files for different problems.)
- Homework 2
- Homework 3
- Homework 4 You can use the template for LaTex on overleaf (Note: You need to copy the project to your own repository on overleaf. And you need to submit separated pdf files for different problems.)
- Homework 5 Templates available on Overleaf GAN HMM (Note: You need to copy the project to your own repository on overleaf. And you need to submit separated pdf files for different problems.)
Lecture Scribing
(Notice that unlike homework (which will be auto-collected), you will need to manually submit your lecture scribe by clicking the submit button on the top right corner.)
-
Scribe submission has already ended. You can view the final version of the signup sheet here
-
Please use the LaTeX template. Scribing expectations are further elaborated upon in the template.
-
Here is an example lecture scribe note.
Grading Policies
Academic integrity
Feel free to discuss the assignment with each other in general terms, and to search the Web for general guidance (not for complete solutions). All solutions should be written up individually. If you make substantial use of some information from outside sources, make sure you acknowledge the sources in your solution. In particular, make sure you acknowledge all other students you worked with on the homework/projects. Failure to do this will result in a zero grade. We will follow the departmental honor code policy here: https://cs.illinois.edu/academics/honor-code
What to do in an emergency
Computing
We will be using Python with the libraries numpy, scipy and matplotlib for assignments. No other languages are permitted. Python has a very gentle learning curve, so you should feel at home even if you've never done any work in Python.
Project
Schedule
Python Help
- The Scipy Lectures
- Learn Python the hard way
- Python tutorial
- Facts and myths about Python names and values
- CSE workshop training material
- From Python to Numpy (An open-access book on numpy vectorization techniques, Nicolas P. Rougier, 2017)
Numpy Help
- Introduction to Python for Science
- Numpy/Scipy documentation
- More in this reddit thread
- An introduction to Numpy and SciPy
- 100 Numpy exercises
- The Numpy MedKit by Stéfan van der Walt
Linear Algebra
- Immersive Linear Algebra
- Essence of Linear Algebra (YouTube, by 3Blue1Brown)
- Linear Algebra (YouTube, by MathTheBeautiful)
Statistics
- Statistics for Hackers by Jake VanderPlas