README.md 12.4 KB
Newer Older
1
# SICOM 3A and Master SIGMA program: Statistical/Machine learning course
Florent Chatelain's avatar
Florent Chatelain committed
2

Florent Chatelain's avatar
add nb    
Florent Chatelain committed
3
4
## News

Florent Chatelain's avatar
Florent Chatelain committed
5
For *doctoral or erasmus students*: for the lab sessions, please come to the IMMAC sessions (group `5PMSAST6_2021_S9_BE_G2` with [ADE](https://edt.grenoble-inp.fr/2021-2022/exterieur/))
Florent Chatelain's avatar
add nb    
Florent Chatelain committed
6

Florent Chatelain's avatar
Florent Chatelain committed
7
Due to the time schedule bug on Monday, October 18: for the students that miss Lab6 on Clustering (mostly IMMAC), this  is **rescheduled on Wednesday 27th, 13:30** (see ADE).
Florent Chatelain's avatar
add nb    
Florent Chatelain committed
8

Florent Chatelain's avatar
Florent Chatelain committed
9
<!--
Florent Chatelain's avatar
Florent Chatelain committed
10
## `News`
Florent Chatelain's avatar
Florent Chatelain committed
11
- For the interested students, we can find [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/tree/master/notebooks/X_deep_learning) two demo/tutorial notebooks on deep learning for image classification (convolutional neural nets) with the tensorflow 2.X platform and Keras API.
Florent Chatelain's avatar
Florent Chatelain committed
12
- For students who have to stay at home for health reasons, and *only those who can't attend the face-to-face course*, there is a zoom link (see the [chamilo page](https://chamilo.grenoble-inp.fr/courses/PHELMA5PMSAST6/index.php?) of the course) to participate in
Florent Chatelain's avatar
Florent Chatelain committed
13
14
15
16
17
videoconference to the class every monday from 15:45 to 17:45.

##### Lab7 instructions (Friday, October 23)
- Lab7 statement on decision trees and random forests is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/labs/lab7_statement.md)
- Upload **at the end of the session** your lab 7 *short report* in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=123903) (pdf file from your editor, or scanned pdf file of a handwritten paper; code, figures or graphics are not required)
Florent Chatelain's avatar
Florent Chatelain committed
18
-->
Florent Chatelain's avatar
Florent Chatelain committed
19

Florent Chatelain's avatar
Florent Chatelain committed
20
21
22
##### Lab7 instructions (Tuesday, October 26)
- Lab7 statement on decision trees and random forests is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/labs/lab7_statement.md)
- Upload **at the end of the session** your lab 7 *short report* in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=123903) (pdf file from your editor, or scanned pdf file of a handwritten paper; code, figures or graphics are not required)
Florent Chatelain's avatar
Florent Chatelain committed
23

Florent Chatelain's avatar
Florent Chatelain committed
24
##### Homework for **Tuesday, October 26**
Florent Chatelain's avatar
Florent Chatelain committed
25
- **read the lesson** ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/slides/8_trees_randomForest_boosting.pdf)) on decision trees and random forests.s
Florent Chatelain's avatar
Florent Chatelain committed
26
- prepare your questions for the course/lab session!
Florent Chatelain's avatar
Florent Chatelain committed
27

Florent Chatelain's avatar
Florent Chatelain committed
28
##### Lab6 instructions (Monday, October 18 + *Wednesday, October 27*)
Florent Chatelain's avatar
Florent Chatelain committed
29
30
31
32
- Lab6 statement on clustering is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/labs/lab6_statement.md)
- Upload **at the end of the session** your lab 6 *short report* in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=123902) (pdf file from your editor, or scanned pdf file of a handwritten paper; code, figures or graphics are not required)


Florent Chatelain's avatar
Florent Chatelain committed
33
##### Homework for **Monday, October 18**
Florent Chatelain's avatar
Florent Chatelain committed
34
- Finish reading/understanding the notebooks you didn't cover in the previous lab session.
Florent Chatelain's avatar
Florent Chatelain committed
35
- **read the lesson** ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/slides/7_clustering.pdf)) on clustering (unsupervised classification): **read up to kernel K-means on slide 34**
Florent Chatelain's avatar
Florent Chatelain committed
36
37
- prepare your questions for the course/lab session!

Florent Chatelain's avatar
Florent Chatelain committed
38
39


Florent Chatelain's avatar
Florent Chatelain committed
40
41
42
##### ~~Lab5 instructions~~
- ~~Lab5 statement is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/labs/lab5_statement.md)~~
- ~~upload **at the end of the session** your lab 5 *short report* in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=123901) (pdf file from your editor, or scanned pdf file of a handwritten paper; code, figures or graphics are not required)~~
Florent Chatelain's avatar
Florent Chatelain committed
43
44
45
46
47
48
49
50
51



##### ~~Homework for **Monday, October 11**~~
- ~~**read the lesson** ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/slides/6_support_vector_machines.pdf)) on support vector machines:~~
  - ~~in first reading you can skip the slides 10 to 18 (on constrained convex optimization),~~
  - ~~the introduction to random forest (appendix, slides 43 to 47) is also optional~~
- ~~prepare your questions for the course/lab session!~~

Florent Chatelain's avatar
Florent Chatelain committed
52
53
54
##### ~~Lab4 instructions~~
- ~~Lab4 statement is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/labs/lab4_statement.md)~~
- ~~upload **at the end of the session** your lab 4 *short report* in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=121243) (pdf file from your editor, or scanned pdf file of a handwritten paper; code, figures or graphics are not required)~~
Florent Chatelain's avatar
up news    
Florent Chatelain committed
55

Florent Chatelain's avatar
Florent Chatelain committed
56
##### ~~Homework for **Monday, October 4**~~
Florent Chatelain's avatar
Florent Chatelain committed
57
58
- ~~**read the lesson** ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/slides/5_linear_models_regularization.pdf)) on lasso and logistic regression: **read up to end of the slides**~~
- ~~prepare your questions for the course/lab session!~~
Florent Chatelain's avatar
Florent Chatelain committed
59

Florent Chatelain's avatar
up inst    
Florent Chatelain committed
60
61
62
63
##### ~~Lab3 instructions~~

- ~~Lab3 statement is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/labs/lab3_statement.md)~~
- ~~upload **at the end of the session** your lab 3 *short report* in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=119340) (pdf file from your editor, or scanned pdf file of a handwritten paper; code, figures or graphics are not required)~~
Florent Chatelain's avatar
up lab3    
Florent Chatelain committed
64
65


Florent Chatelain's avatar
Florent Chatelain committed
66
##### ~~Homework for **Friday, October 1**~~
Florent Chatelain's avatar
up news    
Florent Chatelain committed
67

Florent Chatelain's avatar
Florent Chatelain committed
68
69
- ~~**read the lesson** ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/slides/5_linear_models_regularization.pdf)) on linear models: **read up to ridge regression slide 23**~~
- ~~prepare your questions for the course/lab session!~~
Florent Chatelain's avatar
Florent Chatelain committed
70

Florent Chatelain's avatar
up lab2    
Florent Chatelain committed
71

Florent Chatelain's avatar
up inst    
Florent Chatelain committed
72
##### ~~Lab2 instructions~~
Florent Chatelain's avatar
up lab2    
Florent Chatelain committed
73

Florent Chatelain's avatar
up inst    
Florent Chatelain committed
74
75
- ~~Lab2 statement is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/labs/lab2_statement.md)~~
- ~~upload **at the end of the session** your lab 2 *short report* in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=118376) (pdf file from your editor, or scanned pdf file of a handwritten paper; code, figures or graphics are not required)~~
Florent Chatelain's avatar
up lab2    
Florent Chatelain committed
76

Florent Chatelain's avatar
up inst    
Florent Chatelain committed
77
##### ~~Homework for **Monday, September 27**~~
Florent Chatelain's avatar
Florent Chatelain committed
78

Florent Chatelain's avatar
up inst    
Florent Chatelain committed
79
80
- ~~**read the lesson** ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/slides/4_discriminant_analysis.pdf) ) on generative models: discriminant analysis + naïve Bayes~~
- ~~prepare your questions for the course/lab session!~~
Florent Chatelain's avatar
Florent Chatelain committed
81

Florent Chatelain's avatar
Florent Chatelain committed
82
83
84
85
86
##### ~~Lab1 instructions~~
- ~~Lab1 is scheduled on Monday 20 (13:30 - Z102 Minatec for IMMAC+doctoral/erasmus students), and 15:45 - Z012 Minatec for EEH students)~~
- ~~Statement is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/labs/lab1_statement.md)~~
- ~~upload your lab 1 *short report* in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=117582) (pdf file from your editor, or scanned pdf file of a handwritten paper;
code, figures or graphics are not required)~~
Florent Chatelain's avatar
up hw    
Florent Chatelain committed
87

Florent Chatelain's avatar
Florent Chatelain committed
88
89
90
91
92
##### ~~Homework before the first lab on **Monday, September 20**~~
- ~~read and run the [introduction notebooks](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/tree/master/notebooks/1_introduction/) `N1_Linear_Classification.ipynb` and `N2_Polynomial_Classification_Model_Complexity.ipynb`~~
- ~~answer the questions of the notebook exercises and upload it (pdf file from your editor, or scanned pdf file of a handwritten sheet) under chamilo in the [assignment tool](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=PHELMA5PMSAST6&id_session=0&gidReq=0&gradebook=0&origin=&id=117272) (those and only those who do not yet have an agalan account can send it to me by email):~~
  - ~~only text explanations are required, no need to copy/paste figure or graphics!~~
  - ~~must not exceed half a length of A4 paper~~
Florent Chatelain's avatar
Florent Chatelain committed
93

Florent Chatelain's avatar
up hw    
Florent Chatelain committed
94
##### ~~First course session will take place Monday afternoon, September 13 at Minatec M256 (face-to-face).~~
Florent Chatelain's avatar
Florent Chatelain committed
95

96
## Welcome to the Statistical Learning course!
Florent Chatelain's avatar
Florent Chatelain committed
97

98
You will find in this gitlab repository the necessary material for the teaching of _Machine Learning_:
Florent Chatelain's avatar
Florent Chatelain committed
99

100
101
- course materials for the lessons ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/tree/master/slides))
- examples and exercises for the labs in the form of [Jupyter python notebooks](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/tree/master/notebooks) (`.ipynb` files) and/or via online applications,
Florent Chatelain's avatar
Florent Chatelain committed
102
- quiz: online tool [Socrative](https://b.socrative.com/login/student/), room *MLSICOM*
103
104
105

These resources will be updated as the sessions progress.

106
### How to use the notebooks?
107

108
The examples and exercises will be done under python 3.x through [scikit-learn](https://scikit-learn.org/), and also [tensorflow](https://www.tensorflow.org/). These are two of the most widely used machine learning packages.
109

110
The _Jupyter Notebooks_ (`.ipynb` files) are programs containing both cells of code (for us Python) and cells of markdown text for the narrative side. These notebooks are often used to explore and analyze data. Their processing is done with a `jupyter-notebook`, or `juypyter-lab` application, which is accessed through a web browser.
111
112
113

In order to run them you have several possibilities:

114
1. Download the notebooks to run them on your machine. This requires a Python environment (> 3.3), and the Jupyter notebook and scikit-learn packages. It is recommended to install them via the [anaconda](https://www.anaconda.com/downloads) distribution which will directly install all the necessary dependencies.
Florent Chatelain's avatar
Florent Chatelain committed
115

Florent Chatelain's avatar
Florent Chatelain committed
116
117
**Or**

Florent Chatelain's avatar
Florent Chatelain committed
118
2. Use the _mybinder_ service ans links to run them interactively and remotely (online): [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgricad-gitlab.univ-grenoble-alpes.fr%2Fchatelaf%2Fml-sicom3a/master?urlpath=lab/tree/notebooks) (open the link and wait a few seconds for the environment to load).<br>
119
  **Warning:** Binder is meant for _ephemeral_ interactive coding, meaning that your own modifications/codes/results will be lost when your user session will automatically shut down (basically after 10 minutes of inactivity)
120
121
122

**Or**

Florent Chatelain's avatar
Florent Chatelain committed
123
3. Use a `jupyterhub` online service:
124

125
126
  - we recommend the UGA's service, [jupyterhub.u-ga.fr](https://jupyterhub.u-ga.fr), so that you can run your notebooks on the UGA's computation server while saving your modifications and results. Also useful to launch a background computation (connection with your Agalan account; requires uploading your notebooks+data to the server).
  - alternatively you can use an equivalent `jupyterhub` service. For example the one from google, namely [google-colab](https://colab.research.google.com/), which allows you to run/save your notebooks and also to _share the edition to several collaborators_ (requires a google account and upload your notebooks+data in your Drive)
127
128
129

**Note :** You will also find among the notebooks an introduction to Python [notebooks/0_python_in_a_nutshell](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/tree/master/notebooks%2F0_python_in_a_nutshell)

130
### Miscellaneous remarks on the materials
131
132

- The slides are designed to be self-sufficient (even if the narrative side is often limited by the format).
133
- In addition to the slides and bibliographical/web references, we generally propose links or videos (at the beginning or end of the slides) specific to the concepts presented. These lists are of course not exhaustive, and you will find throughout the web many resources, often pedagogical. Feel free to do your own research. <!-- and share it on the [Riot room](https://riot.ensimag.fr/#/room/#sicom-ml:ensimag.fr) if you find it useful. -->
Florent Chatelain's avatar
Florent Chatelain committed
134

Florent Chatelain's avatar
Florent Chatelain committed
135
<!-- - [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgricad-gitlab.univ-grenoble-alpes.fr%2Fchatelaf%2Fml-sicom3a/54301940e4486a8ece22a910c3efa1b2734ed82d?filepath=notebooks) link to run the examples, *except Deep learning ones* too computationally demanding for the JupyterHub server (use the first solution to run these notebooks with your own ressources...) -->