Machine learning programming

MICRO-401

Media

Media

This file is part of the content downloaded from Machine learning programming.
Course summary

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 01last 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 01GR 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).

ZOOM ROOM: https://epfl.zoom.us/j/96649882353
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.

Lecture Notes

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

Prof. Aude Billard 

emailaude.billard@epfl.ch


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


18 September - Exercise Session 2

  • MATLAB and Machine Learning proficiency exercise session 2

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.


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


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


6 November - kNN [Part 2]


13 November - GMM [Part 1]

In Class: we will have a short review of Gaussian Mixture Modeling (GMM)
Optional: View video on GMM theory to refresh your memory if needed

TODO: You must implement the GMM algorithm

Background: Relevant background can be found in the two videos below.

Introduction given by Sthithpragya Gupta


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]

DAY DECOMPOSITION:

  • 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.
EXAM INSTRUCTIONS:

Recall that the course on December 4 starts with a 45 minutes exam that runs from 8h15 through 9h00. 
The exam takes place in rooms CO020-CO021-CO023, BC07-08. There is a room allocation for each student, see file below.
Students who do not go to the correct room will not be allowed to enter the room.

Exam doors open at 7h50. You must arrive no later than 8am on Dec. 4 and have your camipro card handy. Entrance to exam room will be allowed only if Sciper id can be verified and you have presented yourself to the correct room. The exam doors close at 8h20.
 
The exam requires your SCIPER number.

The exam is done on computer and requires use of matlab. It is closed-book (no material allowed). The exam will test your understanding of the assignments you have submitted prior to the exam, namely PCA, K-means, KNN and GMM.  Answers are to be provided in a TRUE/FALSE or Multiple Choice format.


11 December - Neural Networks [Part 1]

  • Classification with Neural Network
  • Introduction given by David Gonon


18 December - Neural Networks [Part 2]