ECE 595 / STAT 598: Machine Learning
Spring 2021
Jan 19, 2021  May 1, 2021
Lectures
Instructor: Professor Stanley Chan
TuTh: 4:30pm5:45pm Eastern Time
Room: Zoom, meeting link available at Brightspace
Course Description
The course is structured in four parts.
Mathematical preliminaries. Matrices, vectors, Lp norm, geometry of the
norms, symmetry, positive definiteness, eigendecomposition. Unconstrained
optimization, graident descent, convex functions, Lagrange multipliers,
linear least squares. Probability space, random variables, joint
distributions, multidimensional Gaussians.
Linear Classifiers. Linear discriminant analysis, separating hyperplane,
multiclass classification, Bayesian decision rule, geometry of Bayesian
decision rule, linear regression, logistic regression, perceptron algorithms,
support vector machines, nonlinear transformations.
Learning Theory. Bias and variance, training and testing, generalization,
PAC framework, Hoeffding inequality, VC dimension.
Robustness. Adversarial attack, targeted and untargeted attack, minimum
distance attack, maximum loss attack, regularizationbased attack.
Perturbation through noies. Robustness of SVM.
Prerequisites
We expect audience to have good knowledge in the following three subjects:
To help you determine if you have adequate prerequisites, we encourage you
to try homework 0:
Homework 0: (PDF) 230KB
If you can finish all the problems without hacking, you have met the prerequisites.
Grades
All students will be graded by the following rubric. Graduate students and
undergraduate students will be graded on two different curves.
These weights are approximate. We reserve the right to change them later.
Textbook and References
There is no official textbook for this course. Please refer to the lecture
note section of the website for our lecture materials.
A few good reference books for this course are:
Programming
We will be primarily using Python. As such, we
expect audience to have elementary programming skills, e.g., writing a hello
world program. More information and resources on how to use Python can be
found in the programming section of this website.
Besides Python, we use optimization packages to solve optimization problems.
Of particular importance is CVX.
FAQ

You will know what a linear model is, such as Bayesian decision rule, perceptron algorithm, logistic regressoin, support vector machine, etc.
You will know how to understand a linear classifier from a geometric perspective.
You will know how to attack a classifier.
You will know the how much a machine learning algorithm can do, and what a machine learning algorithm cannot do.
You will know how to implement machine learning algorithms using Python and CVX.
