Maison >Périphériques technologiques >IA >Andrew Ng : Six algorithmes fondamentaux de l'apprentissage 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 :
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.
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).
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.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.
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.
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é).
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 :
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.
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.
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.
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.
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.
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. 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. 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. 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 : 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. 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 : 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. 5 Arbre de décision : de la racine à la feuille
6 K-Means Clustering : Pensée de groupe
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!