Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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 (Iris von Fisher — Wikipedia). 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

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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.

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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.

Sie können mit dieser Datei ĂŒber diesen Link spielen (vergessen Sie nicht, die Makros zu aktivieren. Die Dateien wurden auf Viren geprĂŒft)

Die Beschreibung der Methode auf Wikipedia — k-means Methode

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. Interpolationspolynom von Lagrange auf Wikipedia)

1. Wir legen die anfÀngliche Verteilung fest.

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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?).

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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.

Die Datei ist hier verfĂŒgbar und wurde mit einem Antivirenprogramm ĂŒberprĂŒft. 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

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen
und

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

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

Maschinelles Lernen ohne Python, Anaconda und andere Kriechtierchen

(Um den Prozess bei den auf den Bildern angegebenen Werten des Gradientenabstiegsschrittes zu reproduzieren, aktivieren Sie die Option "Referenzdaten").

Die Datei – ĂŒber diesen Link, bitte aktivieren Sie die Makros, es sind keine Viren vorhanden.

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

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster