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:
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.
Schwerpunkte \(k\) zufällig auswählen
<ph type="x-smartling-placeholder">Weisen Sie jeden Punkt dem nächstgelegenen Schwerpunkt zu, \(k\) um erste Cluster zu erhalten.
<ph type="x-smartling-placeholder">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">Ordnen Sie jeden Punkt dem nächsten neuen Schwerpunkt zu.
<ph type="x-smartling-placeholder">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.