All Machine Learning algorithms explained in 17 min
Introduction aux algorithmes d'apprentissage automatique
Présentation de l'orateur et des objectifs
- Tim, un data scientist avec plus de 10 ans d'expérience, présente un aperçu des algorithmes d'apprentissage automatique.
- L'objectif est de fournir une compréhension intuitive des principaux algorithmes pour aider à choisir le bon pour chaque problème.
- Tim explique que l'apprentissage automatique est une branche de l'intelligence artificielle qui développe des algorithmes statistiques capables d'apprendre à partir des données.
Classification des types d'apprentissage
- L'apprentissage automatique se divise en deux catégories principales : apprentissage supervisé et non supervisé.
- L'apprentissage supervisé utilise un ensemble de données avec variables indépendantes (caractéristiques) et une variable dépendante (cible).
- En revanche, l'apprentissage non supervisé ne dispose pas de vérité connue sur les données, ce qui implique que l'algorithme doit regrouper les données par similarité sans instructions explicites.
Apprentissage Supervisé
Sous-catégories : Régression et Classification
- La régression vise à prédire une variable cible continue en fonction d'une ou plusieurs variables indépendantes.
- La classification attribue une étiquette catégorique à un point de donnée, comme "spam" ou "non spam" pour les emails.
Algorithme de Régression Linéaire
- La régression linéaire cherche à établir une relation linéaire entre deux variables en minimisant la distance entre les points de données et la ligne de régression.
- Un exemple simple pourrait être la relation entre la taille et la pointure d'une personne.
Régression Logistique et K Plus Proches Voisins
Régression Logistique
- Variante de la régression linéaire utilisée pour prédire une variable catégorique.
- Utilise une fonction sigmoïde pour déterminer la probabilité qu'un point appartienne à une classe donnée.
Algorithme K Plus Proches Voisins (KNN)
Introduction aux Algorithmes de Prédiction
K-Nearest Neighbors (KNN)
- L'algorithme KNN prédit la valeur cible en prenant la moyenne des K voisins les plus proches, ce qui est puissant pour des relations complexes.
- Le choix du nombre K est crucial; un petit K peut entraîner un surajustement, tandis qu'un grand K peut mener à un sous-ajustement.
- La validation croisée est une méthode pour déterminer le bon hyperparamètre, mais elle n'est pas abordée ici.
Support Vector Machines (SVM)
- Les SVM sont conçus pour des tâches de classification et peuvent également être utilisés pour la régression.
- L'algorithme cherche à établir une frontière de décision qui sépare au mieux les points de données d'entraînement avec une marge maximale.
- Les vecteurs de support sont essentiels car ils permettent de classifier efficacement les nouveaux points de données tout en étant économes en mémoire.
Fonctions Noyau et Ingénierie des Caractéristiques
- Les fonctions noyau permettent d'identifier des frontières non linéaires complexes, transformant implicitement les caractéristiques originales en nouvelles caractéristiques plus complexes.
- Des exemples de fonctions noyau incluent le noyau linéaire, polynomial, RBF et sigmoïde.
Classificateurs Naïfs et Arbres Décisionnels
Classificateur Naïf Bayésien
- Utilisé souvent dans les filtres anti-spam, il calcule la probabilité d'apparition de mots dans des emails spam ou non spam.
- Bien que l'algorithme fasse l'hypothèse naïve que les probabilités sont indépendantes, il reste efficace pour plusieurs cas d'utilisation.
Arbres Décisionnels
- Un arbre décisionnel partitionne un ensemble de données par une série de questions oui/non afin d’atteindre des feuilles aussi pures que possible.
- En combinant plusieurs arbres décisionnels via l'algorithme d'ensemble appelé bagging, on obtient un modèle plus puissant.
Méthodes d’Ensemble : Random Forest et Boosting
Random Forest
- Cette méthode utilise plusieurs arbres décisionnels qui votent par majorité pour classer les données tout en réduisant le risque de surajustement grâce à l'exclusion aléatoire des caractéristiques.
Boosting
Comprendre les arbres boostés et les réseaux de neurones
Arbres Boostés vs. Forêts Aléatoires
- Les arbres boostés atteignent souvent des précisions plus élevées que les forêts aléatoires, mais sont également plus sujets au surapprentissage.
- Leur nature séquentielle rend leur entraînement plus lent par rapport aux forêts aléatoires.
- Des exemples célèbres d'arbres boostés incluent AdaBoost, Gradient Boosting et XGBoost.
Introduction aux Réseaux de Neurones
- Pour comprendre les réseaux de neurones, on peut se référer à la régression logistique en essayant de prédire une classe cible à partir de plusieurs caractéristiques.
- Par exemple, pour classer des chiffres manuscrits, la variabilité dans l'écriture rend difficile l'utilisation de la régression logistique.
Caractéristiques Cachées et Perception
- Les réseaux neuronaux peuvent automatiquement concevoir des caractéristiques complexes sans intervention humaine.
- En ajoutant des couches cachées, le réseau prédit d'abord ces caractéristiques cachées avant d'estimer la variable cible.
- L'ajout de plusieurs couches permet d'extraire des informations complexes (ex: détection de visages), bien que nous ne sachions pas toujours ce que représentent ces caractéristiques.
Apprentissage Supervisé vs. Non Supervisé
- Jusqu'à présent, nous avons discuté de l'apprentissage supervisé; cependant, il existe aussi l'apprentissage non supervisé qui cherche à découvrir des structures sous-jacentes dans les données.
Clustering
- Le clustering est souvent confondu avec la classification; alors que la classification utilise des étiquettes connues, le clustering cherche à identifier des groupes sans étiquettes.
- Un exemple classique est K-means clustering où K représente le nombre souhaité de clusters.
Algorithme K-means
- L'algorithme commence par sélectionner aléatoirement des centres pour chaque cluster puis assigne chaque point aux centres les plus proches.
Autres Méthodes de Clustering
- D'autres algorithmes existent comme le clustering hiérarchique et DBSCAN qui n'exigent pas un nombre fixe de clusters.
Réduction Dimensionnelle
- La réduction dimensionnelle vise à diminuer le nombre de caractéristiques tout en conservant autant d'informations que possible.
Analyse des Composantes Principales (PCA)
Introduction à la PCA
- L'algorithme d'analyse des composantes principales (PCA) est utilisé pour prédire des types de poissons en fonction de plusieurs caractéristiques telles que la longueur, la hauteur, la couleur et le nombre de dents.
- Lorsqu'on examine les corrélations entre ces caractéristiques, on peut constater que certaines d'entre elles, comme la hauteur et la longueur, sont fortement corrélées. Inclure les deux pourrait nuire à l'algorithme en introduisant du bruit.
Réduction des Caractéristiques
- Pour éviter cela, il est possible d'inclure une caractéristique de forme qui combine les deux dimensions corrélées. Cela permet de réduire considérablement le nombre de caractéristiques tout en maintenant une bonne performance.
- La PCA identifie les directions dans lesquelles la variance des données est maximale. Dans cet exemple, cette direction principale est appelée première composante principale (PC).
Composantes Orthogonales
- La deuxième composante principale est orthogonale à la première et explique une petite fraction de la variance. Elle peut donc être exclue du jeu de données.