**Hybrid Course: several optional sessions will be held on campus for those
students who are interested.**

**Meeting Times:** Mondays and Wednesdays, 2:00-3:15 (synchronous meetings)

**Location for campus meetings:** TBD

**Instructor:** Edmond Chow

**E-mail:**

This course provides the mathematical background needed to develop intuition for understanding machine learning algorithms. We will also implement machine learning algorithms and experiment with how they work to further develop intuition about these algorithms. Thus this course is of interest to computer science students who are interested in developing and implementing machine learning algorithms rather than the data scientist (we will not be concerned about applications or properties of the data from any specific domain).

This course is intended as a second course in machine learning, but the course is also self-contained and it would be possible to take this course as a first course.

**Prerequisites**

Programming in any language. You should also be comfortable with mathematics at an advanced undergraduate level. The basic required courses are Linear and Discrete Mathematics (MATH 2602) and Differential Equations (MATH 2403/2413).

**Some Topics**

- Regression and classification
- Regularization
- Bayesian estimation
- Gaussian processes
- Neural networks
- Generative modeling
- Support vector machines
- Kernel methods in general
- Stochastic first and second order optimization
- Constrained optimization

**Grading**

100% Assignments

There will be an assignment every week.
Many assignments will build on previous assignments.

**References**

- James et al., An Introduction to Statistical Learning
- Hastie et al., The Elements of Statistical Learning
- Bishop, Pattern Recognition and Machine Learning
- Abu-Mostafa et al., Learning from Data
- Aggarwal, Neural Networks and Deep Learning