Clustering-Algorithmen

ML-Datasets können Millionen von aber nicht alle Clustering-Algorithmen skalieren effizient. Viele Clustering Algorithmen berechnen die Ähnlichkeit zwischen allen Beispielpaaren, bedeutet, dass sich ihre Laufzeit mit dem Quadrat der Anzahl der Beispiele erhöht \(n\), die als \(O(n^2)\) Komplexitätsnotation \(O(n^2)\) bezeichnet. praktisch für Datasets mit Millionen Beispielen.

Der k-Means-Algorithmus enthält eine ist \(O(n)\), d. h. der Algorithmus wird mit \(n\)linear skaliert. Auf diesen Algorithmus konzentrieren wir uns in diesem Kurs.

Arten von Clustering

Eine umfassende Liste der verschiedenen Ansätze zum Clustering finden Sie unter Eine umfassende Umfrage zu Clustering-Algorithmen Xu, D. & Tian, Y. Ann. Daten. Wissenschaft. (2015) 2: 165. Jeder Ansatz eignet sich am besten, einer bestimmten Datenverteilung. In diesem Kurs werden vier gängige besser zu verstehen.

Schwerpunktbasiertes Clustering

Der Schwerpunkt eines Clusters ist der der arithmetische Mittelwert aller Punkte Cluster. Beim zentroidenbasierten Clustering werden die Daten in nicht hierarchischer Struktur Cluster. Centroid-basierte Clustering-Algorithmen sind effizient, aber empfindlich auf Anfangsbedingungen und Ausreißer. k-Means ist die am stärksten weit verbreitet ist. Nutzer müssen die Anzahl der Schwerpunkte, k und funktioniert gut mit Clustern von etwa gleicher Größe.

<ph type="x-smartling-placeholder">
</ph> Beispiele, die mithilfe von zentroidbasiertem Clustering zu Clustern gruppiert werden.
           Die Linien stellen die Grenzen zwischen Clustern dar.
Abbildung 1: Beispiel für zentroidbasiertes Clustering

Dichtebasiertes Clustering

Dichtebasiertes Clustering verbindet zusammenhängende Bereiche mit hoher Beispieldichte mit Cluster. Dadurch kann eine beliebige Anzahl von Clustern jeder Form erkannt werden. Ausreißer werden Clustern nicht zugewiesen. Diese Algorithmen haben Schwierigkeiten, Cluster unterschiedlicher Dichte und Daten mit großen Dimensionen.

<ph type="x-smartling-placeholder">
</ph> Beispiele, die mithilfe von dichtebasiertem Clustering in zwei Clustern gruppiert werden.
      Die Cluster sind nicht linear voneinander getrennt.
Abbildung 2: Beispiel für dichtebasiertes Clustering

Verteilungsbasiertes Clustering

Bei diesem Clustering-Ansatz wird davon ausgegangen, dass Daten aus probabilistischen Distributionen wie Gaußsche Verteilungen: In In Abbildung 3 gruppiert der verteilungsbasierte Algorithmus Daten in drei Gauß'sche Verteilungen. Mit zunehmender Entfernung vom Verteilungsmittelpunkt die Wahrscheinlichkeit ab, dass ein Punkt zur Verteilung gehört. Die Bands zeigen die Wahrscheinlichkeit geringer. Wenn Sie nicht von einer bestimmten der Datenverteilung zugrunde liegt, sollten Sie einen anderen Algorithmus verwenden.

<ph type="x-smartling-placeholder">
</ph> Beispiele für das Clustering mit Verteilungsbasiertem Clustering Die Schattierung der Dichte der Beispiele in jedem Cluster zeigt, wie die Cluster Verteilungen zugeordnet werden.
Abbildung 3: Beispiel für das verteilte Clustering

Hierarchisches Clustering

Beim hierarchischen Clustering wird eine Clusterstruktur erstellt. Hierarchisches Clustering nicht überraschend, eignet sich gut für hierarchische Daten, wie z. B. Taxonomien. Weitere Informationen finden Sie unter Vergleich von 61 sequenzierten Escherichia-coli-Genomen von Oksana Lukjancenko, Trudy Wassenaar und Dave Ussery. Sie können eine beliebige Anzahl von Clustern auswählen, indem Sie den Baum auf der richtigen Ebene ausschneiden.

<ph type="x-smartling-placeholder">
</ph> Tiere werden mithilfe einer hierarchischen Baumstruktur gruppiert.
Abbildung 4: Beispiel für hierarchische Baum-Clustering-Tiere.