Artificial intelligence

Programming – Session 5

  • POO et ML avec sklearn
  • Assemblage de modèles
  • Réglage des hyperparamètres

OOP and ML using sklearn

Using sklearn for ML models?

Training phase

  • La phase d’entraînement est implémentée en utilisant une méthode m.fit() qui doit être appelée en premier sur le modèle m
  • Elle configure les paramètres du modèle en utilisant les données d’entraînement

Inference phase

  • Apprentissage supervisé : Une méthode m.predict(X) est utilisée pour générer des prédictions d’étiquettes en utilisant les données X
  • Apprentissage non supervisé : Une méthode m.transform(X) peut être définie pour projeter les données dans un nouvel espace (ex. distances aux clusters, ou un nouveau système de coordonnées)
  • Dans le cas spécifique du clustering, la classe peut aussi implémenter une méthode m.predict(X) pour assigner des étiquettes de clusters aux données d’entrée
  • Une méthode m.score(X, y) peut aussi être implémentée pour générer une mesure de performance donnée les données et les étiquettes

Model ensembling

Many models voting

Principle

  • Agréger les prédictions de (nombreux) classifieurs différents pour améliorer la performance globale

Training

  • Les différents classifieurs doivent être entraînés indépendamment
  • Idéalement, chaque classifieur est entraîné sur un sous-ensemble différent du jeu de données d’entraînement

Inference

  • L’inférence est effectuée séparément sur chaque classifieur
  • La prédiction finale est un vote majoritaire entre les prédictions de tous les classifieurs

Hyperparameters tuning

What are hyperparameters?

Motivation

  • Les hyperparamètres (HP) sont utilisés pour configurer les algorithmes d’apprentissage automatique
  • Quelques exemples de la session 6 d’algorithmique :
    • Nombre de voisins les plus proches ($K$) à considérer pour un $K$-NN
    • Nombre de clusters dans ($K$) dans $K$-means
  • Les HP peuvent être difficiles à trouver, ce qui motive le besoin de méthodes capables de rechercher les meilleurs HP

Remark

  • Les HP sont différents des paramètres du modèle, qui sont appris durant la phase d’entraînement

Hyperparameters tuning

Finding values for hyperparameters

Grid search with cross-validation

  • Une “grille” d’hyperparamètres est définie en utilisant toutes les possibilités de combinaisons de paramètres (ex. une plage de valeurs de $K$ pour un KNN)
  • On considère que la grille contient $P$ possibilités
  • Validation croisée (CV) :

    • Générer $P$ sous-ensembles d’entraînement et de test en utilisant le jeu de données d’entraînement original
    • Garder le modèle et les HP qui obtiennent le meilleur score sur le sous-ensemble de validation

  • De nombreuses autres méthodes existent pour régler les hyperparamètres, comme la recherche aléatoire (voir articles)

Recap of the session

Main elements to remember

  • Des outils tels que sklearn utilisent la programmation orientée objet pour définir des classes bien adaptées à l’apprentissage automatique

  • Les méthodes d’assemblage de modèles combinent plusieurs modèles pour améliorer la qualité des prédictions

  • Le réglage des hyperparamètres est le processus de recherche des meilleurs hyperparamètres pour un modèle

  • De nombreuses approches existent pour l’assemblage et le réglage des hyperparamètres (consultez les articles pour plus de détails)

Recap of the session

What’s next?

Practical activity (~2h30)

POO & sklearn

  • Utiliser la POO et sklearn pour implémenter l’assemblage
  • Régler les hyperparamètres

After the session

  • Revoir les articles de la session
  • Vérifier votre compréhension avec le quiz
  • Compléter l’activité pratique non optionnelle
  • Consulter la section “Avant le cours” de la prochaine session

Evaluation

  • Préparez-vous pour l’évaluation finale
  • Tout ce qui est dans algo 1–5 et prog 1–4