# AI for Autonomous Systems (ASI 3A and M2 MARS program): Machine Learning course ## `News` `Lab timetables` |Group | Supervisor | Members | Lab2 | Lab3 | Lab4| Lab5| Lab6 | Lab7 | Lab8 | Lab9 | |------|:-----------|---------|------|------|-----|-----|------|------|------|------| |**G1** | F.Chatelain |**ASI** students: AJANA->GOUILLY + Sukhera S.| 18oct | 25oct | 29oct | 8nov| 15nov | 17nov | 22 nov | 29 nov| |**G2** | K.Tidriri |**ASI** students: HAMDAOUI->SORIANI|18oct | 21oct | 25oct | 29oct| 8nov | 15nov | 22 nov |29 nov| |**G3** | O. Michel |**MARS**+foreign students| 25oct | 29oct | 8nov | 10nov| 10nov| 15nov | 22 nov |29 nov| ##### Lab9 The last lab session will be devoted to revisions. You will be able to work on the notebooks that you did not have time to study in the previous sessions, and tackle the questions of your choice. ##### Lab8 - **HW: To do before the lab session:** re-read the the lesson ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/blob/master/slides/10_MLPC_NN_2020.pdf)) on MultiLayer Perceptrons and Neural Networks. - Lab8 statement on neural nets and deep convolutional networks is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/labs/lab8_statement.md) - **Except if your supervisor give you another instruction** upload at the end of the session your lab 8 short report in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=ENSE3WEUMAIA0&id_session=0&gidReq=0&gradebook=0&origin=&id=204165) (pdf file from your editor, or scanned pdf file of a handwritten paper; *code, figures or graphics are not required!*) ##### Lab7 - **HW: To do before the lab session:** re-read the the lesson ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/blob/master/slides/9_Trees_RandomForest_Boosting.pdf)) on Classification and Regression Trees, tree pruning, Random Forests. - Lab7 statement on Tree based method for unsupervised classification and regression problems is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/labs/lab7_statement.md) - **Except if your supervisor give you another instruction** 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=ENSE3WEUMAIA0&id_session=0&gidReq=0&gradebook=0&origin=&id=203024&isStudentView=true) (pdf file from your editor, or scanned pdf file of a handwritten paper; *code, figures or graphics are not required!*) ##### Lab6 - ~~**HW: To do before the lab session:** re-read the the lesson ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/blob/master/slides/8_clustering.pdf)) on clustering methods, with focus on K-Means and EM algorithm. Read slides 1 to 37.~~ - ~~Lab6 statement on clustering methods is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/labs/lab6_statement.md)~~ - ~~**Except if your supervisor give you another instruction** 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=ENSE3WEUMAIA0&id_session=0&gidReq=0&gradebook=0&origin=&id=153447&isStudentView=true) (pdf file from your editor, or scanned pdf file of a handwritten paper; *code, figures or graphics are not required!*)~~ ##### ~~Lab5~~ - ~~**HW: To do before the lab session:** re-read the the lesson ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/blob/master/slides/6_linear_models_regularization.pdf)) on the lasso regularization and logistic regression parts.~~ - ~~Lab5 statement on generalized linear models, lasso regulariation and variable selection is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/labs/lab5_statement.md)~~ - ~~**Except if your supervisor give you another instruction** 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=ENSE3WEUMAIA0&id_session=0&gidReq=0&gradebook=0&origin=&id=145522&isStudentView=true) (pdf file from your editor, or scanned pdf file of a handwritten paper; *code, figures or graphics are not required!*)~~ ##### ~~Lab4~~ - ~~**HW: To do before the lab session:** re-read the the lesson ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/blob/master/slides/6_linear_models_regularization.pdf)) on linear models until ridge regularization.~~ - ~~Lab4 statement on linear models and ridge regression is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/labs/lab4_statement.md).~~ - ~~**Except if your supervisor give you another instruction** 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=ENSE3WEUMAIA0&id_session=0&gidReq=0&gradebook=0&origin=&id=143765&isStudentView=true) (pdf file from your editor, or scanned pdf file of a handwritten paper; *code, figures or graphics are not required!*)~~ ##### ~~Lab3~~ - ~~Lab3 statement on Principal Component Analysis (PCA) is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/labs/lab3_statement.md)~~ - ~~**Except if your supervisor give you another instruction** 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=ENSE3WEUMAIA0&id_session=0&gidReq=0&gradebook=0&origin=&id=139477&isStudentView=true) (pdf file from your editor, or scanned pdf file of a handwritten paper; *code, figures or graphics are not required!*)~~ ##### ~~Lab2 (Monday, October 18 for the groups of students supervised by Khaoula Tidriri and Florent Chatelain)~~ - ~~Lab2 statement on Discriminant Analysis (LDA/QDA) and Naive Bayes is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/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=ENSE3WEUMAIA0&id_session=0&gidReq=0&gradebook=0&origin=&id=138838&isStudentView=true) (pdf file from your editor, or scanned pdf file of a handwritten paper; *code, figures or graphics are not required!*)~~ ##### ~~Lecture (Monday, October 11) on linear models and regularization~~ - ~~Slides on linear models and regularization are [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/blob/master/slides/6_linear_models_regularization.pdf).~~ ##### ~~Lab1 (Monday, October 4) instructions~~ - ~~Lab1 statement on ML basics, k-NN and model assesment is [here](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/labs/lab1_statement.md)~~ - ~~Upload at the end of the session your lab 1 short report in the [chamilo assigment task](https://chamilo.grenoble-inp.fr/main/work/work_list.php?cidReq=ENSE3WEUMAIA0&id_session=0&gidReq=0&gradebook=0&origin=&id=134377&isStudentView=true) (pdf file from your editor, or scanned pdf file of a handwritten paper; *code, figures or graphics are not required!*)~~ ##### ~~Homework for Monday, October 4~~ - ~~read/run the [introductory notebooks to python](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/tree/master/notebooks%2F0_python_in_a_nutshell) (especially for those who are not comfortable with python)~~ - ~~**read the lesson** ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/blob/master/slides/3_model_assesment.pdf)) on model assesment and validation~~ - ~~prepare your questions for the course/lab session!~~ ##### ~~First course session will take place Monday, September 27 (G-2A003, 10:45)~~ ## Welcome to the Machine Learning course! You will find in this gitlab repository the necessary material for the teaching of _Machine Learning_: - course materials for the lessons ([slides](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/slides)) - examples and exercises for the labs in the form of [Jupyter python notebooks](https://gricad-gitlab.univ-grenoble-alpes.fr/ai-courses/autonomous_systems_ml/-/tree/master/notebooks) (`.ipynb` files) and/or via online applications, - quiz: [Socrative](https://b.socrative.com/login/student/) online tool, room *MLASI* These resources will be updated as the sessions progress. ### How to use the notebooks? 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. 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. In order to run them you have several possibilities: 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. **Or** 2. Use a `jupyterhub` online service: - 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) **Or** 3. 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%2Fai-courses%2Fautonomous_systems_ml/master?urlpath=lab/tree/notebooks) (open the link and wait a few seconds for the environment to load).
**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) **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/ai-courses/autonomous_systems_ml/-/tree/master/notebooks%2F0_python_in_a_nutshell) ### Miscellaneous remarks on the materials - The slides are designed to be self-sufficient (even if the narrative side is often limited by the format). - 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.