Maison > Article > Périphériques technologiques > Il y a six algorithmes importants cachés dans la boîte à outils d'apprentissage automatique
Le mathématicien français Adrien-Marie Legendre est obsédé par la prédiction de la position future des comètes. Compte tenu des positions précédentes de la comète, il s'apprête à créer une méthode pour calculer sa trajectoire.
Après avoir essayé plusieurs méthodes, j'ai enfin progressé.
Legendre a commencé par deviner la position future de la comète, a enregistré les données, les a analysées et a finalement vérifié sa supposition grâce aux données pour réduire la somme des erreurs carrées.
C'est la graine de la régression linéaire.
Deux étapes vers la vulgarisation : L’algorithme a immédiatement aidé les navigateurs à suivre les étoiles, ainsi que plus tard les biologistes (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 plus.
Gérer l'ambiguïté : Bien sûr, 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 : Maintenant, 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 essentiel 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, seriez-vous étiqueté « vivant » ou « mort » ?
Maintenant, non seulement appeler le centre d’urgence apporte une meilleure réponse à cette question, mais la régression logistique est au cœur du deep learning.
Cette fonction remonte aux années 1830, lorsque le statisticien belge P.F. Verhulst l'a inventée pour décrire la dynamique de la population : au fil du temps, l'explosion initiale de la croissance exponentielle se stabilise à mesure qu'elle consomme les ressources disponibles, donnant naissance à la 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 conçu une régression logistique pour calculer la quantité mortelle d'une substance dangereuse donnée.
Imaginez faire une randonnée en montagne après le crépuscule et réaliser que vous ne pouvez rien voir à part vos pieds.
Votre téléphone est à court de batterie, vous ne pouvez donc pas utiliser le GPS pour retrouver votre chemin.
Peut-être trouverez-vous le chemin le plus rapide en descente en pente, mais attention, ne tombez pas de la falaise.
En 1847, le mathématicien français Augustin-Louis Cauchy invente un algorithme permettant d'approcher les orbites stellaires.
60 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 est de trouver le point le plus bas de la fonction de perte d'un algorithme d'apprentissage.
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 vous retrouver coincé dans un paysage non convexe composé de plusieurs vallées (minima locaux), sommets (maxima locaux), points de selle (points de selle) et plateaux.
En fait, les 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 émergé 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 semble y avoir autant d'optimiseurs que de minimums locaux.
Heureusement, les minimums locaux et les minimums globaux ont tendance à être à peu près égaux.
La descente de dégradé 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 – comme dans les 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 la descente en pente et le sens de l'aventure, vous pourriez bien sortir des montagnes à temps pour le dîner.
Clarifions d'abord un problème. Le cerveau n'est pas un ensemble d'unités de traitement graphique. Si tel était le cas, le logiciel qu'il exécute serait beaucoup plus complexe qu'un réseau neuronal artificiel classique.
Cependant, les réseaux de neurones 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és qui en résulte mène à une idée – ou à la reconnaissance d’une image de chat.
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 ont utilisé des règles mathématiques simples pour établir un modèle de réseau neuronal biologique.
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 l'US Navy.
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 dans un nombre illimité de couches.
En 1985, les informaticiens français Yann LeCun et David Parker, travaillant de manière indépendante, ainsi que le psychologue américain David Rumelhart et leurs collègues, 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é les limites des réseaux de neurones grâce à l'utilisation d'unités de traitement graphique, que les réseaux de neurones de plus en plus grands peuvent apprendre des grandes quantités de données générées par Internet.
Le New York Times a ouvert la voie au battage médiatique sur l’intelligence artificielle lorsqu’il a rendu compte de l’invention du capteur par Rosenblatt en 1958, rapportant que « la marine américaine veut une machine capable de marcher, de parler, de voir, d’écrire, de s’auto-répliquer et de se reproduire. d'un ordinateur électronique conscient de sa propre existence. »
Bien que les capteurs de l'époque ne répondent pas à cette exigence, il a produit de nombreux modèles impressionnants : des réseaux de neurones convolutifs pour les images ; texte, parole, vidéo, 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 à gérer 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 tour à tour dans chaque catégorie :
L'existence d'Aristote est matérielle et non des concepts ou des 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évale ont dessiné cette séquence sous forme d'organigramme vertical : un premier arbre de décision.
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.
Avec l'émergence des logiciels d'algorithmes de formation automatique, ce type de travail est devenu courant, et désormais diverses bibliothèques d'apprentissage automatique, dont scikit-learn, utilisent également des arbres de décision.
Ce code a été développé par quatre statisticiens de l'Université de Stanford et de l'Université de Californie à Berkeley, sur une période de 10 ans. Aujourd'hui, écrire des arbres de décision à partir de zéro est devenu un devoir de Machine Learning 101.
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).
Pensez au sujet du médecin et anthropologue allemand Johann Blumenbach : 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.
Étant donné la conclusion de Blumenbach (infirmée plus tard par Charles Darwin) selon laquelle les humains se distinguent des singes par de larges bassins, des mains et des dents serrées, si nous voulons étendre l'arbre de décision pour classer non seulement les singes et les singes, mais aussi les humains. Classification, que se passe-t-il ?
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, parmi les 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.
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 (forêt aléatoire) en 2001 - il s'agit d'un ensemble d'arbres de décision, chaque arbre de décision traitera Différents exemples qui se chevauchent sont sélectionnés et les résultats finaux sont votés.
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 1000 autres zoologistes réunis dans la 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, à savoir l'idée d'utiliser le clustering k-means pour regrouper des points de données.
Que les groupes soient formés par l'action humaine ou d'autres forces, cet algorithme les trouvera.
Des explosions à la tonalité : Le physicien américain Stuart Lloyd, ancien élève de l'emblématique Innovation Factory des Bell Labs et du projet Manhattan qui a inventé la bombe atomique, a proposé pour la première fois le regroupement k-means en 1957 pour effectuer un regroupement dans les signaux numériques attribués aux informations. , mais n'a publié cet ouvrage qu'en 1982.
Pendant ce temps, le statisticien américain Edward Forgy a décrit une méthode similaire en 1965, ce qui a conduit à 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 la formation, 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 souhaitez 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 sûr, 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 entraîne des changements notables :
Les K-médoïdes utilisent des 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 Carnaval Dimensionnel : Néanmoins, 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!