**Hybrid Course:** Regularly scheduled meetings will be via BlueJeans. Students are expected to attend and participate via BlueJeans at the scheduled time. Several on-campus meetings will be available for students who are interested. All assessments will be conducted remotely. It is possible to take this course without physically being in Atlanta.

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

**Instructor:** Edmond Chow

**E-mail:**

This course will give an overview of the field of machine learning and provide the mathematical background needed to develop intuition for deeply understanding machine learning algorithms. Statistics, numerical optimization, and linear algebra will be covered at a fundamental level necessary for quickly grasping and extending the main ideas behind machine learning.

We will implement machine learning algorithms and experiment with how they work on different types of data, to understand how to choose one algorithm over another. Parallel computing will be used to explore how to make machine learning algorithms efficient on various types of computer architectures including GPUs.

This course is of interest to students who wish to pursue research in machine learning, as well as students wishing to pursue careers as algorithm designers and software framework developers for machine learning.

This course is intended as a second course in machine learning (e.g., after taking CS 4641), 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 (examples will be given in Python and Matlab). You should also be comfortable with multivariable calculus (MATH 2551/2552), linear algebra (MATH 1554, e.g., subspaces, rank, Gram-Schmidt, QR, least squares, eigenvalues, singular value decomposition), and concepts in probability and statistics.

**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