Machine Learning

2025-ii


Course description

Instructor

Santiago Toledo Cortés
Assistant Professor
Department of Information Technology and Process Optimization
Universidad de La Sabana

Course goal

Machine learning (ML) aims to build systems capable of learning from experience and adapting their behavior accordingly. It offers powerful methods for extracting insights from large volumes of data and has become a cornerstone in fields such as bioinformatics, information retrieval, business analytics, and autonomous systems.

This course emphasizes the mathematical, statistical, and computational principles that underpin machine learning. These core concepts are critical for analyzing current algorithms, designing new models, and applying ML effectively to real-world challenges.


Course topics

1 Introduction to Machine Learning

1.1 History of ML

1.2 The learning problem

1.3 Design and analysis of ML experiments

2 Probabilistic models

2.1 Bayesian decision theory

2.2 Parametric estimation

2.3 Non-parametric estimation

3 Instance based learning

3.1 K-nearest neighbors

3.2 Kernel methods

3.3 Support vector machines

4 Function approximation and neural networks

4.1 Neural networks

4.2 Differentiable programming

4.3 Deep learning

4.4 Convolutional neural networks

5 Generative models

5.1 Autoencoders

5.2 Variational autoencoders

5.3 Diffusion models

5.4 Attention mechanisms

5.5 Transformers

5.6 Language models

6 Kernel density matrices

6.1 Density matrices

6.2 KDM for density estimation

6.3 KDM for classification and regression

6.4 KDM for generative modeling


Evaluation and grading policy

  • Assignments 20%
  • Quizzes 20%
  • Exam 30%
  • Final project 30%

Grades


Course resources

References

Additional resources

  • SciPy: scientific, mathematical, and engineering package for Python
  • scikit-learn: machine learning Scipy add-on
  • Kaggle: datascience competition, many interesting data sets and different competitions with prizes.
  • TensorFlow: open source software library for dataflow and differentiable programming across a range of tasks.
  • PyTorch: open source machine learning library based on the Torch library.
  • Keras: high-level neural networks API, written in Python and capable of running on top of TensorFlow, PyTorch, or Jax.
  • Coursera Machine Learning Course: one of the first (and still one of the best) machine learning MOOCs taught by Andrew Ng.
  • [MIT-IntroDL] MIT 6.S191 Introduction to Deep Learning, Spring 2025, MIT
  • [FundDL] Raúl Ramos, Fundamentos de Deep Learning, Universidad de Antioquia, 2021

Course schedule

Week Topic Material Assignments
Jul 22 Course presentation
1.1 History of ML
Reading material and resources
Linear Algebra and Probability Review (part 1 Linear Algebra, part 2 Probability)
[GBC16] Chap 2, Chap 3
Practice problems 1
Jul 29 1.2 The learning problem Synchronous Class:
- Different approaches to solve a classification problem (notebook, video )
- The learning problem ( slides, video)
Reading material and resources
[Alp14] Chap 1 (slides)
[Dei20] Chap 8 (book)
Practice problems 2
Aug 4
1.3 Design and analysis of ML experiments Asynchronous class
- 1. Introduction (video 2m)
- 2. Algorithm preference (video 8m)
- 3. Factors and response (video 6.5m)
- 4. Strategies of experimentation (video 12m)
- 5. ML experiments (video 2m)
- 6. Cross-validation (video 18.5m)
- 7. Bootstrapping (video 15m)
- 8. Performance measures (video 9m)
- 9. ROC curve (video 24m)
- 10. Precision and recall (video 10m)
- 11. Interval estimation (video 14m)
- 12. Hypothesis testing (video 23.5m)
- 13. Error types (video 8.5m)
- 14. Statistics (video 2m)
- 15. Binomial tests (video 2m)
- 16. Normal approximation (video 1m)
- 17. Paired t-test (video 3m)
- 18. McNemar's test (video 3.5m)
- 19. K-fold CV paired t-test (video 3m)
- 20. Anova (video 13.5m)
- 21. Post-hoc tests (video 9m)
Reading material and resources
[Alp14] Chap 19 (slides)
Synchronous class
Meet recording: video
Practice problems 2.5
Aug 11 2.1 Bayesian decision theory Asynchronous class
- 1. Probability and inference (video 8.5m)
- 2. Example MLE derivation (video 18m)
- 3. Classification (video 4m)
- 4. Bayes' rule (video 13m)
- 5. Bayes' rule K > 2 (video 1m)
- 6. Losses and risks (video 7.5m)
- 7. 0/1 loss (video 10m)
- 8. Rejection (video 18.5m)
- 9. Different losses (video 8.5m)
- 10. Discriminant functions (video 9m)
- 11. K=2 classes (video 4m)
Reading material and resources
[Alp14] Chap 3 (slides)
Practice problems 3
Optional additional exercises: [Alp14] Chap 3 Ex. 1-6
Aug 18 2.2 Parametric estimation Asynchronous class
- 1. Parametric estimation (video 1m)
- 2. Maximum likelihood estimation (video 2m)
- 3. Bernoulli/multinomial (video 3m)
- 4. Gaussian distribution (video 1.5m)
- 5. Bias and variance (video 5.5m)
- 6. Bias and variance example (video 31m)
Reading material and resources
[Alp14] Chap 4, 5 (slides)
Bias and variance (Jupyter notebook)
Practice problems 4
Optional additional exercises: [Alp14] Chap 4 Sect 4.10 Ex. 1-8
Sept 9 3.2 Kernel methods Asynchronous class
- 1. Introduction (video 7.5m)
- 2. Input and feature space (video 9m)
- 3. The kernel trick (video 12m)
- 4. Kernel induced feature space (video 8m)
- 5. Kernel approach to ML (video 6.5m)
- 6. Kernel functions (video 12m)
- 7. Embeddings and kernels (video 9.5m)
- 8. Visualizing kernel induced spaces (video 16.5m)
- 9. Kernel algorithms (video 1m)
- 10. Example: linear regression (video 9.5m)
- 11. Solution using optimization (video 4.5m)
- 12. Linear regression as a kernel method (video 7m)
- 13. Dual linear regression (video 8m)
- 14. Solution of dual linear regression (video 10m)
- 15. Coding primal linear regression (video 8m)
- 16. Regularization (video 9m)
- 17. Ridge regression (video 5m)
- 18. Ridge regression as a kernel method (video 8m)
- 19. Different kernel functions (video 19.5m)
Reading material and resources
Introduction to kernel methods (slides)
[Alp14] Chap 13 (slides)
[SC04] Chap 1 and 2
Practice problems 5
Assignment 1
Sept 29 4.1 Neural networks Asynchronous class
- 1. History: the perceptron (video 3m)
- 2. History: artificial neuron (video 4m)
- 3. History: NN criticism (video 3.5m)
- 4. History: backpropagation (video 6.5m)
- 5. History: SVM's and kernels (video 11.5m)
- 6. History: beginning of deep learning (video 3m)
- 7. History: UNNeuro (video 3m)
- 8. Practical example (video 28.5m)
- 9. Backpropagation derivation (video )45m
Reading material and resources
Neural networks, Representation Learning and Deep Learning (slides)
[Alp14] Chap 11 (slides)
Quick and dirty introduction to neural networks (Colab notebook)
Backpropagation derivation handout
Practice problems 7
Sept 4.2 Differentiable programming
Asynchronous class
- 1. Deep learning frameworks (video 22.5m)
- 2. Tensorflow example (video 35m)
- 3. Keras example (video 34.5m)
Reading material and resources
Deep learning frameworks (slides)
Introduction to TensorFlow (Jupyter notebook)
Neural Networks in Keras (Jupyter notebook)
Neural Networks in PyTorch (Jupyter notebook)
Practice problems 8
Oct 4.3 Deep learning
4.4 Convolutional neural networks
Asynchronous class
- 1. Introduction to deep learning (video)
- 2. Convolutional neural networks (video )
- 3. CNN in Keras example (video )
Reading material and resources
Representation Learning and Deep Learning (slides)
[GBC2016] (Chap 9)
CNN for image classification in Keras (Jupyter notebook)
ConvNetJS demos
Feature visualization
Practice problems 9
Oct 5.1 Autoencoders
5.2 Variational autoencoders
Synchronous class
Autoencoders and variational autoencoders (video, ELBO derivation notes)
Reading material and resources
[Bis24] Chap 19 Autoencoders
Ava Amini, Deep generative models (slides, video) (from MIT 6.S191)
Autoencoders and variational autoencoders (Jupyter notebook)
Practice problems 10
Project proposal: 3 persons per group, pdf with maximum 2 pages describing problem, objectives and method (16/06/25)
Assignment 2
Oct 5.4 Attention mechanisms
5.5 Transformers
Synchronous class
Introduction to Transformers (video, Jupyter notebook)
Reading material and resources
[Bis24] Chap 12 Transformers
Practice problems 11
Oct 5.6 Language models
Synchronous class
Reading material and resources
[Bis24] Chap 12 Transformers
Oct 5.6 Kernel density matrices Reading material and resources
- González, F. A., Ramos-Pollán, R., & Gallego-Mejia, J. A. Kernel Density Matrices for Probabilistic Deep Learning, arXiv: 2305.18204.
- An Introduction to Kernel Density Matrices (notebook)
- Kernel Density Matrices Library https://github.com/fagonzalezo/kdm
Nov Final Project Final project

Final Projects