Machine learning programming
MICRO-401
Media
Media
UPDATE! Please attend the course in person in the room corresponding to your last name's first letter.
CM 1 111/CM 1 112 : last names starting with letters A to D
GR B0 01: last names starting with letters E - L
GR C0 02: last names starting with letters M - Z
==========================================================================
Time and Location: The course is given each Wednesday 8h15-10h00.
INCLUSIVENESS: to be inclusive of all students, and in particular those who cannot be on campus for health reason, the Machine Learning Programming class will be given both on-site in room GR B0 01, GR C0 02, CM 1 111 and on-line through discord simultaneously (zoom will be used for the first 15 minutes to introduce the topic, or a video will be provided on Moodle).
DISCORD ROOM: https://discord.gg/zN5RFxQ6yh
======================================================================
Content and Programming language: This is a programming class with a total of 6 graded programming assignments. Programming is done in MATLAB. The class will request you to program the following algorithms as assignments:
- Principal Component Analysis (PCA)
- K-means
- K-nearest neighbour (KNN)
- Gaussian Mixture Model (GMM)
- Applications of GMMs (Clustering, Classification, Regression)
- Neural Networks
Each of those assignments consists of two course sessions and have to be submitted the day before the next assignment starts.
=======================================================
Prerequisites: The material for the assignments follows the material given in the applied machine learning course. It is not mandatory to follow the applied machine learning course. However, students who take the machine learning programming course must know the machine learning algorithms listed above.
Videos of theoretical material: Videos of the materials taught in Applied Machine Learning course and necessary for this course are available on the moodle page of the Applied Machine Learning course, as well as through a dedicated SwitchTube Channel.
The Lecture Notes for the Applied Machine Learning course can be downloaded by following this link. These can serve as support for the theoretical content behind the algorithms we will implement in the MLP course. For information on the programming exercises, you must refer to the slides and assignment sheet of each week.
=======================================================
Grading:
Grading is based on assignments to be submitted regularly during the semester and a mid-term exam, given on December 4 during the first Class hour: 8h15-9am.
Assignments are graded on an individual basis. In other words, each student submit his/her own assignment. Assignments will be checked for plagiarism. Assignments must be turned it in by the deadline (check deadline on each assignment). 1pt (out of the full grade) will be removed for each day late. A day late starts one hour after the deadline. There are 6 graded assignments during the whole course. The final assignment grade is the average grade of all the 5 best grades out of 6 graded assignments (leave one out).
Grade from average of assignments is worth 75% of the total grade. Midterm exam on December 4 is worth 25% of the total grade.
======================================================================
Teaching Assistants
Harshit Khurana: harshit.khurana@epfl.ch and Aubane Lachat In GR C002
Luyin Hu luyin.hu@epfl.ch and Paolo Giaretta In GR B001
Sthithpragya Gupta and Nina Lahellec In CM 1 111/CM 1 112
Responsible Instructor
email: aude.billard@epfl.ch
- News forum (Forum)
- Course Feedback (Feedback)
- Useful functions for Machine Learning Programming in Matlab (File)
11 September - Intro + Exercise Session 1
- Introduction to Machine Learning Programming course
- MATLAB and Machine Learning proficiency exercise session 1
- Introduction given by Kunpeng Yao
- Slides : Introduction (File)
- Exercise Session Part 1 (File)
- Solution Exercise 1 (Folder)
- Course and Exercise session 1 overview (File)
18 September - Exercise Session 2
- MATLAB and Machine Learning proficiency exercise session 2
- Exercise Session Part 2 (File)
- Video | intro practice session 2 given by Kunpeng Yao (URL)
- Solution - Exercise Session 2 (File)
25 September - PCA [Part 1]
- Review of Principal Component Analysis
- Implementation of Principal Component Analysis (PCA)
- Introduction given by Harshit Khurana
- Optional: view video on derivation of PCA to refresh your memory, if needed.
- TP1-PCA-Description-24 (File)
- TP1-PCA-Assignment (Folder)
- TP1 introduction video (File)
- (Text and media area)
2 October - PCA [Part 2]
- Implementation of PCA
- Application and analysis of PCA
9 October - kMeans [Part 1]
- Review of k-Means clustering algorithm
- Implementation of k-Means
- Introduction given by Kunpeng Yao
- Optional: View video on K-means to refresh your memory if needed
- TP2-KMeans-Description-24 (File)
- TP2-KMEANS-Assignment (Folder)
- Video | Introduction Assignment K-means (URL)
- (Text and media area)
16 October - kMeans [Part 2]
- Review on Metrics for k-Means evaluation
- Analysis and Evaluation of k-Means
30 October - kNN [Part 1]
- Review of k-NN classification algorithm
- Implementation of k-NN
- Introduction given by Yang Liu
- Optional: View video on kNN to refresh your memory if needed
- TP3-kNN-Description-24 (File)
- TP3-KNN-Assignment (File)
- Video | Introduction Assignment kNN (File)
- Label (Text and media area)
6 November - kNN [Part 2]
13 November - GMM [Part 1]
- TP4-GMM-Description-24 (File)
- TP4-GMM-Assignment (Folder)
- Video | Introduction to GMM Assignment (Text and media area)
- Label (Text and media area)
- Label (Text and media area)
20 November - GMM [Part 2]
- Review of Gaussian Mixture Modeling (GMM)
- Implementation of GMM
27 November - GMM Applications [Part 1]
- Applications of GMM for classification, regression and sampling
- Introduction given by
4 December - Exam & GMM Applications [Part 2]
- 8h15-9am: Exam in programming room - multiple choice - worth 25% total course grade taking place in rooms CO020-CO021-CO023, BC07-08 (see students' room allocation)
- 9h15-10am: Programming Session Continued - Applications of GMM for classification, regression and sampling. Students must go back to the rooms used for the class.
11 December - Neural Networks [Part 1]
- Classification with Neural Network
- Introduction given by David Gonon