Machine Learning

2020-I


Course description

Instructor

Fabio A. González
Maestría en Ingeniería de Sistemas y Computación
Universidad Nacional de Colombia

Course goal

The main goal of Machine Learning (ML) is the development of systems that are able to autonomously change their behavior based on experience. ML offers some of the more effective techniques for knowledge discovery in large data sets. ML has played a fundamental role in areas such as bioinformatics, information retrieval, business intelligence and autonomous vehicle development.

The main goal of this course is to study the computational, mathematical and statistical foundations of ML, which are essential for the theoretical analysis of existing learning algorithms, the development of new algorithms and the well-founded application of ML to solve real-world problems.


Course topics

1 Learning Foundations

1.1 Introduction

1.2 Bayesian decision theory

1.3 Estimation

1.4 Linear models

1.5 Design and analysis of ML experiments

2 Kernel Methods

2.1 Kernel methods basics

2.2 Support vector learning

3 Neural Networks

3.1 Neural networks basics

3.2 Deep learning

3.3 Convolutional neural networks

3.4 Recurrent neural networks

3.5 Deep generative models

4 Probabilistic Programming

4.1 Bayesian Methods

4.2 Monte Carlo inference

4.3 Variational Bayes


Evaluation and grading policy

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

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.
  • Coursera Machine Learning Course: one of the first (and still one of the best) machine learning MOOCs taught by Andrew Ng.
  • Stanford Statistical Learning Course: an introductory course with focus in supervised learning and taught by Trevor Hastie and Rob Tibshirani.

Course schedule

Class video 18/06/2020
Week Topic Material Assignments
Mar 3-10 1.1 Introduction Brief Introduction to ML (slides)
Linear Algebra and Probability Review (part 1 Linear Algebra, part 2 Probability)
Assignment 1
Mar 17 1.2 Bayesian decision theory Class video 17/03/2020
Class video 19/03/2020
[Alp14] Chap 3 (slides) (annotated slides)
Mar 24 1.3 Estimation Class video 24/03/2020
[Alp10] Chap 4, 5 (slides) (annotated slides)
Bias and variance (Jupyter notebook)
Mar 24-31
1.5 Design and analysis of ML experiments Class video 26/03/2020
Class video 31/03/2020
Class video 14/04/2020
[Alp10] Chap 19 (slides) (annotated slides)
Assignment 2
Apr 14 2.1 Kernel methods basics Class video 16/04/2020
Class video 21/04/2020
Introduction to kernel methods (slides) (annotated slides)
[Alp10] Chap 13 (slides)
Apr 21-28 2.2 Support vector learning Class video 23/04/2020
Class video 28/04/2020
[Alp10] Chap 13 (slides)
An introduction to ML, Smola (annotated slides)
Support Vector Machine Tutorial, Weston
Máquinas de vectores de soporte y selección de modelos (Jupyter Notebook)
Assignment 3
May 5 3.1 Neural network basics Class video 05/05/2020
Class video 07/05/2020
[Alp10] Chap 11 (slides)
Quick and dirty introduction to neural networks (Jupyter notebook)
Backpropagation derivation handout
May 12 3.2 Deep learning
Class video 12/05/2020
Representation Learning and Deep Learning (slides)
Representation Learning and Deep Learning Tutorial
May 19 3.2 Deep learning Class video 19/05/2020
Deep learning frameworks (slides)
Introduction to TensorFlow (Jupyter notebook)
Neural Networks in Keras (Jupyter notebook)
May 26 3.3 Convolutional neural networks Class video 26/05/2020
Class video 28/05/2020
CNN for image classification en Keras (Jupyter notebook)
ConvNetJS demos
Feature visualization
Assignment 4
Jun 2-9 3.4 Recurrent neural networks Class video 4/06/2020
Class video 9/06/2020
CNN for text classification handout
LSTM language model handout
Jun 16 3.5 Deep generative models Alexander Amini, Deep generative models (slides, video) (from MIT 6.S191)
Deep generative models (Jupyter notebook)
Project proposal: Maximum 2 pages describing problem, objectives and method (17/06/20).
Jun 23 4.1 Bayesian Methods
4.2 Monte Carlo inference
Class video 23/06/2020
Class video 25/06/2020
Radford M. Neal, Bayesian Methods for Machine Learning (slides)
Beery et al., Markov Chain Monte Carlo for Machine Learning, Adv Topics in ML, Caltech (slides)
Alex Rogozhnikov, Hamiltonian Monte Carlo explained
Jun 30 4.3 Variational Bayes Class video 30/06/2020
Variational Bayes in Tensorflow
Variational Autoencoders in Tensorflow
Final Project

Final Projects

jdnietov-ncampuzanoa
Multimodality in fake news detection using neural networks and support vector machines (video)
ml-project-esgantivar-diusecher
Tensor Networks for Visual and Textual Classification (video)
jmarrietar_nibarrerabo_jusramirezru
Deep Learning for Detection of Diabetic Retinopathy in Retinal Fundus Images (video)
Poster_Project-jpbarreraa-dtalero-joaortizro
Contigs Classification for Klebsiella Pneuminae (video)
Poster-daandradec-javajimenezcan-lfpradog
Modelo polifónico para seguimiento de tono musical (video)
Poster-ermahechap-cdsanabriar-ajsuarezf
Abstractive Movie Summarization Based on Subtitles and Scripts (video)
Poster-nmunerag
Manipulating phase of the Fourier Transformation for pattern recognition of prostate cancer in MRI (video)
poster-jasedanod-niparrara-dfricoh
Trash Image Classification Using Deep Learning (video)
Poster-miaortizma_dcabrerat_dagaravitoj
Automatic detection of hand washing quality using deep learning (video)
ml-poster-jiapulidoar-lbsantosg-jschavesr
Painter Classification Using Deep Learning (video)
ml-poster-ansuarezm-hmtoquicac-deperazar
Classification of Music by Genre (video)