NatĂŒrlich nehme ich das nicht ernst. Es muss schlieĂlich einen Punkt geben, bis zu dem man ein Thema vereinfachen kann. Aber fĂŒr die ersten Schritte, um die grundlegenden Konzepte zu verstehen und schnell in das Thema einzutauchen, kann es vielleicht in Ordnung sein. Wie wir dieses Material dann richtig benennen (VorschlĂ€ge: "Maschinelles Lernen fĂŒr Einsteiger", "Datenanalyse fĂŒr AnfĂ€nger", "Algorithmen fĂŒr die Kleinsten"), besprechen wir am Ende.
Kommen wir zum Punkt. Ich habe einige praktische Programme in MS Excel erstellt, um die Prozesse zu visualisieren und anschaulich darzustellen, die in verschiedenen Methoden des maschinellen Lernens bei der Datenanalyse ablaufen. Sehen heiĂt glauben, wie die TrĂ€ger der Kultur sagen, die die meisten dieser Methoden entwickelt hat (ĂŒbrigens lĂ€ngst nicht alle. Die mĂ€chtige "Support-Vektor-Maschine", oder SVM, ist die Erfindung unseres MitbĂŒrgers Wladimir Wapnik, Moskau Institut fĂŒr Management. 1963, ĂŒbrigens! Heute lehrt er aber in den USA und arbeitet dort).
Drei Dateien zur Einsichtnahme
1. K-Means-Klasterbildung
Aufgaben dieser Art gehören zum Bereich des âunĂŒberwachten Lernensâ, bei dem wir die Ausgangsdaten in eine vorher bestimmte Anzahl von Kategorien unterteilen mĂŒssen, jedoch keine ârichtigen Antwortenâ zur VerfĂŒgung stehen, sondern wir diese aus den Daten selbst ableiten mĂŒssen. Ein klassisches Beispiel fĂŒr diese Problematik ist die Bestimmung der Unterarten von Irisblumen (Ronald Fisher, 1936!), die als erste frĂŒhe Arbeit in diesem Wissensgebiet gilt.
Die Methode ist recht einfach. Wir haben eine Menge von Objekten, die als Vektoren (SĂ€tze von N Zahlen) dargestellt werden. Bei den Irisblumen handelt es sich um 4 Zahlen, die die Blume charakterisieren: die LĂ€nge und Breite der Ă€uĂeren und inneren PerigonblĂ€tter, entsprechend (). Als Abstand oder MaĂ fĂŒr die Ăhnlichkeit zwischen den Objekten wird die ĂŒbliche euklidische Metrik gewĂ€hlt.
Als nĂ€chstes werden die Clusterzentren zufĂ€llig (oder nicht zufĂ€llig, siehe weiter unten) ausgewĂ€hlt, und die AbstĂ€nde von jedem Objekt zu den Clusterzentren werden berechnet. Jedes Objekt wird in diesem Iterationsschritt als dem nĂ€chstgelegenen Zentrum zugehörig markiert. Danach wird das Zentrum jedes Clusters auf den arithmetischen Mittelwert der Koordinaten seiner Mitglieder verschoben (in der Physik auch âSchwerpunktâ genannt), und das Verfahren wird wiederholt.
Der Prozess konvergiert relativ schnell. In 2D-Bildern sieht das wie folgt aus:
1. UrsprĂŒngliche zufĂ€llige Verteilung der Punkte auf der FlĂ€che und Anzahl der Cluster

2. Festlegung der Clusterzentren und Zuordnung der Punkte zu ihren Clustern

3. Ăbertragung der Koordinaten der Clusterzentren, erneute Berechnung der Zugehörigkeit der Punkte, bis die Zentren stabilisiert sind. Die Bewegung des Clusterzentrums zu seiner Endposition ist sichtbar.

Jederzeit können neue Clusterzentren festgelegt werden (ohne eine neue Verteilung der Punkte zu generieren!) und es kann gesehen werden, dass der Partitionierungsprozess nicht immer eindeutig ist. Mathematisch bedeutet das, dass wir bei der zu optimierenden Funktion (der Summe der quadrierten AbstĂ€nde der Punkte zu den Zentren ihrer Cluster) kein globales, sondern ein lokales Minimum finden. Dieses Problem kann ĂŒberwunden werden, indem entweder die Anfangszentren der Cluster nicht zufĂ€llig ausgewĂ€hlt werden oder indem mögliche Zentren durchprobiert werden (manchmal ist es vorteilhaft, sie genau an einer der Punkte zu platzieren, dann haben wir zumindest die Garantie, keine leeren Cluster zu erhalten). In jedem Fall gibt es fĂŒr eine endliche Menge immer eine exakte Untergrenze.
(vergessen Sie nicht, die Makros zu aktivieren. Die Dateien wurden auf Viren geprĂŒft)
Die Beschreibung der Methode auf Wikipedia â
2. AnnĂ€herung an Polynomien und Datenpartitionierung. Ăberanpassung
Der bemerkenswerte Wissenschaftler und Datenwissenschaftler K.V. Woronzow beschreibt Methoden des maschinellen Lernens als âWissenschaft des Durchzugs von Kurven durch Punkteâ. In diesem Beispiel werden wir Muster in den Daten mit der Methode der kleinsten Quadrate finden.
Es wird die Technik vorgestellt, wie man die ursprĂŒnglichen Daten in âTrainings-â und âTestdatenâ aufteilt, sowie ein PhĂ€nomen, das als Ăberanpassung oder âOverfittingâ bekannt ist. Bei einer richtigen Approximation erhalten wir einen gewissen Fehler bei den Trainingsdaten und einen deutlich gröĂeren Fehler bei den Testdaten. Bei einer falschen Approximation haben wir eine exakte Anpassung an die Trainingsdaten und einen enormen Fehler bei den Testdaten.
(Es ist bekannt, dass durch N Punkte eine eindeutige Kurve n-1. Grades gezogen werden kann und dass diese Methode im Allgemeinen nicht das gewĂŒnschte Ergebnis liefert. )
1. Wir legen die anfÀngliche Verteilung fest.

2. Wir teilen die Punkte im VerhĂ€ltnis 70 zu 30 in âTrainings-â und âTestdatenâ auf.

3. Wir ziehen die approximierende Kurve durch die Trainingspunkte und sehen den Fehler, den sie bei den Testdaten verursacht.

Wir zeichnen eine prĂ€zise Kurve durch die Trainingspunkte und sehen einen enormen Fehler bei den Testdaten (und null bei den Trainingsdaten, aber was nĂŒtzt das?).

Gezeigt wird natĂŒrlich die einfachste Variante mit einer einzigen Aufteilung in 'Trainings-' und 'Test'-Subset, im Allgemeinen wird dies mehrfach durchgefĂŒhrt, um die Koeffizienten optimal anzupassen.
Aktivieren Sie die Makros fĂŒr eine korrekte Funktion.
3. Gradientensenkung und Dynamik der FehlerverÀnderung.
Hier wird ein 4-dimensionaler Fall und lineare Regression behandelt. Die Koeffizienten der linearen Regression werden schrittweise mit dem Gradientensenkungsverfahren bestimmt, zu Beginn sind alle Koeffizienten null. In einem separaten Diagramm ist die Dynamik der Fehlerreduktion zu sehen, wÀhrend die Koeffizienten immer prÀziser angepasst werden. Es besteht die Möglichkeit, alle vier 2-dimensionalen Projektionen anzusehen.
Wenn der Schritt des Gradientenabstiegs zu groĂ eingestellt ist, stellen wir fest, dass wir jedes Mal das Minimum ĂŒberschreiten und wir mehr Schritte benötigen, um zum Ergebnis zu gelangen, obwohl wir letztendlich trotzdem ankommen (es sei denn, wir setzen den Schritt des Absturzes zu hoch an - dann gerĂ€t der Algorithmus auĂer Kontrolle). Der Graph der AbhĂ€ngigkeitsfehler vom Iterationsschritt wird nicht glatt, sondern âruckartigâ sein.
1. Daten generieren, Schritt des Gradientenabstiegs festlegen

2. Bei richtiger Wahl des Schrittes des Gradientenabstiegs erreichen wir sanft und schnell das Minimum

3. Bei falscher Wahl des Schrittes des Gradientenabstiegs ĂŒberschreiten wir das Maximum, der Fehlergraph ist âruckartigâ, die Konvergenz dauert lĂ€nger

und

4. Bei ganz falscher Wahl des Schrittes des Gradientenabstiegs entfernen wir uns vom Minimum

(Um den Prozess bei den auf den Bildern angegebenen Werten des Gradientenabstiegsschrittes zu reproduzieren, aktivieren Sie die Option "Referenzdaten").
Wie das angesehene Publikum findet, ist eine solche Vereinfachung und Methode der MaterialprĂ€sentation akzeptabel? Sollte der Artikel ins Englische ĂŒbersetzt werden?
Quelle: habr.com
