Sehen wir uns kurz verschiedene Arten von Clustering-Algorithmen an und wann Sie jeden Typ auswählen sollten.
Bei der Auswahl eines Clustering-Algorithmus sollten Sie überlegen, ob der Algorithmus auf Ihr Dataset skaliert werden soll. Datasets im maschinellen Lernen können Millionen von Beispielen enthalten, aber nicht alle Clustering-Algorithmen werden effizient skaliert. Viele Clustering-Algorithmen berechnen die Ähnlichkeit zwischen allen Beispielpaaren. Dies bedeutet, dass ihre Laufzeit mit dem Quadrat der Anzahl von Beispielen \(n\)ansteigt, die als \(O(n^2)\) Komplexitätsnotation bezeichnet wird. \(O(n^2)\) Algorithmen sind nicht praktikabel, wenn die Anzahl der Beispiele in Millionen ist. In diesem Kurs konzentrieren wir uns auf den k-Means-Algorithmus, der \(O(n)\)so konzipiert ist, dass er linear mit \(n\)skaliert.
Clustering-Typen
Es gibt mehrere Ansätze für das Clustering. Eine umfassende Liste finden Sie unter Eine umfassende Umfrage zu Clustering-Algorithmen. Xu, D. Tian, Y. Ann. Daten Sci. (2015) 2: 165. Jeder Ansatz eignet sich am besten für eine bestimmte Datenverteilung. Im Folgenden werden vier gängige Ansätze erläutert, bei denen der Schwerpunkt auf dem Schwerpunkt auf Schwerpunkten liegt und mit k-Means gearbeitet wird.
Centroid-basiertes Clustering
Beim Schwerpunkt-Clustering werden die Daten im Gegensatz zu den unten definierten Clustern in nicht hierarchische Cluster gruppiert. k-means ist der am häufigsten verwendete Schwerpunkt-Schwerpunkt-Clustering-Algorithmus. Centroid-basierte Algorithmen sind effizient, reagieren jedoch empfindlich auf Anfangsbedingungen und Ausreißer. In diesem Kurs konzentrieren wir uns auf den k-Means-Algorithmus, da dieser ein effizienter, effektiver und einfacher Clustering-Algorithmus ist.
Dichtebasiertes Clustering
Dichtebasiertes Clustering verbindet Bereiche mit hoher Beispieldichte zu Clustern. Das ermöglicht beliebig verteilte Verteilungen, solange dichte Bereiche verbunden werden können. Diese Algorithmen haben Schwierigkeiten mit Daten mit unterschiedlicher Dichte und hohen Abmessungen. Außerdem weisen diese Algorithmen den Clustern standardmäßig keine Ausreißer zu.
Verteilungsbasiertes Clustering
Bei diesem Clustering-Ansatz wird davon ausgegangen, dass Daten aus Distributionen wie Gaußschen Distributionen bestehen. In Abbildung 3 werden die Daten vom Algorithmus auf drei Gaußsche Verteilungen verteilt. Mit zunehmender Entfernung vom Mittelpunkt der Verteilung verringert sich die Wahrscheinlichkeit, dass ein Punkt zur Verteilung gehört. Die Bänder zeigen diese Verringerung der Wahrscheinlichkeit. Wenn Sie die Art der Datenverteilung nicht kennen, sollten Sie einen anderen Algorithmus verwenden.
Hierarchisches Clustering
Beim hierarchischen Clustering wird eine Baumstruktur erstellt. Das hierarchische Clustering eignet sich überraschend für hierarchische Daten wie Taxonomien. Ein Beispiel finden Sie unter Vergleich der 61 sequenzierten Escherichia coli Genomes von Oksana Lukjancenko, Trudy Wassenaar und Dave Ussery. Ein weiterer Vorteil besteht darin, dass eine beliebige Anzahl von Clustern durch Ausschneiden des Baums auf der richtigen Ebene ausgewählt werden kann.