Skip to content

Latest commit

 

History

History
92 lines (66 loc) · 4.23 KB

README.md

File metadata and controls

92 lines (66 loc) · 4.23 KB

Formation en apprentissage machine au CRIUSMM

Ce "répo" github contient le matériel utilisé dans la formation en apprentissage machine organisée par Etienne Dumesnil et Pierre Orban au CRIUSMM à l'automne 2019.

Chaque cours repose sur un notebook Jupyter (https://jupyter.org), une application WEB qui permet de créer et de partager des documents contenant du code et d'en visualiser le résultat. Toutes les démonstrations reposent sur ScikitLearn (https://scikit-learn.org/), une bibliothèque libre Python dédiée à l'apprentissage machine.

Le matériel (notebooks .ipynb et leurs conversions .pdf) est disponible dans des dossiers séparés pour les 6 sessions théoriques et de démonstration (cours_1, cours_2, cours_3, cours_4, cours_5 et cours_6).

Afin de ne pas requérir des participants à la formation de devoir créer un environnement leur permettant l'exécution fluide des notebooks (anaconda recommandé: https://www.anaconda.com/distribution/), une version interactive est accessible sur Binder (https://mybinder.org) en suivant ce lien: Binder

Les données utilisées pour tous les exemples proviennent de données simulées (fichier /data/sim_data_signature_small.csv contenant des données transversales pour 543 patients et 90 contrôles, avec 41 variables) à partir de la banque de données Signature (https://www.banquesignature.ca). Il est strictement interdit d'utiliser ces données à d'autres fins que de formation. Toute demande d'accès aux données doit être formulée en bonne et due forme: https://www.banquesignature.ca/demande-acces/faire-une-demande-dacces/

Plan de formation

Cours 1: Intro à l'apprentissage machine

  • Statistiques inférentielles vs apprentissage machine
    • Interprétation vs prédiction
    • Déduction vs induction
    • Biais et variance
  • Apprentissage machine supervisé vs non supervisé
    • Supervisé: régression vs classification
    • Non supervisé: réduction vs regroupement

Cours 2: Apprentissage machine supervisé - régression

  • Concepts fondamentaux de l'apprentissage machine supervisé
    • Hyperparamètres et régularisation: ridge, lasso et elastic-net
    • Méthodes analytique vs itérative (descente de gradient)
    • Validation (croisée, croisée nichée)

Cours 3: Apprentissage machine supervisé - classification

  • Évaluation: matrice de confusion et courbe "ROC"
  • Algorithmes
    • Régression logistique
    • Machines à vecteurs de support (marges dure vs souple, noyaux linéaire vs non linéaire)

Cours 4: Apprentissage machine supervisé - classification (suite)

  • Autres algorithmes
    • Arbres de décision
    • Bagging: forêts aléatoires
    • Boosting de gradient
    • Classification naïve bayésienne
    • K plus proches voisins
  • Sélection de caractéristiques
  • Classification multi-classes

Cours 5: Apprentissage machine non supervisé

  • Réduction de dimensions
    • Analyse en composantes principales
    • "t-SNE"
  • Regroupement
    • K-moyennes
    • Décalage de moyenne
    • "DBSCAN"
    • Modèles de mélange gaussien
    • Modèles hiérarchiques
    • Validation (interne vs externe)
    • Modèles d'ensemble

Cours 6: Réseaux de neurones (profonds)



Ressources additionnelles

Livres

  • The hundred pages machine learning book (Burkov, 2019): http://themlbook.com. Version gratuite en ligne, et traduction française disponible sur amazon.


  • Introduction to machine learning with Python (Muller & Guido, 2016).