Etude de trois tâches canoniques du Machine Learning
Programme
Dans ce chapitre nous allons voir:
- Les méthodes à appliquer pour rechercher le meilleur compromis-biais variance
- Etudier en détail le fonctionnement d'une régression linéaire
- Appliquer l'algorithme k-NN dans une tâche de classification
- Etudier les spécificité de la tâche du clustering avec l'algorithme k-Means
Info
Ce chapitre est un peu plus dense que les précédents, je vous invite donc à chronométrez votre travail pour essayer de terminer pendant la séance , quitte à les survoler parfois quelques parties (en particulier les parties avec beaucoup de maths). Je vous encourage à noter vos questions que nous pourrons traiter dans la synthèse de fin de cours !
Leçon en autonomie : Applications de concepts clés du machine learning
Optimisez les paramètres de son modèle :
L'essence du Machine Learning tiens à la bonne optimisation du modèle de machine learning que vous utilisez : il s'agit d'utiliser une méthode permettant de trouver les paramètres minimisant l'erreur (mesurée par la fonction de cout)
L'erreur à éviter
Une erreur classique que l'on peut faire en codant est d'instancier votre modèle avec les paramètres par défaut !!! Il faut absolument l'éviter car vous risquer d'entrainer un modèle très peu capable de généraliser !
Ce qu'il faut faire à minima
Parfois, l'algorithme que vous utiliserz incluera un algorithme d'optimisation, comme par exemple la Régression lineaire par les moindres carrés et vous n'aurez pas à faire d'optimisation préalable.
Sinon, lorsque vous ne connaissez pas de méthode d'optimisation pour votre modèle, vous devez utilisez une méthode par défaut, comme le GridSearch
Toujours rechercher le modèle capable de la meilleure généralisation ! (environ 45')
Souvenez vous, un bon data scientist souhaitera toujours trouver un modèle qui donne des résultats satisfaisantes sur des données qu'il n'a jamais vue, c'est à dire un modèle capable de généraliser ses performances. Pour cette raison, vous souhaitez utiliser des méthodes pour éviter de produire un modèle ayant trop sous appris (underfiting) ** ou sur appris (overfiting) en trouvant un compromis entre ces deux situations.
Dans la pratique, il n'y a pas de solution idéale à ce compromis, mais il est important de prendre des précautions pour vous assurer de le gérer au mieux en utilisant, a minima, des méthodes comme la validation croisée et les courbes d'apprentissages :
Lecture & code
- Familiarisez vous avec la pratique de la cross-validation avec scikit-learn pour vous assurez de prendre les précautions nécessaires à la gestion du compromis bais-variance
- Apprenez à reconnaître dans quelles situation de ce compromis vous vous trouvez en étudiant les courbes d'apprentissages
Etude de trois tâches canoniques du machine learning
Maintenant que vous connaissez un peu mieux les différentes étapes de la chaîne de traitement classique en machine learning, nous allons rentrer plus en détails en explorant les spécificités de trois types de tâche très classique en machine learning: la régression, la classification et le clustering
Apprentissage supervisé (environ 1h15)
Effectuez une régression linéaire
Lecture & code
Etudiez en détail un des modèles les plus simples du machine learning, en réalisant une régression linaire sur un jeu de données réelles. Dans ce chapitre, vous verrez comment formuler mathématiquement un problème de régression linéaire, définirez une fonction de perte (loss function) et apprendrez une méthode pour l'optimiser
Classification avec k-NN
Lecture & code
Découvrez un autre algorithme très simple, le k-Nearest Neighbors (k-NN) et apprenez à l'appliquer dans une tâche de classification.
Apprentissage non supervisé (environ 1h)
Après avoir entrevu un exemple d'apprentissage non supervisé, vous allez apprendre en détails les spécificités d'une de tâches les plus courante en apprentissage non supervisé, le clustering
Clustering de données avec K-means
Lecture & code
Dans cette partie, vous allez apprendre :
- Les propriétés de la tâche de clustering (vous pouvez passez cette partie si vous avez déja lu sur le sujet)
- Définir les concepts fondamentaux du clustering en étudiant les notions de distances, de similarité de forme et stabilité des clusters et apprenant à juger de la qualité des clusters formés
- Etudier en détail le fonctionnement de l'algorithme k-means
Etude d'algorithmes canoniques de l'apprentissage automatique
Nous avons vu quelques algorithmes assez simples pour illustrer le cas d'usages des tâches de classification, régression et clustering.
Nous allons voir avec ce notebook, les quelques algorithmes classiques, souvent utilisés en 1ère itération pour résoudre ces tâches.
Synthèse
Revoyons ensemble les points de ce chapitre au travers d'un notebook de synthèse commenté