Description
CIS 520 provides a fundamental introduction to the mathematics, algorithms and practice of machine learning, focusing on representation, loss functions on optimization. Topics covered include:
- Supervised learning: least squares regression, logistic regression, feature selection/regularization, online learning, boosting, naive Bayes, support vector machines, ensemble methods, neural nets/deep learning
- Unsupervised learning: PCA, K-means clustering, Gaussian Mixture Models, EM, HMMs, Bayesian networks
- Reinforcement learning: TD-learning, Q-learning, deep learning
Audience
The course is aimed broadly at advanced undergraduates and beginning graduate students in computer science, electrical engineering, mathematics, physics, and statistics. This is a hard course; A good alternative for those with less math background or time is CIS419/519 or, if you want a really nice, much easier intro, take the Coursera ML course. If unsure which to take, see this.
Software
We will be coding in Python, using the Jupyter/SKLearn/Pytorch libraries, running on Google Colab.
Pre-requisites
- Basic algorithms, data structures and complexity. [CSE 320]
- Basic probability and statistics (random variables, covariance matrix, Gaussian and other distributions, simple regression). [CSE 261]
- Basic linear algebra (matrices, vectors, rank, basis, projection, inverse, eigenvectors).
- Reasonable programming skills, including basic knowledge of python.
Evaluation
- 8 Problem Sets: 40% - Your lowest homework score will be dropped. Any homework turned in late will be penalized 25 points per late day or fraction of day.
- Midterm: 15%
- Project: 12% - Late days are not permitted for the final project.
- Quizzes 5% - Quizzes are not graded -- just marked as completed or not.
- Surveys 3% - Feedback and questions after each class and each week
- Final: 25%
The problem sets include programming questions. The midterm and final will be semi-closed book exams (cheat sheet allowed), which will encompass material covered in the lectures and assigned in the readings. The project is an open-ended three person team project.
We do not take attendance, but you will learn more if you attend lectures instead of watching the recordings.
Reading Materials
- For the mathematical side of ML: C. Bishop, Pattern Recognition and Machine Learning. 2007
- For classical ML in Scikit-learn: hands on machine learning
- For deep learning in pytorch: Dive into Deep Learning
- example final projects demo1 and demo2
- See also Resources and Lectures