Lectures

Here, you can find the recordings of the lecture videos.

  • Lecture 0: Course Overview and Logistics
    Overview: In this lecture, we go through the course logistics.
    [link]

    Lecture Notes:

  • Lecture 1: What is ML? | Clustering by K-means
    Clustering: In this lecture we give a quick preface to ML. We then start by the problem of clustering and derive the K-means clustering algorithm intuitively.
    [link]

    Lecture Notes:

    Further Reads:

    • Introduction to ML, Chapter 1 - Sections 1.1 and 1.3 of [B]
    • Different Domains of ML, Chapter 1, Chapter 2 - Sections 2.1 and 2.2, Chapter 14 - Sections 14.1 and 14.2 of [HTF]
    • Clustering, Chapter 20 of [MK]
  • Lecture 2: Deterministic and Probabilistic Clustering
    Clustering: We get back to K-means clustering algorithm. This time we define the underlying learning problem through risk formulation. We see that K-means clustering is a deterministic solution to this problem. We further see how we can apply clustering in a probabilistic way. This motivates us for the next lecture on density learning.
    [link]

    Lecture Notes:

    Further Reads:

    • Clustering, Chapter 20 of [MK]
  • Lecture 3 - Part I: Density Learning and Maximum Likelihood
    Max-Likelihood: We study the problem of density learning which is the cornerstone of probabilistic modeling. We understand the model, data and learning algorithm of this task. We define likelihood and formulate the generic learning algorithm, i.e., maximum likelihood learning.
    [link]

    Lecture Notes:

    Further Reads:

    • Maximum Likelihood, Chapter 8 of [Probabilistic ML Book]
    • Maximum Likelihood and Clustering, Chapter 22 of [MK]
    • More on Probabilistic Modeling, Chapter 23 of [MK]
  • Lecture 3 - Part II: Gaussian Maximum Likelihood
    Clustering: We look into Gaussian maximum likelihood, where we learn model parameters to fit a Gaussian distribution to data. We see that K-means clustering is indeed a basic form of Gaussian maximum likelihood. This gives us idea about how we could develop a more robust clustering algorithm.
    [link]

    Lecture Notes:

    Further Reads:

    • Gaussian Max-Likelihood, Chapter 2 - Sections 2.1 and 2.3 of [B]
  • Lecture 4 - Part I: Dimensionality Reduction and PCA
    PCA: We study the problem of dimensionality reduction. We investigate linear approach which leads to PCA algorithm. We review some notions in linear algebra, and see how this problem can be interpreted as a learning task.
    [link]

    Lecture Notes:

    Further Reads:

    • PCA, Chapter 12 of [B]
    • PCA, Chapter 14 of [HTF]
    • Latent Space, Chapter 34 of [MK]
  • Lecture 4 - Part II: PCA as Maximal Representation Variance
    PCA: We show that the learning problem is reduced to minimal recovery error or equivalently maximal representation variance. The solution of this problem is given by principal components.
    [link]

    Lecture Notes:

    Further Reads:

    • PCA, Chapter 12 of [B]
    • PCA, Chapter 14 of [HTF]
    • Latent Space, Chapter 34 of [MK]
  • Lecture 5: Deriving PCA and Its Applications
    PCA: We show that maximal representation variance is given by principal components of the sample covariance matrix. We further take a look at PCA applications, and its interpretation as maximum likelihood estimation.
    [link]

    Lecture Notes:

    Further Reads:

    • Probabilistic PCA, Paper Probabilistic Principal Component Analysis written by Michael E. Tipping and Christopher M. Bishop in 1999 giving the statistical viewpoint on PCA
    • Eigenface, Paper Eigenfaces for Recognition written by Matthew Turk and Alex Pentland in 1991 on Using PCA for Face Recognition
    • Recommendation System, Paper Matrix Factorization Techniques for Recommender Systems written by Yehuda Koren et al. in 2009 On Netflix Prize Winner Project
  • Lecture 6 - Part I: Supervised Learning - Risk Minimization vs Maximum Likelihood
    Regression: We start with supervised learning. We look into classical task in this domain and derive general approached for learning from data, namely the risk minimization and maximum likelihood framework.
    [link]

    Lecture Notes:

    Further Reads:

    • Overview on Risk Minimization: Paper An overview of statistical learning theory published by Vladimir N. Vapnik as an overview of his life-going developments in ML in the IEEE Transactions on Neural Networks in 1999
  • Lecture 6 - Part II: Linear Regression
    Linear Regression: We look at the linear regression problem. We then derive the optimal model using risk minimization with MSE as the loss function. We show that this is equivalent to maximum likelihood with Gaussian conditional distribution.
    [link]

    Lecture Notes:

    Further Reads:

    • Linear Regression, Chapter 3 of [B]
    • Linear Regression, Chapter 3 of [HTF]
    • Maximum Likelihood View on Regression, Chapters 11 and 12 of [Probabilistic ML Book]
  • Lecture 7: Logistic Regression
    Classification: We now take a look at classification. The most basic hypothesis set is the set of linear models. We develop logistic regression to find the optimal model with risk minimization. We further consider maximum likelihood learning and show that this is equivalent to average cross-entropy minimization.
    [link]

    Lecture Notes:

    Further Reads:

    • Logistic Regression, Chapter 4 of [B]
    • Linear Classification, Chapter 4 of [HTF]
    • Maximum Likelihood View on Classification, Chapter 10 of [Probabilistic ML Book]
  • Lecture 8 - Part I: Classification with Confidence
    SVC: We talk about classification with confidence. We formulate the problem of linear classification with maximal margin. This leads to the so-called support vector classifier (SVC). This design is given by a constrained optimization problem.
    [link]

    Lecture Notes:

    Further Reads:

    • SVC, Chapter 12, Sections 12.1 and 12.2 of [HTF]
  • Lecture 8 - Part II: Function Optimization - Review
    SVC: To solve the SVC design problem, we need to get some background on constrained optimization. We review function optimization in this lecture.
    [link]

    Lecture Notes:

    Further Reads:

  • Lecture 9 - Support Vector Classification
    SVC: We solve the SVC design problem. We see that the model in this case is determined only by the support vectors. We further observe that the classification in this case is done by checking the cross-correlation. We also discuss the limitation of this design and explain how we can soften the margin, i.e. soft SVC.
    [link]

    Lecture Notes:

    Further Reads:

    • SVC, Chapter 12, Sections 12.1 and 12.2 of [HTF]
    • SVNets Paper Support Vector Networks published by Cortes and Vapnik in 1995
    • Tutorials on SVM Survey A Tutorial on Support Vector Machines for Pattern Recognition published by Burges in 1998
  • Lecture 10 - Support Vector Machine
    SVM: We extend the SVC design to nonlinear problems using high-dimensional features. Using kernel trick, this can be done efficiently without the need to know the feature embedding function. We discuss a few kernels and understand the notion of representation learning.
    [link]

    Lecture Notes:

    Further Reads:

    • Tutorials on SVM Survey A Tutorial on Support Vector Machines for Pattern Recognition published by Burges in 1998
  • Lecture 11 - Generalization and Gradient Descent
    SVM: We understand the notion of generalization. We then develop a simple validation loop for both supervised and unsupervised learning problems. We also review quickly the gradient descent algorithm for function optimization.
    [link]

    Lecture Notes:

    Further Reads:

    • Model Assessment and Selection , Chapter 7 of [HTF]
    • Gradient Descent, Chapter 10: Section 10.10 of [HTF]
  • Lecture 12 - Representation by a Network of Neurons
    NNs: We try to find a systematic way for feature representation. We see that adding a tiny bit of nonlinearity, we can use a linear transform for feature extraction. This gives birth to the idea of neural networks.
    [link]

    Lecture Notes:

    Further Reads:

    • NNs, Chapter 5, Section 5.1 of [B]
    • Intro to NNs, Chapter 11, Sections 11.1 and 11.3 of [HTF]
  • Lecture 13 - Expressive Power of Neural Networks
    NNs: We model neural networks and see that we can use them to approximate any function. This describes the universal approximation theorem. Interestingly, the complexity can be dropped exponentially with depth. This is why deep learning is dominating the ML literature nowadays.
    [link]

    Lecture Notes:

    Further Reads:

    • Expressiveness of NNs: Paper Multilayer feedforward networks are universal approximators published by Hornik et al in 1989
    • Universal Approximation: Paper Approximation by superpositions of a sigmoidal function published in Mathematics of Control, Signals and Systems by George V. Cybenko in 1989
  • Lecture 14 - Learning via Neural Networks
    Training NNs I: We learn how to deploy NNs for a learning task. This repeats the same framework we developed for any parameterized model, now we focus in NNs as the parameterized models.
    [link]

    Lecture Notes:

    Further Reads:

    • Training NNs, Chapter 5, Section 5.2 of [B]
    • Fitting NNs, Chapter 11, Section 11.4 of [HTF]
    • Training NNs, Chapters 13, Section 13.4 of [Probabilistic ML Book]
  • Lecture 15 - Training Neural Networks
    Training NNs II: We develop backpropagation, an algorithm that enables us to compute the risk gradient. We see that using the full dataset for update in each gradient descent algorithm is not tractable, we hence use the stochastic gradient descent (SGD). We finally talk about training, validation, and testing the NNs.
    [link]

    Lecture Notes:

    Further Reads:

  • Lecture 16 - Generalization
    Generalization: We study generalization of a model. We see that the generalization error is in general related to data statistics and model statistics. While we can try to make a trade-off between bias and variance, we cannot push the error below the data variance itself. This is the Bayes error which specifies the minimum possible generalization error.
    [link]

    Lecture Notes:

    Further Reads:

    • Model Assessment and Selection , Chapter 7 of [HTF]
  • Lecture 17 - Part I: Regularization
    Regularization: We talk about various approaches to handle generalization issue in NNs; namely, hyperparameter tuning and various regularization approaches.
    [link]

    Lecture Notes:

    Further Reads:

  • Lecture 17 - Part II: Convolutional Nets I
    CNN I: We talk about convolution and see how we can use it to build a sparse neural layer. This is the building module of convolutional neural nets.
    [link]

    Lecture Notes:

    Further Reads:

  • Lecture 18 - Convolutional Nets II and Sequence Models
    CNN II: We go over some deep CNNs and understand their detailed architectures. We then start the last part of the course, i.e. advances. As the first lecture in this part, we learn about sequence data and how we could process them.
    [link]

    Lecture Notes:

    Further Reads:

  • Lecture 19 - Introduction to Sequence Processing
    Sequences: We briefly go over standard approaches to process data with neural networks. In this way, we understand the idea of RNNs and Transformers and their statistical meaning. We then learn what language models are.
    [link]

    Lecture Notes:

    Further Reads:

    • RNNs, Chapter 10 of [Deep Learning]
    • Basic LM Paper A Neural Probabilistic Language Model published in 2003 by Y. Bengio developing frist really-functioning LM
  • Lecture 20 - Introduction to Generative Modeling
    GenAI: We discuss the general notion of generative modeling. We see that data generation is equivalent to sampling from data distribution. We learn how we can learn a distribution. These are direct approaches for data generation. We also learn the indirect approaches, where we only learn ro sample. We go over the key paradigms, namely GAN, VAE, and Diffusion.
    [link]

    Lecture Notes:

    Further Reads:

  • Lecture 20 - Introduction to Reinforcement Learning
    GenAI: We discuss the basic problem in RL. We understand the notion of optimal policy and the Tabular approaches to solve it. We then get into Deep RL where we can uses Deep NNs to solve the problem. This is a very introductory lecture and we do not get into detailed algorithms.
    [link]

    Lecture Notes:

    Further Reads: