📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Every Machine Learning Model Explained in 15 minutes

Brain Station Advanced16:04

Transcription

Dans les 15 prochaines minutes, nous allons construire un aperçu clair et simple des algorithmes d'apprentissage automatique les plus importants afin que vous puissiez comprendre ce qu'ils font et comment décider lequel convient à votre problème. Je ne vais pas vous submerger d'équations, mais simplement vous donner les intuitions derrière chaque algorithme. À la fin, vous aurez une image claire de ce qu'est l'apprentissage automatique.

L'apprentissage automatique est une partie de l'intelligence artificielle où les ordinateurs apprennent des modèles à partir de données. Au lieu de dire à l'ordinateur exactement quoi faire dans chaque situation, nous l'entraînons à l'aide d'exemples et il apprend à prendre des décisions par lui-même.

Largement, l'apprentissage automatique est divisé en quatre catégories principales. Apprentissage supervisé, apprentissage non supervisé, apprentissage par renforcement et apprentissage semi-supervisé.

Dans l'apprentissage supervisé, on nous fournit un ensemble de données qui contient des variables d'entrée, également appelées variables indépendantes ou caractéristiques, et une variable de sortie connue, également appelée étiquette ou cible. Nous entraînons le modèle en utilisant des exemples où nous connaissons déjà les bonnes réponses. Le modèle apprend à partir d'exemples étiquetés, puis prédit des étiquettes pour de nouvelles données. Par exemple, prédire les prix des maisons en fonction de la taille et de l'emplacement est un apprentissage supervisé. Classifier les e-mails comme spam ou non spam est également un apprentissage supervisé. Identifier ensuite si [musique] les images sont celles d'un chat ou d'un chien est également un apprentissage supervisé.

Dans l'apprentissage non supervisé, nous n'avons pas de sorties étiquetées dans l'ensemble de données. Nous n'avons que des entrées. L'algorithme doit trouver la structure ou les modèles dans les données par lui-même. Par exemple, regrouper les clients en segments en fonction de leur comportement d'achat sans connaître les groupes à l'avance est un apprentissage non supervisé. C'est comme donner à un enfant une pile d'images et lui demander de regrouper celles qui sont similaires sans lui dire quelles sont les catégories.

Maintenant, dans l'apprentissage supervisé, il existe deux types majeurs de modèles que nous développons, à savoir les modèles de régression et de classification. En régression, l'objectif est de prédire une valeur numérique continue. Par exemple, prédire le prix d'une maison. En classification, l'objectif est de prédire une catégorie ou une classe, comme spam par rapport à non spam.

L'algorithme de régression le plus basique est la régression linéaire. Il essaie d'ajuster une ligne droite qui décrit le mieux la relation entre les variables d'entrée et la sortie. Il le fait en minimisant les différences au carré entre les valeurs prédites et les valeurs réelles. Un exemple simple de relation linéaire pourrait être le lien entre la taille d'une personne et la taille de ses chaussures. Si nous collectons des données auprès de nombreuses personnes, un modèle de régression linéaire pourrait découvrir que pour chaque augmentation d'une unité de la taille des chaussures, la personne est en moyenne environ 2 cm plus grande. Dans ce cas, nous ajustons une ligne droite qui explique le mieux comment la taille change avec la taille des chaussures. Bien sûr, la vie réelle est rarement aussi simple. Nous pouvons améliorer le modèle en incluant plus de caractéristiques telles que le sexe, l'âge ou l'origine ethnique. Au lieu d'utiliser une seule variable d'entrée, nous utilisons maintenant plusieurs variables pour mieux prédire la taille. En fait, de nombreux algorithmes d'apprentissage automatique avancés, y compris les réseaux neuronaux, sont des extensions de cette idée de base d'apprentissage des relations entre les entrées et les sorties.

Maintenant, pour la classification, l'algorithme le plus basique est la régression logistique. Au lieu d'ajuster une ligne droite pour la prédiction numérique, elle utilise une courbe sigmoïde pour estimer les probabilités d'appartenance à une classe. Par exemple, supposons que nous voulions prédire si une personne appartient à la catégorie A ou à la catégorie B en utilisant la taille et le poids. Un modèle de régression logistique ne donne pas simplement une réponse oui ou non. Au lieu de cela, il calcule une probabilité. Par exemple, étant donné une taille de 180 cm et un poids de 75 kg, le modèle pourrait prédire une probabilité de 0,88 que la personne appartienne à la catégorie A. Cela signifie qu'il y a une chance de 80 % selon le modèle. Si la probabilité est supérieure à 0,5, nous classons généralement la personne dans la catégorie A. Si elle est inférieure à 0,5, nous la classons dans la catégorie B, en fonction de ce que sont A et B.

Un autre algorithme simple mais puissant est K plus proches voisins ou KNN. La chose la plus intéressante à propos du KNN est qu'il n'essaie pas d'apprendre une équation comme la régression linéaire et il n'essaie pas de tracer une frontière comme la régression logistique. Il stocke simplement les données d'entraînement. Imaginez que nous ayons déjà un ensemble de données de nombreuses personnes avec des étiquettes de genre connues. Maintenant, une nouvelle personne arrive avec une taille de 175 cm et pèse 70 kg. Si nous choisissons K égal à 5, l'algorithme examinera les cinq personnes les plus proches dans l'ensemble de données en termes de taille et de poids. Supposons que parmi ces cinq voisins les plus proches, trois soient des hommes et deux des femmes. Alors, par vote majoritaire, le modèle prédit homme. Il dit littéralement que vous êtes le plus similaire à ces cinq personnes et que la plupart d'entre elles sont des hommes. Je vous classe donc comme homme.

Vient maintenant la partie importante qui est le choix de K. Si K est trop petit, disons K égal à 1, alors le modèle copiera simplement le point de données le plus proche. Cela le rend extrêmement sensible au bruit. Si ce voisin unique est inhabituel ou un point aberrant, la prédiction sera également inhabituelle. C'est ce qu'on appelle le surapprentissage, ce qui signifie que le modèle mémorise trop étroitement les données d'entraînement et ne généralise pas bien. D'un autre côté, si K est trop grand, alors le modèle fait la moyenne de trop de points. Il ignore la structure locale et devient trop lisse. C'est ce qu'on appelle le sous-apprentissage, où le modèle devient trop simple et perd des modèles importants. L'art véritable dans le KNN est donc de sélectionner la bonne valeur de K. Habituellement, nous essayons différentes valeurs et testons celle qui donne les meilleurs résultats sur les données de validation.

Ensuite, nous avons les machines à vecteurs de support ou SVM. Imaginez que vous essayez de classer des animaux en fonction de leur poids et de la longueur de leur nez en deux groupes, chiens et éléphants. Si vous tracez les points de données sur un graphique, vous pouvez voir que les chiens se trouvent d'un côté et les éléphants de l'autre. De nombreuses lignes pourraient les séparer, mais le SVM ne choisit pas n'importe quelle ligne. Il choisit la ligne qui laisse la distance maximale possible entre les deux classes. Cette distance est appelée la marge. Mais pourquoi maximiser la marge ? Parce qu'une marge plus grande signifie que la frontière est plus robuste. Si un nouveau point de données arrive légèrement bruité ou légèrement décalé, une marge large rend moins probable qu'il soit mal classé. Les points qui se trouvent le plus près de cette frontière sont appelés vecteurs de support. Fait intéressant, une fois la frontière trouvée, seuls ces vecteurs de support comptent pour la définir. Le reste des données pourrait disparaître et la frontière resterait la même. Cela rend le SVM efficace en mémoire et élégant.

Maintenant, que se passe-t-il si les données ne sont pas linéairement séparables ? Supposons que les classes soient disposées en un motif circulaire où une classe se trouve à l'intérieur d'un cercle et l'autre à l'extérieur. Une ligne droite ne peut pas les séparer. C'est là qu'interviennent les fonctions noyau. Les noyaux permettent au SVM de transformer implicitement les données dans un espace de dimension supérieure où une séparation non linéaire devient une séparation linéaire. Vous pouvez imaginer soulever les données en trois dimensions où ce qui ressemblait à un cercle en deux dimensions devient séparable par un plan plat. Cette astuce est appelée le "kernel trick" et elle rend le SVM puissant pour les problèmes non linéaires complexes.

Ensuite, nous avons l'algorithme naïf de Bayes. C'est un algorithme de classification basé sur la probabilité et le théorème de Bayes. Je ne l'expliquerai pas ici car j'ai déjà réalisé une vidéo détaillée à ce sujet. Regardez-la plus tard.

Arbre de décision. Un arbre de décision est l'un des algorithmes d'apprentissage automatique les plus intuitifs. Il fonctionne en divisant les données étape par étape à l'aide d'une séquence de questions oui ou non. À chaque étape, l'algorithme choisit la question qui sépare le mieux les données. Par exemple, lors de la prédiction si un patient est à haut risque ou à bas risque, la première question pourrait être : l'âge est-il supérieur à 50 ans ? Selon la réponse, les données sont divisées en deux groupes et le processus continue. Cela crée une structure arborescente avec des branches et des points de décision finaux appelés feuilles. L'objectif d'un arbre de décision est de rendre les feuilles aussi pures que possible. La pureté signifie que la plupart des points de données dans une feuille appartiennent à la même classe. Pour les tâches de classification, cela signifie minimiser les points mal classés. Pour les tâches de régression, cela signifie minimiser l'erreur de prédiction dans chaque feuille. Bien qu'un seul arbre de décision soit facile à comprendre et à interpréter, il peut parfois surapprendre les données et devenir trop sensible aux petits changements. Pour rendre les arbres de décision plus puissants et stables, nous utilisons des méthodes d'ensemble. Une méthode d'ensemble combine plusieurs modèles simples pour créer un modèle global plus fort. Une technique d'ensemble populaire s'appelle le bagging. Et un exemple célèbre de bagging est l'algorithme de forêt aléatoire. Au lieu d'entraîner un seul arbre de décision, nous entraînons de nombreux arbres sur différents sous-ensembles aléatoires des données. Chaque arbre voit une version légèrement différente de l'ensemble de données, ce qui les rend diversifiés. Dans une forêt aléatoire, chaque arbre fait sa propre prédiction et le résultat final est déterminé par vote majoritaire en classification ou par moyenne en régression. De plus, chaque arbre ne considère qu'un sous-ensemble aléatoire de caractéristiques lors de la division. Ce caractère aléatoire réduit la corrélation entre les arbres et les empêche de faire toutes les mêmes erreurs.

Le boosting est une autre technique d'ensemble puissante, mais elle fonctionne différemment des forêts aléatoires. Au lieu d'entraîner les arbres indépendamment en parallèle, le boosting les entraîne séquentiellement. Chaque nouvel arbre se concentre sur la correction des erreurs commises par les arbres précédents. Au fil du temps, de nombreux apprenants faibles se combinent pour former un apprenant fort. Les algorithmes de boosting célèbres incluent le gradient boosting et le XG boost, qui atteignent souvent une très grande précision mais nécessitent un réglage minutieux pour éviter le surapprentissage.

Ensuite, nous avons les réseaux neuronaux. En régression simple, nous mappons directement les caractéristiques d'entrée à une sortie à l'aide d'une formule. Les réseaux neuronaux ajoutent une ou plusieurs couches cachées entre l'entrée et la sortie. Ces couches cachées contiennent de nombreux nœuds interconnectés, souvent appelés neurones. Au lieu de décider manuellement quelles caractéristiques sont importantes, le réseau utilise le calcul et l'algèbre linéaire pour apprendre automatiquement des caractéristiques internes utiles appelées poids et biais à partir des données. Chaque couche transforme légèrement les données et les transmet à la couche suivante. Cela rend les réseaux neuronaux flexibles et capables de modéliser des relations complexes. Lorsque nous empilons plusieurs couches cachées, nous obtenons l'apprentissage profond. Avec plusieurs couches, le réseau peut apprendre des représentations de plus en plus abstraites des données. Par exemple, en reconnaissance d'images, l'image entre et le système trouve d'abord des formes simples et de petites caractéristiques comme des lignes, des courbes et des motifs, par exemple, des rayures. Ensuite, il combine ces caractéristiques pour reconnaître des parties plus grandes comme le corps rayé d'un zèbre ou la forme lisse d'un cheval. Enfin, il assemble tout et décide si l'image est un zèbre, un cheval ou autre chose. C'est pourquoi l'apprentissage profond a eu tant de succès dans des tâches telles que la reconnaissance d'images, la reconnaissance vocale et le traitement du langage naturel.

Maintenant, passons à l'apprentissage non supervisé. Dans l'apprentissage non supervisé, l'une des tâches les plus courantes est le clustering. Dans le clustering, nous n'avons pas d'étiquettes et nous essayons simplement de découvrir des regroupements naturels ou des clusters dans les données. Un algorithme très populaire pour cela est le clustering K-means. Je ne l'expliquerai pas car j'ai déjà réalisé une vidéo détaillée à ce sujet. Regardez-la plus tard.

Le type d'algorithme suivant est la réduction de dimensionnalité, qui se concentre sur la simplification des données en réduisant le nombre de caractéristiques tout en conservant autant d'informations utiles que possible. Les grands ensembles de données ont souvent de nombreuses caractéristiques corrélées ou redondantes qui peuvent ralentir les modèles et introduire du bruit. Par exemple, avons-nous vraiment besoin d'une image haute résolution pour identifier le chat dans l'image ? Non. Par conséquent, des algorithmes comme l'analyse en composantes principales ou PCA résolvent cela en trouvant de nouvelles directions dans les données qui capturent la variance maximale.

Jusqu'à présent, nous avons discuté de l'apprentissage supervisé et de l'apprentissage non supervisé. Mais il existe deux autres catégories importantes que vous devriez connaître. L'apprentissage semi-supervisé et l'apprentissage par renforcement. L'apprentissage semi-supervisé est un mélange d'apprentissage supervisé et non supervisé. Par exemple, imaginez que vous ayez 10 000 images médicales, mais seulement 500 sont étiquetées par des médecins. Un algorithme semi-supervisé utilise la petite partie étiquetée pour guider l'apprentissage tout en extrayant la structure de la grande partie non étiquetée. Cette approche est particulièrement utile lorsque l'étiquetage des données est difficile ou coûteux.

Ensuite, l'apprentissage par renforcement est complètement différent des trois autres. Ici, l'algorithme n'apprend pas à partir d'exemples étiquetés. Au lieu de cela, il apprend en interagissant avec un environnement et en recevant des récompenses ou des pénalités. Pensez à dresser un chien. Vous ne lui donnez pas d'ensembles de données étiquetés. Vous récompensez le bon comportement et découragez le mauvais comportement. Au fil du temps, le chien apprend quelles actions mènent à des récompenses. Dans l'apprentissage par renforcement, un agent prend des actions, observe les résultats, reçoit des récompenses et met à jour sa stratégie pour maximiser la récompense totale future. C'est l'idée centrale derrière l'IA de jeu, la robotique, les systèmes autonomes et les systèmes de prise de décision.

Si vous avez apprécié cette vidéo, n'oubliez pas de liker, partager et vous abonner à notre chaîne. C'est très bien.