Was ist k-Means-Clustering?

Wie bereits erwähnt, lassen sich viele Clustering-Algorithmen nicht auf die Datasets skalieren. die beim maschinellen Lernen verwendet werden, die oft Millionen von Beispielen umfassen. Beispiel: Agglomerative oder divisive hierarchische Clustering-Algorithmen betrachten alle Paare von Punkten und haben die Komplexität \(O(n^2 log(n))\) und \(O(n^2)\),

Dieser Kurs konzentriert sich auf k-Means, weil er auf \(O(nk)\)skaliert wird, wobei \(k\) ist die Anzahl der vom Nutzer ausgewählten Cluster. Dieser Algorithmus gruppiert Punkte \(k\) Cluster, indem sie die Abstände zwischen den einzelnen Punkten minimieren Schwerpunkt des Clusters (siehe Abbildung 1).

Daher behandelt k-Means Daten effektiv so, dass sie aus einer Reihe von grob kreisförmige Verteilungen und versucht, Cluster zu finden, die diesen Verteilungen. Reale Daten enthalten jedoch Ausreißer und dichtebasierte Cluster. und stimmen möglicherweise nicht mit den Annahmen überein, die k-Means zugrunde liegen.

k-Means-Clustering-Algorithmus

Der Algorithmus geht so vor:

  1. Geben Sie eine erste Schätzung für \(k\)an, die später überarbeitet werden kann. In diesem Fall wählen wir beispielsweise \(k = 3\)aus.

  2. Schwerpunkte \(k\) zufällig auswählen

    <ph type="x-smartling-placeholder">
    </ph> k-Means-Diagramm bei
  Initialisierung mit drei zufällig ausgewählten Schwerpunkten
    Abbildung 1: k-Means bei der Initialisierung

  3. Weisen Sie jeden Punkt dem nächstgelegenen Schwerpunkt zu, \(k\) um erste Cluster zu erhalten.

    <ph type="x-smartling-placeholder">
    </ph> Jeder Punkt erhält die Farbe seiner
  nächster Schwerpunkt
    Abbildung 2: Erste Cluster

  4. Berechnen Sie für jeden Cluster einen neuen Schwerpunkt, indem Sie die mittlere Position von allen Punkten im Cluster. Die Pfeile in Abbildung 4 zeigen die Veränderung bei Schwerpunktpositionen.

    <ph type="x-smartling-placeholder">
    </ph> Zeigt neue Schwerpunkte näher an
  Mittelpunkt jedes farbigen Clusters
    Abbildung 3: Neu berechnete Schwerpunkte

  5. Ordnen Sie jeden Punkt dem nächsten neuen Schwerpunkt zu.

    <ph type="x-smartling-placeholder">
    </ph> Angepasste Cluster nach der Neuzuweisung
  auf neue Schwerpunkte
    Abbildung 4: Cluster nach der Neuzuweisung

  6. Wiederholen Sie die Schritte 4 und 5 und berechnen Sie Schwerpunkte und Clusterzugehörigkeit neu, bis Punkte ändern Cluster nicht mehr. Bei großen Datasets können Sie den Algorithmus vor der Konvergenz basierend auf anderen Kriterien anhalten.

Da die Schwerpunkte anfänglich zufällig gewählt werden, kann k-Means und bei aufeinanderfolgenden Durchläufen sehr unterschiedliche Ergebnisse liefern. Lösung Problem zu lösen, führen Sie k-means mehrmals aus und wählen Sie das Ergebnis mit der besten Qualität aus. Messwerte. (Wir werden die Qualitätsmetriken später in diesem Kurs beschreiben.) Sie benötigen eine erweiterte Version von k-Means zur Auswahl besserer Anfangsschwerpunktpositionen.

Auch wenn kein tiefgehendes Verständnis der Mathematik notwendig ist, neugierig ist, ist k-Means ein Sonderfall des erwarten-maximierungsalgorithmus Weitere Informationen finden Sie unter Vorlesungsnotizen zum Thema von UPenn.