Maison >Périphériques technologiques >IA >Andrew Ng : Six algorithmes fondamentaux de l'apprentissage automatique

Andrew Ng : Six algorithmes fondamentaux de l'apprentissage automatique

王林
王林avant
2023-04-08 14:01:081079parcourir

Andrew Ng : Six algorithmes fondamentaux de lapprentissage automatique

Cet article est reproduit à partir de Lei Feng.com Si vous devez le réimprimer, veuillez vous rendre sur le site officiel de Lei Feng.com pour demander une autorisation.

Récemment, Andrew Ng a mis à jour un article de blog sur le bulletin hebdomadaire d'intelligence artificielle "The Batch" qu'il a fondé, résumant les origines historiques de plusieurs algorithmes de base dans le domaine de l'apprentissage automatique. Au début de l'article, Andrew Ng a rappelé une décision qu'il a prise dans son processus de recherche : il y a de nombreuses années, dans un projet, lors du choix d'un algorithme, il devait choisir entre un réseau de neurones et un algorithme d'apprentissage d'arbre de décision. Compte tenu du budget de calcul, il a finalement opté pour les réseaux de neurones, abandonnant pendant longtemps les arbres de décision boostés. C'était une mauvaise décision. "Heureusement, mon équipe a rapidement révisé mon choix et le projet a été couronné de succès", a déclaré Ng. Il a déploré qu'il soit très important d'apprendre et de mettre à jour continuellement les connaissances de base. Comme d’autres domaines techniques, le domaine de l’apprentissage automatique évolue constamment à mesure que le nombre de chercheurs et le nombre de résultats de recherche augmentent. Mais les apports de certains algorithmes de base et idées fondamentales peuvent résister à l'épreuve du temps :

  • Algorithmes : régression linéaire et logistique, arbres de décision, etc.
  • Concepts : régularisation, fonction de perte d'optimisation, biais/variance, etc.

De l'avis de Ng, ces algorithmes et concepts sont les idées centrales de nombreux modèles d'apprentissage automatique, notamment les prédicteurs de prix de l'immobilier, les générateurs de texte-image (tels que DALL·E), etc. Dans ce dernier article, Andrew Ng et son équipe ont étudié les origines, les utilisations et l’évolution de six algorithmes de base et ont fourni une explication plus détaillée. Les six algorithmes sont : la régression linéaire, la régression logistique, la descente de gradient, le réseau neuronal, l'arbre de décision et l'algorithme de clustering à k-moyennes.

1 Régression linéaire : droite et étroite

La régression linéaire est une méthode statistique clé dans l'apprentissage automatique, mais elle ne gagne pas sans combat. Elle a été proposée par deux mathématiciens exceptionnels, mais 200 ans plus tard, le problème n’est toujours pas résolu. La controverse de longue date démontre non seulement l’utilité remarquable de l’algorithme, mais aussi sa simplicité essentielle.

Alors, quel algorithme est la régression linéaire ? En 1805, le mathématicien français Adrien-Marie Legendre a publié une méthode permettant d'ajuster une ligne à un ensemble de points tout en essayant de prédire la position des comètes (la navigation céleste était à l'époque la direction scientifique la plus précieuse dans le commerce mondial, tout comme l'intelligence artificielle aujourd'hui). . intelligent).

Andrew Ng : Six algorithmes fondamentaux de lapprentissage automatique

Légende : Croquis d'Adrien-Marie LegendreQuatre ans plus tard, le prodige allemand de 24 ans Carl Friedrich Gauss a insisté sur le fait qu'il l'utilisait depuis 1795, mais pensait que c'était trop trivial pour l'écrire. à propos de. Les affirmations de Gauss ont incité Legendre à publier un article de manière anonyme, affirmant qu'« un géomètre très célèbre a adopté cette méthode sans hésitation ». Pente et biais

 : La régression linéaire est utile lorsque la relation entre le résultat et les variables qui l'affectent suit une ligne droite. . Par exemple, la consommation de carburant d’une voiture est linéairement liée à son poids.

Andrew Ng : Six algorithmes fondamentaux de lapprentissage automatique
  • La relation entre la consommation de carburant y d'une voiture et son poids x dépend de la pente w de la ligne droite (de combien la consommation de carburant augmente avec le poids) et du terme de biais b (consommation de carburant à poids nul) : y=w* x+b.
  • Pendant l'entraînement, l'algorithme prédit la consommation de carburant attendue en fonction du poids de la voiture. Il compare la consommation de carburant prévue et réelle. Il minimise ensuite la différence au carré, généralement par des techniques ordinaires des moindres carrés, affinant les valeurs de w et b.
  • Considérer la traînée de la voiture peut générer des prédictions plus précises. Des variables supplémentaires prolongent la ligne jusqu'au plan. De cette manière, la régression linéaire peut prendre en compte n’importe quel nombre de variables/dimensions.

Deux étapes vers la vulgarisation : L’algorithme a immédiatement aidé les navigateurs à suivre les étoiles, ainsi que les biologistes plus tard (notamment le cousin de Charles Darwin, Francis Galton) à identifier les traits héréditaires des plantes et des animaux. Ces deux développements ultérieurs ont libéré le vaste potentiel de la régression linéaire. En 1922, les statisticiens britanniques Ronald Fisher et Karl Pearson montrèrent comment la régression linéaire pouvait s'intégrer dans le cadre statistique général des corrélations et des distributions, la rendant ainsi utile dans toutes les sciences. Et, près d’un siècle plus tard, l’avènement des ordinateurs a fourni les données et la puissance de traitement nécessaires pour les exploiter encore davantage.

Gérer l'ambiguïté : Bien entendu, les données ne seront jamais mesurées parfaitement, et certaines variables sont plus importantes que d'autres. Ces réalités de la vie inspirent des variations plus complexes. Par exemple, la régression linéaire avec régularisation (également connue sous le nom de « régression de crête ») encourage les modèles de régression linéaire à ne pas trop s'appuyer sur une seule variable, ou plutôt à s'appuyer uniformément sur la variable la plus importante. Par souci de simplicité, une autre forme de régularisation (L1 au lieu de L2) produit un lasso (estimation compressée) qui encourage autant de coefficients que possible à être nuls. En d’autres termes, il apprend à sélectionner des variables à fort pouvoir prédictif et à ignorer le reste. Les réseaux élastiques combinent ces deux types de régularisation. Ceci est utile lorsque les données sont rares ou lorsque les fonctionnalités semblent liées.

Dans chaque neurone : Désormais, la version simple est toujours très utile. Les types de neurones les plus courants dans les réseaux neuronaux sont les modèles de régression linéaire, suivis des fonctions d'activation non linéaires, faisant de la régression linéaire un élément fondamental de l'apprentissage profond.

2 Régression logistique : suivre la courbe

Il fut un temps où la régression logistique n'était utilisée que pour classer une chose : si vous buviez une bouteille de poison, vous pouviez être étiqueté « vivant » ou « vivant ». mourir"? Les temps ont changé et aujourd’hui, non seulement appeler les services d’urgence apporte une meilleure réponse à cette question, mais la régression logistique est également au cœur du deep learning.

Poison Control : La fonction logistique remonte aux années 1830, lorsque le statisticien belge P.F. Verhulst l'a inventée pour décrire la dynamique de la population : une première explosion de croissance exponentielle au fil du temps, car elle consomme les ressources disponibles, ce qui entraîne une croissance exponentielle. courbe logique caractéristique. Plus d’un siècle plus tard, le statisticien américain E. B. Wilson et son élève Jane Worcester ont mis au point une régression logistique pour calculer la quantité mortelle d’une substance dangereuse donnée.

Andrew Ng : Six algorithmes fondamentaux de lapprentissage automatique

Légende : P.F. VerhulstFonction d'ajustement : La régression logistique adapte une fonction logistique à un ensemble de données afin de prédire l'occurrence d'un résultat spécifique pour un événement donné (par exemple, l'ingestion de strychnine ) (par exemple, décès prématuré).

  • La formation ajuste la position centrale de la courbe horizontalement et la position médiane de la courbe verticalement pour minimiser l'erreur entre la sortie de la fonction et les données.
  • Ajuster le centre vers la droite ou la gauche signifie qu'il faut plus ou moins de poison pour tuer une personne moyenne. La pente raide implique une certitude : avant la moitié du chemin, la plupart des gens survivent ; au-delà de la moitié du chemin, « dites simplement au revoir » (c'est-à-dire la mort). Les pentes douces sont plus indulgentes : en dessous du milieu de la courbe, plus de la moitié survivront ; au-dessus, moins de la moitié survivra.
  • Définissez un seuil entre un résultat et un autre, disons 0,5, et la courbe devient un classificateur. Entrez simplement la dose dans le modèle et vous saurez si vous devez planifier une fête ou des funérailles.

Plus de résultats : Les travaux de Verhulst ont trouvé des probabilités de résultats binaires, ignorant d'autres possibilités, telles que le côté de l'au-delà dans lequel une victime d'empoisonnement pourrait se retrouver. Ses successeurs ont élargi l'algorithme :

  • À la fin des années 1960, le statisticien britannique David Cox et le statisticien néerlandais Henri Theil, travaillant indépendamment, ont mené une régression logistique pour des situations comportant plus de deux résultats possibles.
  • Des travaux supplémentaires ont abouti à une régression logistique ordonnée, où les résultats sont des valeurs ordonnées.
  • Pour gérer des données clairsemées ou de grande dimension, la régression logistique peut exploiter les mêmes techniques de régularisation que la régression linéaire.

Andrew Ng : Six algorithmes fondamentaux de lapprentissage automatique

Illustration : David CoxCourbe multifonctionnelle : Les fonctions logistiques décrivent un large éventail de phénomènes avec une précision considérable, de sorte que la régression logistique fournit des prédictions de base utiles dans de nombreuses situations. En médecine, il estime la mortalité et le risque de maladie. En science politique, il prédit les gagnants et les perdants des élections. En économie, il prédit les perspectives commerciales. Plus important encore, il pilote un sous-ensemble de neurones dans une grande variété de réseaux neuronaux (où la non-linéarité est une fonction sigmoïde).

3 Descente de Dégradé : Tout est en descente

Imaginez faire une randonnée en montagne après le crépuscule et réaliser que vous ne pouvez rien voir en dessous de vous. Et la batterie de votre téléphone est épuisée, vous ne pouvez donc pas utiliser votre application GPS pour retrouver votre chemin. Vous trouverez peut-être le chemin le plus rapide via la descente en pente. Faites attention à ne pas descendre de la falaise. Soleil et tapis : La descente en pente est plus bénéfique que la descente sur un terrain escarpé. En 1847, le mathématicien français Augustin-Louis Cauchy inventa un algorithme permettant d'approcher les orbites stellaires. Soixante ans plus tard, son compatriote Jacques Hadamard l'a développé indépendamment pour décrire la déformation d'objets fins et flexibles, comme les tapis, qui pourraient faciliter la randonnée à genoux. Cependant, en apprentissage automatique, son utilisation la plus courante consiste à trouver le point le plus bas de la fonction de perte d’un algorithme d’apprentissage.

Andrew Ng : Six algorithmes fondamentaux de lapprentissage automatique

Légende : Augustin-Louis Cauchy Descendre : Un réseau neuronal entraîné fournit une fonction qui calcule une sortie souhaitée en fonction d'une entrée. Une façon de former un réseau consiste à minimiser la perte, ou l'erreur, dans la sortie en calculant de manière itérative la différence entre la sortie réelle et la sortie souhaitée, puis en modifiant les valeurs des paramètres du réseau pour réduire la différence.

La descente de gradient réduit la différence, minimisant ainsi la fonction qui calcule la perte. La valeur du paramètre du réseau équivaut à une position sur le terrain, et la perte est la hauteur actuelle. Au fur et à mesure que vous descendez, vous pouvez améliorer la capacité du réseau à calculer quelque chose de proche du résultat souhaité. La visibilité est limitée car dans une situation typique d'apprentissage supervisé, l'algorithme s'appuie uniquement sur les valeurs des paramètres du réseau et sur la pente ou la pente de la fonction de perte - c'est-à-dire l'endroit où vous vous trouvez sur la colline et la pente en dessous de vous.

  • La méthode de base consiste à se déplacer dans le sens de la descente la plus raide du terrain. L’astuce consiste à calibrer votre longueur de foulée. Faites un pas trop petit et il faut beaucoup de temps pour progresser ; faites un pas trop grand et vous plongerez en territoire inconnu, éventuellement en montant au lieu de descendre.
  • Compte tenu de la position actuelle, l'algorithme estime la direction de descente la plus rapide en calculant le gradient de la fonction de perte. Le gradient pointe vers le haut, donc l'algorithme va dans la direction opposée en soustrayant une petite partie du gradient. Une fraction α appelée taux d'apprentissage détermine la taille du pas avant de mesurer à nouveau le gradient.
  • Répétez ces étapes et espérez pouvoir atteindre une vallée. Félicitations!

Coincé dans la vallée : Dommage que votre téléphone soit à court de batterie car l'algorithme ne vous a probablement pas poussé au pied de la montagne. Vous pouvez rester coincé dans un paysage non convexe composé de plusieurs vallées (minima locaux), sommets (maximas locaux), points de selle (points de selle) et plateaux. En fait, des tâches telles que la reconnaissance d’images, la génération de texte et la reconnaissance vocale sont toutes non convexes, et de nombreuses variantes de descente de gradient ont vu le jour pour gérer cette situation.

Par exemple, l'algorithme peut avoir un élan qui l'aide à amplifier les petits hauts et les bas, le rendant plus susceptible d'atteindre le fond. Les chercheurs ont conçu tellement de variantes qu’il semblait y avoir autant d’optimiseurs que de minimums locaux. Heureusement, les minimums locaux et les minimums globaux ont tendance à être à peu près égaux.

Optimiseur optimal : La descente de gradient est le choix évident pour trouver le minimum de n'importe quelle fonction. Dans les cas où la solution exacte peut être calculée directement – ​​par exemple, dans des tâches de régression linéaire avec un grand nombre de variables – elle peut se rapprocher d’une valeur et est souvent plus rapide et moins chère. Mais cela s’avère utile dans les tâches non linéaires complexes. Avec une descente en pente et un sens de l'aventure, vous pourrez probablement sortir des montagnes à temps pour le dîner.

4 Réseaux de neurones : trouver des fonctions

Mettons d'abord cela au clair : Le cerveau n'est pas un ensemble d'unités de traitement graphique, Si c'était le cas, il exécuterait un logiciel plus complexe qu'un ordinateur artificiel classique réseau neuronal nombreux. Les réseaux neuronaux s'inspirent de la structure du cerveau : des couches de neurones interconnectés, chacun calculant son propre résultat en fonction de l'état de ses voisins. La chaîne d'activité qui en résulte forme une idée ou reconnaît une idée.

Du biologique à l'artificiel : L'idée selon laquelle le cerveau apprend grâce aux interactions entre neurones remonte à 1873, mais ce n'est qu'en 1943 que les neuroscientifiques américains Warren McCulloch et Walter Pitts l'ont établie à l'aide de règles mathématiques neuronales simples. modèle de réseau. En 1958, le psychologue américain Frank Rosenblatt a développé le capteur, un réseau visuel monocouche implémenté sur une machine à cartes perforées, dans le but de construire une version matérielle pour la marine américaine.

Andrew Ng : Six algorithmes fondamentaux de lapprentissage automatique

Légende : Frank RosenblattPlus c'est gros, mieux c'est : L'invention de Rosenblatt ne peut reconnaître que les classifications sur une seule ligne. Plus tard, les mathématiciens ukrainiens Alexey Ivakhnenko et Valentin Lapa ont surmonté cette limitation en empilant des réseaux de neurones sur un nombre illimité de couches.

En 1985, les informaticiens français Yann LeCun, David Parker et le psychologue américain David Rumelhart et leurs collègues, travaillant de manière indépendante, ont décrit l'utilisation de la rétropropagation pour former efficacement de tels réseaux.

Au cours de la première décennie du nouveau millénaire, des chercheurs dont Kumar Chellapilla, Dave Steinkraus et Rajat Raina (en collaboration avec Andrew Ng) ont repoussé encore plus les limites des réseaux neuronaux grâce à l'utilisation d'unités de traitement graphique, ce qui a permis au Vietnam Des réseaux neuronaux de plus en plus grands peuvent apprendre des grandes quantités de données générées par Internet.

Adapté à chaque tâche : Le principe des réseaux de neurones est simple : pour toute tâche, il existe une fonction qui l'exécute. Un réseau de neurones forme une fonction entraînable en combinant plusieurs fonctions simples, chacune exécutée par un seul neurone. La fonction d'un neurone est déterminée par des paramètres réglables appelés « poids ».

Compte tenu de ces poids, exemples d'entrée et valeurs aléatoires pour leurs sorties souhaitées, vous pouvez modifier les poids de manière itérative jusqu'à ce que vous disposiez d'une fonction entraînable qui effectue la tâche à accomplir.

  • Un neurone prend diverses entrées (par exemple des nombres représentant des pixels ou des mots, ou la sortie de la couche précédente), les multiplie avec des poids, additionne les produits et aboutit à une valeur choisie par le développeur. Une somme de non-linéaires fonctions ou fonctions d’activation. Pendant cette période, il faut considérer qu’il s’agit d’une régression linéaire, plus une fonction d’activation.
  • Formation pour modifier les poids. Pour chaque exemple d'entrée, le réseau calcule une sortie et la compare à la sortie attendue. La rétropropagation modifie les poids par descente de gradient pour réduire la différence entre la sortie réelle et attendue. Lorsque ce processus est répété suffisamment de fois avec suffisamment de (bons) exemples, le réseau apprend à effectuer la tâche.

Boîte Noire : Même si, avec un peu de chance, un réseau bien entraîné peut faire son travail, vous finissez par lire une fonction souvent très complexe - contenant des milliers de variables et de fonctions d'activation imbriquées - à tel point qu'il est difficile d'expliquer Il est extrêmement difficile de savoir comment un réseau parvient à accomplir ses tâches. De plus, un réseau bien formé ne vaut que par les données dont il a tiré les leçons.

Par exemple, si l'ensemble de données est biaisé, alors la sortie du réseau sera également biaisée. S’il ne contient que des images haute résolution de chats, on ne sait pas comment il réagira aux images basse résolution. Un morceau de bon sens : le New York Times a ouvert la voie au battage médiatique sur l’intelligence artificielle lorsqu’il a rendu compte du capteur de Rosenblatt de 1958, notant que « la marine américaine veut une machine capable de marcher, de parler, de voir, d’écrire et de se reproduire ». le prototype d’un ordinateur électronique conscient de sa propre existence.

Bien que les capteurs de l'époque ne répondaient pas à cette exigence, ils ont produit de nombreux modèles impressionnants : réseaux de neurones convolutifs pour les images ; réseaux de neurones récurrents pour le texte et pour les images, le texte, la parole et la vidéo, transformateurs pour les structures protéiques, etc.

Ils font déjà des choses incroyables, comme dépasser les performances du niveau humain en jouant au Go et se rapprocher des performances du niveau humain dans des tâches pratiques comme le diagnostic des images radiographiques. Cependant, ils sont encore plus difficiles à traiter en termes de bon sens et de raisonnement logique.

5 Arbre de décision : de la racine à la feuille

Quel genre de « bête » est Aristote ? Porphyre, un disciple du philosophe qui vécut en Syrie au troisième siècle, a trouvé une réponse logique à cette question.

Il a combiné les « catégories d'existence » proposées par Aristote du général au spécifique, et a classé Aristote dans chaque catégorie tour à tour : l'existence d'Aristote est matérielle et non les concepts ou les esprits, son corps est animé plutôt qu'inanimé ; rationnel plutôt qu’irrationnel.

Sa classification est donc humaine. Les professeurs de logique médiévaux ont dessiné cette séquence sous la forme d'un diagramme de flux vertical : un premier arbre de décision.

Différences de chiffres : Avance rapide jusqu'en 1963, lorsque le sociologue John Sonquist de l'Université du Michigan et l'économiste James Morgan ont pour la première fois mis en œuvre des arbres de décision dans des ordinateurs lors du regroupement des répondants à une enquête. Ce type de travail est devenu courant avec l'avènement des logiciels qui entraînent automatiquement les algorithmes, et les arbres de décision sont désormais utilisés par diverses bibliothèques d'apprentissage automatique, notamment scikit-learn et d'autres. Le code a été développé sur une période de 10 ans par quatre statisticiens de l’Université de Stanford et de l’Université de Californie à Berkeley. Aujourd'hui, écrire des arbres de décision à partir de zéro est devenu un devoir de Machine Learning 101.

Des racines en l'air : Les arbres de décision peuvent effectuer une classification ou une régression. Il croît vers le bas, depuis les racines jusqu'à la couronne, classant les exemples d'entrée d'une hiérarchie de décision en deux (ou plus). Le sujet du médecin et anthropologue allemand Johann Blumenbach vient à l'esprit : vers 1776, il distingua pour la première fois les singes des singes (en laissant de côté les humains).

Cette classification dépend de divers critères, comme s'il y a une queue, si la poitrine est étroite ou large, si elle est droite ou accroupie et le niveau d'intelligence. Utilisez un arbre de décision entraîné pour étiqueter ces animaux, en considérant chaque critère un par un, et finalement séparer les deux groupes d'animaux.

  • L'arbre part du nœud racine de ce qui peut être considéré comme une base de données biologique qui contient tous les cas - chimpanzés, gorilles et orangs-outans, ainsi que capucins, babouins et ouistitis. La racine offre le choix entre deux nœuds enfants s'ils présentent ou non une caractéristique particulière, ce qui fait que les deux nœuds enfants contiennent des exemples avec et sans cette caractéristique. Par analogie, ce processus se termine par un nombre quelconque de nœuds feuilles, chacun contenant la majeure partie ou la totalité d'une catégorie.
  • Pour pousser, un arbre doit trouver ses racines. Pour faire un choix, considérez toutes les caractéristiques et leur valeur - appendices postérieurs, poitrine en tonneau, etc. - et choisissez celle qui maximise la pureté de la segmentation. La « pureté optimale » est définie comme 100 % des instances d'une catégorie entrant dans un nœud enfant particulier et jamais dans un autre nœud. Les fourchettes sont rarement pures à 100 % après une seule décision, et elles ne le seront probablement jamais. Au fur et à mesure que ce processus se poursuit, un niveau après l'autre de nœuds enfants est produit, jusqu'à ce que la pureté n'augmente plus beaucoup en considérant davantage de fonctionnalités. À ce stade, l’arbre est entièrement formé.
  • Lors de l'inférence, un nouvel exemple parcourt l'arbre de décision de haut en bas, complétant l'évaluation des différentes décisions à chaque niveau. Il obtiendra l'étiquette de données contenue dans le nœud feuille où il se trouve.

Dans le Top 10 : étant donné la conclusion de Blumenbach (infirmée plus tard par Charles Darwin) selon laquelle les humains se distinguent des singes par des bassins larges, des mains et des dents serrées, si nous voulons étendre l'arbre de décision pour non seulement classer les singes et les singes, mais et si nous classions plutôt les humains ? L'informaticien australien John Ross Quinlan a rendu cela possible en 1986 avec ID3, qui étendait les arbres de décision pour prendre en charge les résultats non binaires. En 2008, dans la liste des dix meilleurs algorithmes d'exploration de données prévus par la Conférence internationale sur l'exploration de données de l'IEEE, un algorithme de raffinement étendu nommé C4.5 s'est classé en tête.

Dans un monde où l'innovation est omniprésente, c'est la durabilité. Éplucher les feuilles : les arbres de décision présentent certains inconvénients. Ils peuvent facilement surajuster les données en ajoutant plusieurs niveaux de hiérarchie afin qu'un nœud feuille n'inclue qu'un seul exemple. Le pire, c’est qu’ils sont sujets à l’effet papillon : changez d’exemple et l’arbre qui poussera sera complètement différent.

Dans la forêt : le statisticien américain Leo Breiman et la statisticienne néo-zélandaise Adele Cutler ont transformé cette fonctionnalité en un avantage et ont développé une forêt aléatoire en 2001, qui est un ensemble d'arbres de décision. Chaque arbre de décision traite une sélection différente et superposée d'exemples. et vote sur le résultat final. Random Forest et son cousin XGBoost sont moins sujets au surapprentissage, ce qui contribue à en faire l'un des algorithmes d'apprentissage automatique les plus populaires. C'est comme avoir Aristote, Porphyre, Blumenbach, Darwin, Jane Goodall, Dian Fossey et 1 000 autres zoologistes réunis dans la même pièce pour s'assurer que votre classification est la meilleure possible.

6 K-Means Clustering : Pensée de groupe

Si vous vous tenez à proximité d'autres personnes lors d'une fête, il y a de fortes chances que vous ayez quelque chose en commun. C'est l'idée d'utiliser le clustering k-means pour regrouper les points de données. Qu'il s'agisse de groupes formés par l'action humaine ou d'autres forces, cet algorithme les trouvera. Des explosions à la tonalité de numérotation : le physicien américain Stuart Lloyd, ancien élève de l'usine d'innovation emblématique des Bell Labs et du projet Manhattan qui a inventé la bombe atomique, a proposé pour la première fois le regroupement de k-means en 1957 pour distribuer des informations dans des signaux numériques, mais ce travail n'a été publié qu'en 1982 :

Andrew Ng : Six algorithmes fondamentaux de lapprentissage automatique

Adresse papier : https://cs.nyu.edu/~roweis/csc2515-2006/readings/lloyd57.pdfÀ la même époque, le statisticien américain Edward Forgy a décrit une méthode similaire en 1965, conduisant à son nom alternatif « algorithme de Lloyd-Forgy ». Trouver des hubs : envisagez de diviser les clusters en groupes de travail partageant les mêmes idées. Compte tenu de l'emplacement des participants dans la salle et du nombre de groupes à former, le regroupement k-means peut diviser les participants en groupes de taille à peu près égale, chaque groupe étant regroupé autour d'un point central ou centroïde.

  • Lors de l'entraînement, l'algorithme spécifie initialement k centroïdes en sélectionnant k personnes au hasard. (K doit être choisi manuellement, et trouver une valeur optimale est parfois très important.) Il développe ensuite k clusters en associant chaque personne au centroïde le plus proche.
  • Pour chaque cluster, il calcule la position moyenne de toutes les personnes affectées à ce groupe et attribue cette position moyenne comme nouveau centroïde. Chaque nouveau centre de masse n’est peut-être pas occupé par une personne, mais et alors ? Les gens ont tendance à se rassembler autour du chocolat et de la fondue.
  • Après avoir calculé le nouveau centroïde, l'algorithme réaffecte les individus à leur centroïde le plus proche. Il calcule ensuite de nouveaux centroïdes, ajuste les clusters, et ainsi de suite jusqu'à ce que les centroïdes (et les groupes qui les entourent) ne bougent plus. Ensuite, il est facile d’attribuer de nouveaux membres au bon cluster. Placez-les dans la pièce et recherchez le centre de masse le plus proche.
  • Soyez prévenu : étant donné l'attribution aléatoire initiale du centroïde, vous ne vous retrouverez peut-être pas dans le même groupe que les adorables experts en IA centrés sur les données avec lesquels vous espérez passer du temps. L’algorithme fait du bon travail, mais il n’est pas garanti qu’il trouve la meilleure solution.

Différentes distances : Bien entendu, la distance entre les objets regroupés n'a pas besoin d'être grande. N'importe quelle métrique entre deux vecteurs fera l'affaire. Par exemple, au lieu de regrouper les fêtards en fonction de la distance physique, le regroupement k-means peut les diviser en fonction de leurs vêtements, de leur profession ou d'autres attributs. Les magasins en ligne l'utilisent pour segmenter les clients en fonction de leurs préférences ou de leur comportement, et les astronomes peuvent regrouper des étoiles du même type. Le pouvoir des points de données : Cette idée a produit des changements remarquables :

  • K-medoids Utilisez les points de données réels comme centroïdes plutôt que la position moyenne dans un cluster donné. Le point central est le point qui minimise la distance par rapport à tous les points du cluster. Ce changement est plus facile à interpréter car le centre de gravité est toujours le point de données.
  • Fuzzy C-Means Clustering permet aux points de données de participer à plusieurs clusters à des degrés divers. Il remplace les affectations de clusters difficiles par des degrés de cluster basés sur la distance par rapport au centre de gravité.

n Dimensional Carnival : Pourtant, l'algorithme dans sa forme originale est toujours très utile - notamment parce que, en tant qu'algorithme non supervisé, il ne nécessite pas la collecte de données étiquetées coûteuses. Il est également utilisé de plus en plus vite. Par exemple, les bibliothèques d'apprentissage automatique, notamment scikit-learn, ont bénéficié de l'ajout de kd-trees en 2002, qui peuvent partitionner très rapidement des données de grande dimension.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer