Non, bien sûr, je ne suis pas sérieux. Il doit y avoir une limite à la mesure dans laquelle il est possible de simplifier un sujet. Mais pour les premières étapes, comprendre les concepts de base et « entrer » rapidement dans le sujet, cela peut être acceptable. Nous verrons à la fin comment nommer correctement ce matériel (options : « Machine learning pour les nuls », « Analyse des données à partir des couches », « Algorithmes pour les plus petits »).
Jusqu'au point. A écrit plusieurs programmes d'application dans MS Excel pour la visualisation et la représentation visuelle des processus qui se produisent dans différentes méthodes d'apprentissage automatique lors de l'analyse des données. Voir, c'est croire, après tout, comme le disent les porteurs de la culture qui a développé la plupart de ces méthodes (pas toutes d'ailleurs. La « machine à vecteurs de support » la plus puissante, ou SVM, machine à vecteurs de support est l'invention de notre compatriote Vladimir Vapnik, de l'Institut de gestion de Moscou (d'ailleurs, né en 1963 ! Aujourd'hui, il enseigne et travaille aux États-Unis).
1. K-means clustering
Les problèmes de ce type font référence à un « apprentissage non supervisé », lorsqu’il faut diviser les données initiales en un certain nombre de catégories connues à l’avance, mais que l’on n’a pas de « bonnes réponses » ; il faut les extraire des données elles-mêmes. . Le problème classique fondamental de la recherche de sous-espèces de fleurs d'iris (Ronald Fisher, 1936 !), qui est considéré comme le premier signe de ce domaine de connaissances, est précisément de cette nature.
La méthode est assez simple. Nous avons un ensemble d'objets représentés sous forme de vecteurs (ensembles de N nombres). Dans les iris, ce sont des ensembles de 4 nombres qui caractérisent la fleur : respectivement la longueur et la largeur des lobes externe et interne du périanthe (
Ensuite, les centres de cluster sont sélectionnés de manière aléatoire (ou non, voir ci-dessous) et les distances entre chaque objet et les centres de cluster sont calculées. Chaque objet à une étape d'itération donnée est marqué comme appartenant au centre le plus proche. Ensuite, le centre de chaque cluster est transféré à la moyenne arithmétique des coordonnées de ses membres (par analogie avec la physique, on l'appelle aussi le « centre de masse »), et la procédure est répétée.
Le processus converge assez rapidement. En images en deux dimensions, cela ressemble à ceci :
1. Répartition aléatoire initiale des points sur le plan et nombre de clusters
2. Spécifier les centres de cluster et attribuer des points à leurs clusters
3. Transférer les coordonnées des centres du cluster, recalculer l'affiliation des points jusqu'à ce que les centres se stabilisent. La trajectoire du centre du cluster vers sa position finale est visible.
A tout moment, vous pouvez définir de nouveaux centres de cluster (sans générer une nouvelle répartition des points !) et constater que le processus de partitionnement n'est pas toujours univoque. Mathématiquement, cela signifie que pour la fonction à optimiser (la somme des distances au carré des points aux centres de leurs clusters), on trouve non pas un minimum global, mais un minimum local. Ce problème peut être surmonté soit par un choix non aléatoire des centres de cluster initiaux, soit en énumérant les centres possibles (parfois il est avantageux de les placer exactement à l'un des points, alors au moins on a la garantie qu'on ne se retrouvera pas vide groupes). Dans tous les cas, un ensemble fini a toujours un minimum.
Description de la méthode sur Wikipédia -
2. Approximation par polynômes et décomposition des données. Reconversion
Scientifique remarquable et vulgarisateur de la science des données K.V. Vorontsov décrit brièvement les méthodes d'apprentissage automatique comme « la science du dessin de courbes à travers des points ». Dans cet exemple, nous trouverons un modèle dans les données en utilisant la méthode des moindres carrés.
La technique de division des données sources en « entraînement » et « contrôle » est présentée, ainsi qu'un phénomène tel que le recyclage ou le « réajustement » aux données. Avec une approximation correcte, nous aurons une certaine erreur sur les données d'entraînement et une erreur légèrement plus importante sur les données de contrôle. S'il est incorrect, cela entraîne un ajustement précis des données d'entraînement et une énorme erreur sur les données de test.
(C'est un fait bien connu qu'à travers N points on peut tracer une seule courbe du N-1ème degré, et cette méthode dans le cas général ne donne pas le résultat souhaité.
1. Définir la distribution initiale
2. Nous divisons les points en « entraînement » et « contrôle » dans un rapport de 70 à 30.
3. On trace la courbe d'approximation le long des points d'entraînement, on voit l'erreur qu'elle donne sur les données de contrôle
4. Nous traçons une courbe exacte passant par les points d'entraînement, et nous voyons une erreur monstrueuse sur les données de contrôle (et zéro sur les données d'entraînement, mais à quoi ça sert ?).
Bien entendu, l'option la plus simple est représentée avec une seule division en sous-ensembles « entraînement » et « contrôle » ; dans le cas général, cela est fait plusieurs fois pour le meilleur ajustement des coefficients.
3. Descente de gradient et dynamique de changement d'erreur
Il y aura un cas en 4 dimensions et une régression linéaire. Les coefficients de régression linéaire seront déterminés étape par étape en utilisant la méthode de descente de gradient, initialement tous les coefficients sont nuls. Un graphique séparé montre la dynamique de réduction des erreurs à mesure que les coefficients sont ajustés de plus en plus précisément. Il est possible de visualiser les quatre projections en 2 dimensions.
Si vous définissez le pas de descente du gradient trop grand, vous pouvez voir qu'à chaque fois nous sauterons le minimum et arriverons au résultat en un plus grand nombre de pas, même si à la fin nous y arriverons quand même (à moins que nous ne retardions également le pas de descente beaucoup - alors l'algorithme ira " à la pelle"). Et le graphique de l'erreur en fonction du pas d'itération ne sera pas fluide, mais « saccadé ».
1. Générez des données, définissez l'étape de descente du gradient
2. Avec la sélection correcte du pas de descente de pente, nous atteignons rapidement et en douceur le minimum
3. Si le pas de descente du gradient est mal sélectionné, on dépasse le maximum, le graphique d'erreur est « saccadé », la convergence prend un plus grand nombre de pas
и
4. Si nous sélectionnons complètement incorrectement le pas de descente de gradient, nous nous éloignons du minimum
(Pour reproduire le processus en utilisant les valeurs de pas de descente de gradient affichées dans les images, cochez la case « données de référence »).
Selon la communauté respectée, une telle simplification et une telle méthode de présentation du matériel sont-elles acceptables ? Est-ce que cela vaut la peine de traduire l’article en anglais ?
Source: habr.com