Machine learning I
MICRO-455
Media
Lecture 4 | Part 1, Recap of Probabilities and Densities (optional)
13.10.2020, 18:48
LASA - Machine Learning Courses
Lecture 11 | Part2, Course Overview
20.12.2024, 12:31
Lecture 11 | Part 1, ImbalancedDatasets, MissingDatapoints, IncrementalLearning
20.12.2024, 12:24
Lecture 4 - Hierarchical Clustering
06.10.2024, 21:21
Lecture 3 I Part 2, ICA - Algorithm
01.10.2024, 22:24
This video describes the main steps of the Independent Component Analysis algorithm an unsupervised machine learning technique for blind source decomposition.
Lecture 3 I Part 1, ICA - Principle
01.10.2024, 22:19
This video presents the principle of Independent Component Analysis (ICA), an unsupervised machine learning method for blind source analysis.
AML-class2
09.03.2023, 16:17
This video is the recorded session of 8th of March held by Dr. Aradhana Nayak on Kernel K-Means.
Handling dataset lecture
08.03.2023, 13:48
This is the video trimmed from the lecture 4 about how to handle different challenges in our dataset!
Lec4-interactive-exercisesKmeans
07.03.2023, 10:54
Interactive session of previous year on Kmeans clustering.
AML-class1-video2
02.03.2023, 10:30
Recording video of first session: Introduction to PCA and Kernels
AML-class1-video1
02.03.2023, 10:25
Recording video of first session: course info
Lecture 1 | Part 2 , Pitfalls and Caveats in Machine Learning
06.09.2020, 21:39
Lecture 12 | Part 1 (Advanced Machine Learning), Linear and kernel CCA
12.06.2021, 10:38
Lecture 8 | Part 3, Ridge Regression
14.05.2021, 08:29
Lecture 19 | Part 1 (Lecture 10 - Advanced Machine Learning), Discrete Reinforcement Learning
03.05.2021, 22:29
Lecture 18 | Part 1 (Lec 9 - Advanced Machine Learning), Gaussian Process Regression
26.04.2021, 18:26
Lecture 17 | Part 2 - (Lec 7) Advanced Machine Learning, SVR Extensions: Nu-SVR and RVR
14.04.2021, 17:04
Lecture 14 | (Lec 4) Advanced Machine Learning, Spectral Clustering and Laplacian Eigenmaps
23.03.2021, 13:25
Lecture 13 | (Lec 3) Advanced Machine Learning, Kernel K-means
14.03.2021, 21:44
Lecture 11 | (Lec 2) Advanced Machine Learning, Kernel PCA
01.03.2021, 17:36
Lecture 9 | Part 2, Comparison-GMR-SV
02.12.2020, 16:37
Lecture 9 | Part 1, Gaussian Mixture Regression
02.12.2020, 13:30
Lecture 8 | Part 3, Support Vector Regression (SVR)
23.11.2020, 13:48
Lecture 8 | Part 2 , Linear & Weighted Regression
22.11.2020, 10:29
Lecture 8 | Part 1, Regression Introduction
21.11.2020, 21:04
Lecture 7 | Part 2, Neural Networks: Multi-layers
10.11.2020, 18:21
Lecture 7 | Part 3, Deep neural networks and more
10.11.2020, 13:51
Lecture 7 | Part 1, Neural Networks: Perceptron
10.11.2020, 13:40
Lecture 6 | Part 7, Pros & Cons of SVM
04.11.2020, 10:44
Lecture 6 | Part 6, Multiclass SVM
04.11.2020, 10:43
Lecture 6 | Part 7, SVM Summary
03.11.2020, 21:31
Lecture 6 Part 5 , SVM Hyperparameters
03.11.2020, 19:53
Lecture 6 Part 4, Nonlinear SVM
03.11.2020, 18:58
Lecture 6 Part 3, SVM for Non-separable datasets
03.11.2020, 15:14
Lecture 6 Part 2, Linear SVM derivation
03.11.2020, 14:59
Lecture 6 Part 1, SVM - Principle
03.11.2020, 14:49
Lecture 5 | Part 4, Metrics for classification
25.10.2020, 09:11
Lecture 6 | Part 3, Quantifying performance
25.10.2020, 00:16
Lecture 5 | Part 2, Classification with GMM
23.10.2020, 23:09
Lecture 5 | Part 3, KNN Classifier
23.10.2020, 22:25
Lecture 5 | Part 1, Classification - Introduction
23.10.2020, 22:24
Lecture 4 | Part 4, Probabilistic Interpr. of K-Means & GMM
17.10.2020, 10:06
Lecture 4 | Part 1, Recap of Probabilities and Densities (optional)
13.10.2020, 18:48
Lecture 4 | Part 2, Fitting data with one Gauss function
11.10.2020, 22:31
Lecture 4 | Part 3, Fitting and clustering data with Mixture of Gauss Functions
11.10.2020, 22:00
Lecture 3 | Part 3, Evaluation for Clustering
04.10.2020, 22:17
Lecture 3 | Part 2 -2 , Soft K-means & DBSCAN
04.10.2020, 21:24
Lecture 3 | Part 1, Clustering Principle
02.10.2020, 21:52
Lecture 3 | Part 2-1, K-means
02.10.2020, 21:00
Lecture 2 | Part 3 , PCA - Derivation
13.09.2020, 22:23
Lecture 2 | Part 2, PCA - Intuition
09.09.2020, 19:06
Lecture 2 | Part 1, Principal Component Analysis - Principle
09.09.2020, 18:31
Lecture 1 | Part 1, Introduction to Machine Learning
06.09.2020, 21:37
Lecture 20 | Part2 - (Lec 10) Advanced Machine Learning Course, HMM - Applications to robotics
21.05.2020, 23:28
We present the Baysian extension of HMM to relax the need to determine the number of hiddent states and some applications of this technique to automatically segment and model sequences of actions in robots trained to perform cooking tasks.
Lecture 20 | Part 1 - (Lec 10) Advanced Machine Learning Course, Hidden Markov Models (HMM) - Theory
21.05.2020, 23:10
Hidden Markov Model is a method for modeling time series.
Lecture 16 | Part 4 - (Lec 6) Advanced Machine Learning Course, Ransac and applications
24.04.2020, 16:02
Lecture 16 | Part 3 - (Lec 6) Advanced Machine Learning , Features Selections
24.04.2020, 16:02
Lecture 16 | Part 2 - (Lec 6) Advanced Machine Learning , Boosting
24.04.2020, 15:58
Lecture 16 | Part 1 - (Lec 6) Advanced Machine Learning , Bagging
24.04.2020, 15:52
Lecture 14 | Advanced Machine Learning Course, Spectral Clustering - Live lecture 2020
10.04.2020, 18:06
Lecture 13 - Live lecture in 2020, Lecture 13 - Kernel K-means
09.04.2020, 11:33
Lecture 15 | Part 5 (Lec 5) Advanced Machine Learning Course, Support Vector Clustering: SVC
06.04.2020, 10:18
Lecture 15 | Part 4 - (Lec 5) Advanced Machine Learning Course, Semi-supervised Clustering: Transductive SVM
06.04.2020, 09:26
Lecture 15 | Part 3 - (Lec 5) Advanced Machine Learning Course, RVM | Relevance Vector Machine
06.04.2020, 08:59
Lecture 15 | Part 2 - (Lec 5) Advanced Machine Learning Course, Nu-SVM
05.04.2020, 22:00
Lecture 16 | Part 1 - Advanced Machine Learning Course, Brief review of C-SVM
05.04.2020, 21:35
Media
Lecture 4 | Part 1, Recap of Probabilities and Densities (optional)
13.10.2020, 18:48
LASA - Machine Learning Courses
Lecture 11 | Part2, Course Overview
20.12.2024, 12:31
Lecture 11 | Part 1, ImbalancedDatasets, MissingDatapoints, IncrementalLearning
20.12.2024, 12:24
Lecture 4 - Hierarchical Clustering
06.10.2024, 21:21
Lecture 3 I Part 2, ICA - Algorithm
01.10.2024, 22:24
This video describes the main steps of the Independent Component Analysis algorithm an unsupervised machine learning technique for blind source decomposition.
Lecture 3 I Part 1, ICA - Principle
01.10.2024, 22:19
This video presents the principle of Independent Component Analysis (ICA), an unsupervised machine learning method for blind source analysis.
AML-class2
09.03.2023, 16:17
This video is the recorded session of 8th of March held by Dr. Aradhana Nayak on Kernel K-Means.
Handling dataset lecture
08.03.2023, 13:48
This is the video trimmed from the lecture 4 about how to handle different challenges in our dataset!
Lec4-interactive-exercisesKmeans
07.03.2023, 10:54
Interactive session of previous year on Kmeans clustering.
AML-class1-video2
02.03.2023, 10:30
Recording video of first session: Introduction to PCA and Kernels
AML-class1-video1
02.03.2023, 10:25
Recording video of first session: course info
Lecture 1 | Part 2 , Pitfalls and Caveats in Machine Learning
06.09.2020, 21:39
Lecture 12 | Part 1 (Advanced Machine Learning), Linear and kernel CCA
12.06.2021, 10:38
Lecture 8 | Part 3, Ridge Regression
14.05.2021, 08:29
Lecture 19 | Part 1 (Lecture 10 - Advanced Machine Learning), Discrete Reinforcement Learning
03.05.2021, 22:29
Lecture 18 | Part 1 (Lec 9 - Advanced Machine Learning), Gaussian Process Regression
26.04.2021, 18:26
Lecture 17 | Part 2 - (Lec 7) Advanced Machine Learning, SVR Extensions: Nu-SVR and RVR
14.04.2021, 17:04
Lecture 14 | (Lec 4) Advanced Machine Learning, Spectral Clustering and Laplacian Eigenmaps
23.03.2021, 13:25
Lecture 13 | (Lec 3) Advanced Machine Learning, Kernel K-means
14.03.2021, 21:44
Lecture 11 | (Lec 2) Advanced Machine Learning, Kernel PCA
01.03.2021, 17:36
Lecture 9 | Part 2, Comparison-GMR-SV
02.12.2020, 16:37
Lecture 9 | Part 1, Gaussian Mixture Regression
02.12.2020, 13:30
Lecture 8 | Part 3, Support Vector Regression (SVR)
23.11.2020, 13:48
Lecture 8 | Part 2 , Linear & Weighted Regression
22.11.2020, 10:29
Lecture 8 | Part 1, Regression Introduction
21.11.2020, 21:04
Lecture 7 | Part 2, Neural Networks: Multi-layers
10.11.2020, 18:21
Lecture 7 | Part 3, Deep neural networks and more
10.11.2020, 13:51
Lecture 7 | Part 1, Neural Networks: Perceptron
10.11.2020, 13:40
Lecture 6 | Part 7, Pros & Cons of SVM
04.11.2020, 10:44
Lecture 6 | Part 6, Multiclass SVM
04.11.2020, 10:43
Lecture 6 | Part 7, SVM Summary
03.11.2020, 21:31
Lecture 6 Part 5 , SVM Hyperparameters
03.11.2020, 19:53
Lecture 6 Part 4, Nonlinear SVM
03.11.2020, 18:58
Lecture 6 Part 3, SVM for Non-separable datasets
03.11.2020, 15:14
Lecture 6 Part 2, Linear SVM derivation
03.11.2020, 14:59
Lecture 6 Part 1, SVM - Principle
03.11.2020, 14:49
Lecture 5 | Part 4, Metrics for classification
25.10.2020, 09:11
Lecture 6 | Part 3, Quantifying performance
25.10.2020, 00:16
Lecture 5 | Part 2, Classification with GMM
23.10.2020, 23:09
Lecture 5 | Part 3, KNN Classifier
23.10.2020, 22:25
Lecture 5 | Part 1, Classification - Introduction
23.10.2020, 22:24
Lecture 4 | Part 4, Probabilistic Interpr. of K-Means & GMM
17.10.2020, 10:06
Lecture 4 | Part 1, Recap of Probabilities and Densities (optional)
13.10.2020, 18:48
Lecture 4 | Part 2, Fitting data with one Gauss function
11.10.2020, 22:31
Lecture 4 | Part 3, Fitting and clustering data with Mixture of Gauss Functions
11.10.2020, 22:00
Lecture 3 | Part 3, Evaluation for Clustering
04.10.2020, 22:17
Lecture 3 | Part 2 -2 , Soft K-means & DBSCAN
04.10.2020, 21:24
Lecture 3 | Part 1, Clustering Principle
02.10.2020, 21:52
Lecture 3 | Part 2-1, K-means
02.10.2020, 21:00
Lecture 2 | Part 3 , PCA - Derivation
13.09.2020, 22:23
Lecture 2 | Part 2, PCA - Intuition
09.09.2020, 19:06
Lecture 2 | Part 1, Principal Component Analysis - Principle
09.09.2020, 18:31
Lecture 1 | Part 1, Introduction to Machine Learning
06.09.2020, 21:37
Lecture 20 | Part2 - (Lec 10) Advanced Machine Learning Course, HMM - Applications to robotics
21.05.2020, 23:28
We present the Baysian extension of HMM to relax the need to determine the number of hiddent states and some applications of this technique to automatically segment and model sequences of actions in robots trained to perform cooking tasks.
Lecture 20 | Part 1 - (Lec 10) Advanced Machine Learning Course, Hidden Markov Models (HMM) - Theory
21.05.2020, 23:10
Hidden Markov Model is a method for modeling time series.
Lecture 16 | Part 4 - (Lec 6) Advanced Machine Learning Course, Ransac and applications
24.04.2020, 16:02
Lecture 16 | Part 3 - (Lec 6) Advanced Machine Learning , Features Selections
24.04.2020, 16:02
Lecture 16 | Part 2 - (Lec 6) Advanced Machine Learning , Boosting
24.04.2020, 15:58
Lecture 16 | Part 1 - (Lec 6) Advanced Machine Learning , Bagging
24.04.2020, 15:52
Lecture 14 | Advanced Machine Learning Course, Spectral Clustering - Live lecture 2020
10.04.2020, 18:06
Lecture 13 - Live lecture in 2020, Lecture 13 - Kernel K-means
09.04.2020, 11:33
Lecture 15 | Part 5 (Lec 5) Advanced Machine Learning Course, Support Vector Clustering: SVC
06.04.2020, 10:18
Lecture 15 | Part 4 - (Lec 5) Advanced Machine Learning Course, Semi-supervised Clustering: Transductive SVM
06.04.2020, 09:26
Lecture 15 | Part 3 - (Lec 5) Advanced Machine Learning Course, RVM | Relevance Vector Machine
06.04.2020, 08:59
Lecture 15 | Part 2 - (Lec 5) Advanced Machine Learning Course, Nu-SVM
05.04.2020, 22:00
Lecture 16 | Part 1 - Advanced Machine Learning Course, Brief review of C-SVM
05.04.2020, 21:35
General Informations
Course's general objective and approach
Real-world engineering applications must cope with a large dataset of dynamic variables, which cannot be well approximated by classical or deterministic models. This course gives an overview of methods of Machine Learning for the analysis of non-linear, highly noisy, and multi-dimensional data. We will see methods to pre-process the data in order to find features. We will see methods for clustering, classification, and nonlinear regression.
Because machine Learning can only be understood
through practice, by using the algorithms, the course is
accompanied by practicals during which students test a variety
of machine learning algorithms with real-world data.
=========================================================================================
Time and Location of the course
To be inclusive of all students: from those who want to sit in a class given live (onsite) and those who cannot/prefer not to come on campus, the class will be given as a flip-class with all lecture material available online. A liver interactive lecture, exercise session and practice session will be given on-site but with the possibility for these to be also followed on-line through zoom or discord. Class is hence deomposed as follows:
9h15 - 10 am: Watch pre-recorded video of the theoretical material of the class. The link to the video repository and lecture notes are given below.
10h15 - 11 am: Interactive lecture is held simultaneously in a lecture room live in room CE 1 2 and on zoom: ZOOM ROOM is https://epfl.zoom.us/j/92908404268
11h15 - 1 pm: Exercise session held in room CE 1 2. Solutions will be videotaped and posted on moodle.
9h15 - 1 pm Practice sessions (on special days, see schedule): are given both on campus in rooms BC07-08, CM 1 103 and online (DISCORD ROOM)
=========================================================================================
Exam:
=========================================================================================
ADDITIONAL INFORMATION:
- The repository of all videos for the class is available on a dedicated SwitchTube Channel: LASA Machine Learning Course.
- The Lecture Notes for the course can be downloaded at this link.
=========================================================================================
Instructors
LASA Laboratory
Swiss Federal Institute of Technology - EPFL
CH-1015 Lausanne, Switzerland
email: aude.billard@epfl.ch
Office Hours: Thursday, 13:00 to 14:00, by appointment. (room ME.A3.393)
Tel: +41 (21) 693.54.64
fax: +41 (21) 693.78.50
=================================================================
Teaching Assistants
- Erfan Etesami (erfan.etesami@epfl.ch)
- Baiyu Peng (baiyu.peng@epfl.ch)
- Lin Du (lin.du@epfl.ch)
- Yang Liu (yang.liuu@epfl.ch)
Software MachineLearningDemos
A suite of algorithms has been implemented for
you in the form of a user-friendly program that allows you to
play with data and to study how each method performs in
different tasks of classification, clustering, and regression. The software runs on Windows and requires the .Net
Framework 3.0 (which should be installed in your machine
already, but if it isn't, pick it up here). Download MLDemos here.
If you do not run windows, you can use the EPFL virtual machine, see instructions below:
Run virtual machine from browser: follow this link
or alternatively:
Installing the virtual machine: Download and install the VMware Horizon Client from HERE. Open the VMware horizon client and add the server: vdi.epfl.ch; login with your GASPAR account credential. Select the STI Windows 10 Virtual Machine.
==================================================================
GRADING:
Grading of the course is 100% on the final written exam during the regular winter exam session
INTERMEDIARY EVALUATIONS:
Students will be given the opportunity to evaluate their understanding of the course through quizzes given throughout the course. The quizzes are not graded.
===================================================================
POLLING SYSTEM:
The course will use TurningPoint to poll students for questions during the interactive exercise session. Please follow the next steps to set up:
1) GO TO https://participant.turningtechnologies.eu/en/join
2) Choose GUEST login
3) Enter the SESSION ID: appliedml2020
Full instructions are available on this web-page (responseware=turningpoint).
12 September -- Introduction to ML and Practicalites
Prior to Coming to Class (not in class):
In the hour prior to the interactive lecture (9h15-10h00), or whenever you like, you are expected to
- Watch the 2 videos that introduce basic concepts in Machine Learning, see below (~40 minutes)
- Take the quiz.
Time: 10:15-13:00
This first class will be divided into two sessions:
10:15-12:00 Introduction to Machine Learning and Course Format (Zoom recording)
Objective: This first lecture is decomposed into two parts introduces general concepts used in machine learning through two pre-recorded videos which students are invited to watch prior to joining the class. During the class, we will take the time to introduce the format of the class and the means by which students will be able to ask questions and to interact with the lecturer and the teaching assistants, whether they are on zoom or in the live session.
- Slides | Lecture 1 - Introduction to ML (File)
- (Text and media area)
- Label (Text and media area)
- Slides | Lecture 1 - Pitfalls and Caveats in ML (File)
- Slides - intro to ML (File)
- Slides - Practicalities for the Class (File)
- Videos | Introduction Interactive lecture (2024) (URL)
19 September -- Principal Component Analysis
Time: 10:15-13:00
Objective: This lecture will introduce Principal Component Analysis, a technique for unsupervised learning, which will be used in the practice sessions as a pre-processing method prior to clustering and classification. The application of PCA on the data has two advantages: a) it reduces the dimensionality of the data and hence computation costs, b) it extracts features that may ease clustering and classification.
The theory is presented in two pre-recorded lectures. The live interactive session and exercise sessions will allow students to familiarize themselves with the concepts through examples and hands-on exercises.
TODO prior to coming to class:
- Watch the pre-recorded lectures ~40 minutes
- Do the quiz
- FEEDBACK: Lecture - PCA (Feedback)
- FEEDBACK: Exercises - PCA (Feedback)
- Exercises PCA (File)
- Exercises PCA - Solutions (File)
- Label (Text and media area)
- Slides | PCA - Principle (File)
- Label (Text and media area)
- Slides | PCA - Intuition (File)
- Label (Text and media area)
- Slides | PCA - Derivation (File)
- Slides / PCA - Interactive Lecture (File)
- Video | Interactive Lecture - Principal Component Analysis (2024) (URL)
- Video | Solutions to exercises on PCA (URL)
26 September-- Practice session on computer : PCA
Time: 09:15-13:00
Objective: This is a practice session on the computer. It will allow you to familiarize yourself with PCA by applying PCA to a real-world dataset. Your task will be to generate a dataset of images and to use PCA to a) reduce the dimensionality of the data, b) extract interesting features so that you could separate the different groups of images.
TODO prior to class: Follow instructions (see General section on top of this page) on how to install MLDemos.
TODO during class:
- Follow presentation by the lecturer at the beginning of the class.
- Use the instructions below to help you navigate through the practice session.
- If you have questions for the teaching assistants (TA), type your question in the discord channel, or call a TA, see the instructions given in class.
- MLDemos - Windows (File)
- PCA Practical - Instructions (File)
- PCA Practical - Solutions (File)
- Datasets for PCA (Folder)
- FEEDBACK: Practical - PCA (Feedback)
3 October - Independent Component Analysis
Time: 10:15-13:00
Objective: This lecture will introduce Independent Component Analysis, an unsupervised learning for reducing the dimensionality, which will be compared to PCA seen last week. ICA is used primarily for blind source decomposition. This is also referred to as the cocktail party problem, when one tries to listen to only one conversation across the multiple conversations ongoing in the room. ICA enables hence to recover the original sources from a mixed signal. We will see applications for sound analysis and image analysis.
The theory is presented in two pre-recorded lectures. The live interactive session and exercise sessions will allow students to familiarize themselves with the concepts through examples and hands-on exercises.
TODO prior to coming to class:
- Watch the pre-recorded lectures
- Do the quiz
Recap of Porbability and Statistics: It is recommended for those not familiar with notions of probability density functions (PDF), statistics, etc., to watch the pre-recorded video called "Prop-pdf-recap" provided here. The corresponding slides and the link to the video is also available below.
- FEEDBACK: Lecture - ICA (Feedback)
- FEEDBACK: Exercises - ICA (Feedback)
- Video (Optional): Recal of Probability and Statistics (URL)
- Text and media area (Text and media area)
- Slides | ICA - Principle (File)
- Text and media area (Text and media area)
- Slides | ICA - Algorithm (File)
- ICA - Interactive Video Lecture - 2024 (Text and media area)
- ICA Interactive Lecture (File)
- ICA Exercise (File)
- ICA MATLAB Code (File)
- ICA Exercise - Solution (File)
- Prop-pdf-recap (File)
10 October -- Clustering
Time: 10:15-13:00
Objective: This lecture will introduce Clustering, a technique for finding structure in data through automatic grouping of datapoints. This is a type of unsupervised learning. It differs from classification, in that it does not know how many clusters exist and to which cluster the data belong. It hence has to discover both the number of clusters and to which cluster each datapoint below. We will see which metric can be used to assess how good the clustering is.
The theory is presented in pre-recorded lectures. Careful, this week the videos make up for 75 minutes. The live interactive session and exercise sessions will allow students to familiarize themselves with the concepts through examples and hands-on exercises.
TODO prior to coming to class:
- Watch the pre-recorded lectures ~ 75 minutes
- Do the quiz
- Video 1 | Clustering Principle (Text and media area)
- Slides | Part 1 - Clustering - Principle (File)
- Video 2-1 | K-means Video 2-2 | Soft K-means & DBS... (Text and media area)
- Slides | Part 2 - Clustering-K-means-DBScan (File)
- Video 3 | Hierarchical Clustering (Text and media area)
- Slides | Part 3 - Hierarchical Clustering (File)
- Video 4 | Evaluation for Clustering (Text and media area)
- Slides | Part 4 - Clustering-Evaluation-Techniques (File)
- Slides | Clustering - Interactive Lecture (File)
- Interactive Lecture on Clustering (URL)
- Exercises | Clustering (File)
- Solutions exercises | Clustering (File)
- Optional Reading | DataClustering-survey (File)
- Optional Reading | DBScan (File)
- FEEDBACK: Lecture - Clustering (Feedback)
- FEEDBACK: Exercises - Clustering (Feedback)
17 October -- Clustering with GMM
Time: 10:15-13:00
Objective: This
lecture starts with a brief recap of key notions in probabilities and densities. This includes notion of statistical independence, correlatedness, definition of probabilities and probability density functions (pdf). We then show how we can fit data with one and more Gauss functions and how we can automatically estimate the best set of hyperparameters for a mixture of Gauss functions (GMM) using external metrics, AIC, and BIC criteria. GMM will be used as an alternative approach to cluster data in the following practice session. GMM will also be used for classification and regression later in the course.
The theory is presented in pre-recorded lectures. The live interactive session and exercise sessions will allow students to familiarize themselves with the concepts through examples and hands-on exercises.
TODO prior to coming to class:
- Watch the pre-recorded lectures ~ the first video is optional (recap of prob/densities) and lasts about 25 minutes - The other videos present the main class material and last 50 minutes total.
- Do the quiz
- Label (Text and media area)
- Slides | Prob-pdf-recap (Optional Slides and Videos - RECAP) (File)
- Label (Text and media area)
- Slides | Fitting data with one Gauss function (File)
- Label (Text and media area)
- Slides | Fitting and clustering data with GMM (File)
- Label (Text and media area)
- Slides | Prob. K-means to GMM (File)
- Complement E-M for GMM (File)
- Video | Interactive Lecture (URL)
- Slides | pdf-GMM-interactive-lecture (File)
- Exercises PDF-GMM (File)
- Video | Solutions Exercises Pdf - GMM (URL)
- Exercises PDF & GMM - Solutions (File)
- FEEDBACK: Lecture - PDF & GMM (Feedback)
- FEEDBACK: Exercises - PDF & GMM (Feedback)
31 October -- Classification with GMM and kNN
Time: 10:15-13:00
Objective: This course presents two ways in which to perform classification. We first see how to perform binary and multi-class classification with Gaussian Mixture models. Then, we introduce K-nearest Neighbors, one of the simplest classifiers that exist. We finish by introducing the different metrics one must use to determine how good classification is.
TODO prior to coming to class:
- Watch the four videos (60 min).
- Do the quiz.
- Label (Text and media area)
- Slides | Introduction to Classification (File)
- Label (Text and media area)
- Slides | Classification with GMM+Bayes (File)
- Label (Text and media area)
- Slides | Classification with KNN (File)
- Label (Text and media area)
- Slides | Metrics for Classification (File)
- Slides | No solution - for interactive lecture on GMM and KNN (File)
- Video | Interactive Lecture (URL)
- GMM + Bayes Exercise (File)
- GMM + Bayes Exercise - Solution (File)
- GMM + Bayes Exercise - Slides (File)
- GMM + Bayes Exercise - Slides (from previous semesters) (File)
- Video | Exercises (from previous semesters) (URL)
- FEEDBACK: Lecture - GMM & Bayes (Feedback)
- FEEDBACK: Exercises - GMM & Bayes (Feedback)
7 November -- Practice session 2 : Clustering
Time: 09:15-13:00
Objective: This
is a practice session on computer. It will allow you to familiarize
yourself with Clustering and the different metrics one can use to determine how good a clustering solution is. You will compare the clustering techniques seen in class, namely K-means, soft K-means, DBSCAN and GMM. Comparison will be qualitative and quantitative. You will explore the use of the F1-measure for semi-supervised clustering.
TODO during class:
- Follow the questions and instructions in the assignement sheet.
- If you have questions for the teaching assistants (TA), type your question in the discord channel, or call a TA, see instructions given in class.
- Practical 2 - Clustering - Instructions (File)
- Datasets for the clustering practical session (File)
- Practical 2 - Clustering - Solutions (File)
- FEEDBACK: Practical - Clustering (Feedback)
14 November -- Classification with SVM
Time: 10:15-13:00
Objective: This
course presents Support Vector Machine (SVM), a method to perform classification. We will first introduce linear SVM and extend this to non-linear SVM by introducing the notion of kernel.
TODO prior to coming to class:
- Watch the videos (~60 min).
- Do the quiz.
- Label (Text and media area)
- Label (Text and media area)
- Complement - Convex Optimization (File)
- Complement SMO algorithm (File)
- Label (Text and media area)
- Slides | Linear-SVM (first 3 videos) (File)
- Label (Text and media area)
- Label (Text and media area)
- Label (Text and media area)
- Label (Text and media area)
- Slides | Non-linear-SVM & Multi-Class Classification & Pros & Cons of SVM(Slides | Non-linear-SVM (last 4 videos) (File)
- Slides | SVM - Interactive Lecture (File)
- SVM - Interactive Lecture - no - solutions (File)
- Video | SVM Interactive Lecture (URL)
- SVM Exercise (File)
- SVM Exercise - Solution (File)
- SVM Exercise - Solution - Slides (File)
- SVM Exercise - Solution - Video (Text and media area)
- SVM Exercise - Extra (File)
- SVM Exercise - Extra - Solution (File)
- FEEDBACK: Lecture - SVM (Feedback)
- FEEDBACK: Exercises - SVM (Feedback)
21 November -- Classification with NN
Introduction to Neural Networks
Time: 10:15-13:00
Objective: This
course gives a brief overview of Neural Networks from the perceptron to multi-layer neural networks trained with backpropagation. It also gives a brief introduction to recurrent neural networks.
The material of this lecture is not optional but will appear in the exam,
TODO prior to coming to class:
- Watch the videos.
- Do the quiz.
- Slides | Neural Networks -- Part 1 -- Introduction and the Perceptron (File)
- Label (Text and media area)
- Neural Networks -- Part 2 -- Multi-layer Neural Networks (File)
- Label (Text and media area)
- Neural Networks -- Part 3 -- Deep and other architectures (File)
- Label (Text and media area)
- Slides | Interactive Lecture on NN (File)
- Video | Interactive Lecture on NN (URL)
- Neural Network Exercises (File)
- Neural Networks Exercises Solutions (File)
- Video | Solution Exercises NN 1 -4 (URL)
- Code of simple classfication examples by NN (Folder)
28 November -- Practice session 3 : Classification
Time: 09:15-13:00
Objective: This
is a practice session on computer. It will allow you to familiarize
yourself with Classification and the different metrics one can use to assess performances of classification methods. You will compare the
classification techniques seen in class, namely GMM + Bayes, SVM, KNN and NN. Comparison will be quantitative.
IMPORTANT: For this practical you will need to use an additional software, the MLDetect, which will allow you to perform object recognition in videos. You can download MLDetect alongside with video tutorials from here.
NEW WORKING LINK FOR MLDETECT: https://www.dropbox.com/sh/9027vnjpz5qd3po/AABSwbgOyfK3NGB7V71P5g5ya?dl=0
Data & Tutorial:
1) https://www.dropbox.com/sh/yxjhvwc2cf1bqvm/AABkmos1F7bRveqyVn5SpCHYa?dl=0
2) https://www.dropbox.com/sh/x2ivq4r7g214jtn/AADEQOl3yX1F8KG19cJc3Mjva?dl=0
TODO during class:
- Follow the questions and instructions in the assignment sheet.
- If you have questions for the teaching assistants (TA), type your question in the discord channel, or call a TA, see instructions given in class.
- Classification datasets (File)
- Practical Classification (File)
- Practical Classification - Solution (File)
- FEEDBACK: Practical - Classification (Feedback)
OPTIONAL (Background to 5th December Lecture) -- Introduction to Regression
Objective: This
is a set of videos to present background for Oct. 5 courses. It gives a brief overview of linear, weighted and locally weighted regression. These videos are only meant for those who are not familiar with this material.
TODO prior to coming to class on nonlinear regression:
- Watch the videos (~60 min), if you need a refresh of memory on basics in linear and weighted regression
- Label (Text and media area)
- Slides | Regression-Introduction (File)
- Label (Text and media area)
- Slides | Weighted Regression (File)
- Exercises on Linear and Weighted Regression (Optional) (File)
- Solution Exercises Linear and Weighted Regression (File)
5 December Methods for Nonlinear Regression
Time: 10:15-13:00
Objective: This course covers methods for non-linear regression. We cover two methods: Support Vector Regression and Gaussian Mixture Regression.
Note that KNN and NN can also perform non-linear regression but are
not covered as they are similar in principle to the classification
version. You will get to test them during the final practice session on
regression.
TODO prior to coming to class:
- Refresh your memory using optional videos on regression, is needed (optional)
- Watch the videos on SVR and GMR, and comparison across the two methods
- Do the two quizzes
- Label (Text and media area)
- Slides | SupportVectorRegression(SVR) (File)
- Label (Text and media area)
- Slides | Gaussian Mixture Regression (File)
- Label (Text and media area)
- Slides | Comparison-GMR-SVR (File)
- Video | Nonlinear regresssion - Interactive lecture (URL)
- Slides | Interactive Lecture Nonlinear Regression (File)
- Complement | Derivation SVR (File)
- Exercises SVR & GMR (File)
- Solutions Exercise SVR & GMR (File)
- FEEDBACK: Lecture - Nonlinear Regression (Feedback)
- FEEDBACK: Exercises - Nonlinear Regression (Feedback)
12 December Practice session 4: Nonlinear Regression
Time: 09:15-13:00
Objective: This is a practice session on the computer. It will allow you to familiarize yourself with Regression and the different metrics one can use to assess the performances of classification methods. You will compare the regression techniques seen in class, namely GMR, SVR, and NN. Comparison will be quantitative.
TODO during class:
- Follow the questions and instructions in the assignment sheet.
- If you have questions for the teaching assistants (TA), type your question in the discord channel, or call a TA, see the instructions given in class
- Practical Regression - Instructions (File)
- Practical Regression - Solutions (File)
- Dataset regression 2020 (File)
19 December -- Imbalanced Datasets and Incremental Learning, Class Overview, Q&A Session
CAREFUL: The entire time will be devoted to a lecture on-site and given simultaneously on-line, on zoom.
9h15-12h00:
Brief Overview of 3 Complementary Topics: Handling Missing Data and Imbalanced Datasets, Enable Incremental Learning
Overview of the course
Exam instructions
12h00-13h00: Open Q&A regarding exam and material of the class
- Text and media area (Text and media area)
- Slides | Missing Data, Unbalanced Dataset, Incremental Learning (File)
- Text and media area (Text and media area)
- Slides | Course Overview (File)
- Text and media area (Text and media area)
Q&A Prior to Exam - January 24, 11am-13am, room ME.A3.31
Q&A session held from 11h00 to 13h00 on Friday 24 in room ME.A3.31
Written Exam - January 27 2025
Students must have with them an identity document, preferably their camipro card. Students whose identity cannot be verified will not be allowed to take the exam.
Do not contact us to know the date of the exam nor to obtain the possibility to do the exam at an alternative date. We (teachers) have no control over this. The date and time of the exam is set and announced by the EPFL Academic Services usually in December, and all students are expected to take the exam at that time and date. No exceptions are allowed. If you are an exchange student, you must make sure you will still be on campus for the entire duration of the January exam session.
Room assignment will be announced in January.
Additional Resources: Recommended TextBooks, Other Machine Learning Courses
Textbooks/Further Readings
Here are books in which you can find a complete coverage of some of the techniques seen in class.
- For K-means, Soft K-means, GMM, refer to Information Theory, Inference and Learning by David MacKay
- SVM / SVR: Learning with kernels, by Scholkopf & Smola
- Machine Learning: a Probabilistic Perspective
Recommended Textbooks:
General Introduction to Machine Learning:
- Machine Learning: A probabilistic perspective by Kevin P. Murphy, MIT Press
- Introduction to machine learning by A. Smola and S.V.N. Vishwanathan, on-line version
- "Bayesian Reasoning and Machine Learning" by D. Barber, Cambridge University Press
Kernel Methods: PCA, SVM:
- "Kernel Methods for Pattern Analysis" by John Shawe-Taylor, Nello Cristianini, Cambridge University Press (June 28, 2004)
- "Pattern Recognition and Machine Learning" by Christopher M. Bishop, Springer; 1 edition (October 1, 2007)
- Learning with Kernels by B. Scholkopf and A. Smola, MIT Press 2002
Statistical Learning Methods:
- "Pattern Classification" by Richard O. Duda, Peter E. Hart, David G. Stork, Wiley-Interscience; 2 Sub edition (October 2000)
- Introduction to Statistical Learning Theory by Olivier Bousquet, Stephane Boucheron, and Gabor Lugosi
- Information Theory, Inference and Learning Algorithms by David J.C Mackay, Cambridge University Press, 2003
Neural Networks:
- Spiking Neuron Models by W. Gerstner and W. M. Kistler, Cambridge University Press, Aug. 2002
- "Hebbian Learning and Negative Feedback Networks (Advanced Information and Knowledge Processing)" by C. Fyfe, Springer
- "Independent Component Analysis", A. Hyvarinen, J. Karhunen and E. Oja, Wiley Inter-Sciences, 2001
- "Self-Organizing Maps", Teuvo Kohonen, Springer Series in Information Sciences, 30, Springer, 2001
- "Introduction to Neural Networks: A Comprehensive Foundation" (2nd Edition) by S. Haykins
Reinforcement Learning:
- "Reinforcement Learning: An Introduction", R. Sutton & A. Barto, A Bradford Book. MIT Press, 1998
- "Reinforcement Learning: A Survey", Leslie Pack Kaelbling & Michael L. Littman and Andrew W. Moore, Journal of Artificial Intelligence Research, Volume 4, 1996
Relevant EPFL Courses for In-Depth Coverage of Topics Introduced in this Course.
The applied machine learning course is complemented by two other courses:
- Machine Learning Programming (in which you get to program most of the topics covered in the course)
- Advanced Machine Learning (in which we cover more advanced methods in machine learning)
Here are also EPFL Courses in which you can find complementary topics to machine learning:
- Artificial Neural Networks (NN, Deep Learning, RL, Deep RL)
- Distributed intelligent systems (swarm intelligence, cooperative agents)
- Intelligent agents (artificial intelligence tools and related technology for implementing intelligent agents in different contexts)
- Statistics (for Data Science)
- Information theory and signal processing (for Data Science)