4 davon Adventskalender für maschinelles Lernen.

In den ersten drei Tagen erkundeten wir Distanzbasierte Modelle für betreutes Lernen:

Bei all diesen Modellen battle die Idee dieselbe: Wir messen Entfernungen und entscheiden über die Ausgabe basierend auf den nächstgelegenen Punkten oder nächstgelegenen Zentren.

Heute bleiben wir in derselben Ideenfamilie. Aber wir nutzen die Distanzen unbeaufsichtigt: k-bedeutet.

Nun eine Frage an diejenigen, die diesen Algorithmus bereits kennen: Welchem ​​Modell ähnelt k-means eher, dem k-NN-Klassifikator oder dem Nearest Centroid-Klassifikator?

Und wenn Sie sich erinnern, gab es bei allen Modellen, die wir bisher gesehen haben, keine wirkliche „Trainings“-Section oder Hyperparameter-Abstimmung.

  • Für k-NN gibt es überhaupt kein Coaching.
  • Für LDA, QDA oder GNB besteht Coaching lediglich darin, Mittelwerte und Varianzen zu berechnen. Und es gibt auch keine echten Hyperparameter.

Jetzt werden wir mit k-means einen Trainingsalgorithmus implementieren, der endlich wie „echtes“ maschinelles Lernen aussieht.

Wir beginnen mit einem winzigen 1D-Beispiel. Dann gehen wir zu 2D über.

Ziel von k-means

Im Trainingsdatensatz gibt es keine anfänglichen Etiketten.

Das Ziel von k-means ist es erstellen Sie können aussagekräftige Beschriftungen erstellen, indem Sie Punkte gruppieren, die nahe beieinander liegen.

Schauen wir uns die Abbildung unten an. Man erkennt deutlich zwei Gruppen von Punkten. Jeder Schwerpunkt (das rote Quadrat und das grüne Quadrat) liegt in der Mitte seines Clusters und jeder Punkt ist dem nächstgelegenen zugeordnet.

Dies vermittelt ein sehr intuitives Bild davon, wie k-means die Struktur nur anhand von Abständen erkennt.

Und hier bedeutet okay die Anzahl der Zentren, die wir zu finden versuchen.

k-means in Excel – Bild vom Autor

Beantworten wir nun die Frage: Welcher Algorithmus ist k-means näher, der k-NN-Klassifikator oder der Nearest Centroid-Klassifikator?

Lassen Sie sich nicht täuschen okay in k-NN und k-means.
Sie bedeuten nicht dasselbe:

  • In k-NN, okay ist die Anzahl der Nachbarn, nicht die Anzahl der Klassen;
  • In k-bedeutet, okay ist die Anzahl der Schwerpunkte.

Ok-means liegt viel näher am Klassifikator für den nächstgelegenen Schwerpunkt.

Beide Modelle werden vertreten durch Schwerpunkteund für eine neue Beobachtung berechnen wir einfach die Entfernung zu jedem Schwerpunkt, um zu entscheiden, zu welchem ​​Schwerpunkt er gehört.

Der Unterschied liegt natürlich darin Klassifikator für den nächstgelegenen Schwerpunktwir schon wissen die Schwerpunkte, weil sie aus beschrifteten Klassen stammen.

In k-bedeutetwir kennen die Schwerpunkte nicht. Das gesamte Ziel des Algorithmus besteht darin entdecken passende direkt aus den Daten.

Das Geschäftsproblem ist ein völlig anderes: Anstatt Etiketten vorherzusagen, versuchen wir es erstellen ihnen.

Und in k-means der Wert von okay (die Anzahl der Schwerpunkte) ist unbekannt. Es wird additionally ein Hyperparameter dass wir abstimmen können.

k-bedeutet mit nur einer Funktion

Wir beginnen mit einem winzigen 1D-Beispiel, damit alles auf einer Achse sichtbar ist. Und wir werden die Werte so trivial wählen, dass wir die beiden Schwerpunkte sofort sehen können.

1, 2, 3, 11, 12, 13

Ja, 2 und 12.

Aber woher sollte der Pc das wissen? Die Maschine „lernt“, indem sie Schritt für Schritt rät.

Hier kommt der genannte Algorithmus Lloyd’s-Algorithmus.

Wir werden es in Excel mit der folgenden Schleife implementieren:

  1. Wählen Sie die Anfangsschwerpunkte
  2. Berechnen Sie den Abstand von jedem Punkt zu jedem Schwerpunkt
  3. Ordnen Sie jeden Punkt dem nächstgelegenen Schwerpunkt zu
  4. Berechnen Sie die Schwerpunkte als Durchschnitt der Punkte in jedem Cluster neu
  5. Wiederholen Sie die Schritte 2 bis 4, bis sich die Schwerpunkte nicht mehr bewegen

1. Wählen Sie die Anfangsschwerpunkte

Wählen Sie zwei erste Zentren aus, zum Beispiel:

Sie sollten innerhalb des Datenbereichs liegen (zwischen 1 und 13).

k-means in Excel – Bild vom Autor

2. Berechnen Sie Entfernungen

Für jeden Datenpunkt x:

  • Berechne den Abstand zu c_1,
  • Berechnen Sie den Abstand zu c_2.

Normalerweise verwenden wir den absoluten Abstand in 1D.

Wir haben jetzt zwei Abstandswerte für jeden Punkt.

k-means in Excel – Bild vom Autor

3. Cluster zuweisen

Für jeden Punkt:

  • vergleiche die beiden Abstände,
  • Ordnen Sie den Cluster des Kleinsten zu (1 oder 2).

In Excel ist dies einfach IF oder MIN basierte Logik.

k-means in Excel – Bild vom Autor

4. Berechnen Sie die neuen Schwerpunkte

Für jeden Cluster:

  • nimm die diesem Cluster zugewiesenen Punkte,
  • Berechnen Sie ihren Durchschnitt,
  • dieser Durchschnitt wird zum neuen Schwerpunkt.
k-means in Excel – Bild vom Autor

5. Iterieren Sie, bis die Konvergenz erreicht ist

Jetzt können wir in Excel dank der Formeln einfach Fügen Sie die neuen Schwerpunktwerte ein in die Zellen der anfänglichen Schwerpunkte.

Die Aktualisierung erfolgt sofort und nachdem Sie dies einige Male durchgeführt haben, werden Sie feststellen, dass sich die Werte nicht mehr ändern. Dann ist der Algorithmus konvergiert.

k-means in Excel – Bild vom Autor

Wir können jeden Schritt auch in Excel aufzeichnen, um zu sehen, wie sich die Schwerpunkte und Cluster im Laufe der Zeit entwickeln.

k-means in Excel – Bild vom Autor

k-bedeutet mit zwei Funktionen

Lassen Sie uns nun zwei Funktionen verwenden. Der Vorgang ist genau der gleiche, wir verwenden einfach den euklidischen Abstand in 2D.

Sie können entweder das tun Kopieren und Einfügen der neuen Schwerpunkte als Werte (mit nur wenigen zu aktualisierenden Zellen),

k-means in Excel – Bild vom Autor

oder Sie können anzeigen alle Zwischenschritte um die vollständige Entwicklung des Algorithmus zu sehen.

k-means in Excel – Bild vom Autor

Visualisierung der beweglichen Schwerpunkte in Excel

Um den Prozess intuitiver zu gestalten, ist es hilfreich, Diagramme zu erstellen, die zeigen, wie sich die Schwerpunkte bewegen.

Leider sind Excel oder Google Sheets für diese Artwork der Visualisierung nicht preferrred und die Organisation der Datentabellen wird schnell etwas komplex.

Wenn Sie ein vollständiges Beispiel mit detaillierten Diagrammen sehen möchten, können Sie es lesen dieser Artikel Ich habe vor quick drei Jahren geschrieben, wo jeder Schritt der Schwerpunktbewegung klar dargestellt ist.

k-means in Excel – Bild vom Autor

Wie Sie auf diesem Bild sehen können, wurde das Arbeitsblatt ziemlich unorganisiert, insbesondere im Vergleich zur vorherigen Tabelle, die sehr einfach battle.

k-means in Excel – Bild vom Autor

Auswahl des optimalen okay: Die Ellbogenmethode

Jetzt ist es additionally möglich, es zu versuchen okay = 2 Und okay = 3 in unserem Fall, und berechnen Sie die Trägheit für jeden einzelnen. Dann vergleichen wir einfach die Werte.

Wir können sogar mit okay=1 beginnen.

Für jeden Wert von okay:

  • wir führen k-Means bis zur Konvergenz durch,
  • Berechnen Sie die Trägheitdas ist die Summe der quadrierten Abstände zwischen jedem Punkt und dem ihm zugewiesenen Schwerpunkt.

In Excel:

  • Nehmen Sie für jeden Punkt den Abstand zu seinem Schwerpunkt und quadrieren Sie ihn.
  • Summieren Sie alle diese quadrierten Abstände.
  • Dies ergibt die Trägheit für dieses okay.

Zum Beispiel:

  • für okay = 1 ist der Schwerpunkt nur der Gesamtmittelwert von x1 und x2,
  • Für okay = 2 und okay = 3 entnehmen wir die konvergierten Schwerpunkte den Blättern, auf denen Sie den Algorithmus ausgeführt haben.

Dann können wir die Trägheit als Funktion von okay darstellen, zum Beispiel für (okay = 1, 2, 3).

Für diesen Datensatz

  • von 1 auf 2 sinkt die Trägheit stark,
  • Von 2 auf 3 ist die Verbesserung viel geringer.

Der „Ellbogen“ ist der Wert von okay, nach dem die Trägheitsabnahme marginal wird. Im Beispiel wird darauf hingewiesen, dass okay = 2 ausreichend ist.

k-means in Excel – Bild vom Autor

Abschluss

Ok-means ist ein sehr intuitiver Algorithmus, wenn Sie ihn Schritt für Schritt in Excel sehen.

Wir beginnen mit einfachen Schwerpunkten, berechnen Entfernungen, weisen Punkte zu, aktualisieren die Schwerpunkte und wiederholen den Vorgang. Jetzt können wir sehen, wie „Maschinen lernen“, oder?

Nun, das ist erst der Anfang, wir werden sehen, dass verschiedene Modelle auf wirklich unterschiedliche Weise „lernen“.

Und hier ist der Übergang für den morgigen Artikel: die unbeaufsichtigte Model des Klassifikator für den nächstgelegenen Schwerpunkt ist in der Tat k-bedeutet.

Was wäre additionally die unbeaufsichtigte Model von? LDA oder QDA? Wir werden dies im nächsten Artikel beantworten.

k-means – Bild vom Autor

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert