Clustering-Algorithmen - Übersicht
Einführung in das Clustering
Clustering-Methoden sind eine der nützlichsten unbeaufsichtigten ML-Methoden. Diese Methoden werden verwendet, um Ähnlichkeit sowie die Beziehungsmuster zwischen Datenproben zu finden und diese Proben dann in Gruppen mit Ähnlichkeit basierend auf Merkmalen zu gruppieren.
Clustering ist wichtig, da es die intrinsische Gruppierung unter den vorhandenen unbeschrifteten Daten bestimmt. Sie machen im Grunde genommen einige Annahmen über Datenpunkte, um ihre Ähnlichkeit zu begründen. Jede Annahme erstellt unterschiedliche, aber gleichermaßen gültige Cluster.
Das folgende Diagramm zeigt beispielsweise das Clustering-System, das ähnliche Daten in verschiedenen Clustern zusammengefasst hat.
Methoden zur Clusterbildung
Es ist nicht notwendig, dass Cluster in sphärischer Form gebildet werden. Es folgen einige andere Methoden zur Clusterbildung -
Dichtebasiert
Bei diesen Verfahren werden die Cluster als dichte Region gebildet. Der Vorteil dieser Methoden besteht darin, dass sie eine gute Genauigkeit sowie eine gute Fähigkeit zum Zusammenführen von zwei Clustern aufweisen. Ex. Dichtebasiertes räumliches Clustering von Anwendungen mit Rauschen (DBSCAN), Bestellpunkte zur Identifizierung der Clusterstruktur (OPTICS) usw.
Hierarchisch basiert
Bei diesen Methoden werden die Cluster als Baumtypstruktur basierend auf der Hierarchie gebildet. Sie haben zwei Kategorien, nämlich Agglomerativ (Bottom-up-Ansatz) und Divisiv (Top-down-Ansatz). Ex. Clustering mit Repräsentanten (CURE), Balanced iterative Reduzieren von Clustering mit Hierarchien (BIRCH) usw.
Partitionierung
Bei diesen Verfahren werden die Cluster gebildet, indem die Objekte in k Cluster aufgeteilt werden. Die Anzahl der Cluster entspricht der Anzahl der Partitionen. Ex. K-bedeutet, Clustering großer Anwendungen basierend auf randomisierter Suche (CLARANS).
Gitter
Bei diesen Methoden werden die Cluster als gitterartige Struktur gebildet. Der Vorteil dieser Methoden besteht darin, dass alle in diesen Gittern ausgeführten Clustering-Vorgänge schnell und unabhängig von der Anzahl der Datenobjekte sind. Ex. Statistisches Informationsraster (STING), Clustering in Quest (CLIQUE).
Messen der Clusterleistung
Eine der wichtigsten Überlegungen zum ML-Modell ist die Bewertung seiner Leistung, oder Sie können die Qualität des Modells sagen. Bei überwachten Lernalgorithmen ist die Bewertung der Qualität unseres Modells einfach, da wir bereits für jedes Beispiel Beschriftungen haben.
Andererseits sind wir bei unbeaufsichtigten Lernalgorithmen nicht so gesegnet, weil wir mit unbeschrifteten Daten arbeiten. Dennoch haben wir einige Metriken, die dem Praktiker einen Einblick in das Auftreten von Änderungen in Clustern in Abhängigkeit vom Algorithmus geben.
Bevor wir uns eingehend mit solchen Metriken befassen, müssen wir verstehen, dass diese Metriken nur die Vergleichsleistung von Modellen gegeneinander bewerten, anstatt die Gültigkeit der Modellvorhersage zu messen. Im Folgenden sind einige der Metriken aufgeführt, die wir für Clustering-Algorithmen bereitstellen können, um die Qualität des Modells zu messen.
Silhouette-Analyse
Silhouette-Analyse zur Überprüfung der Qualität des Clustering-Modells durch Messung des Abstands zwischen den Clustern. Grundsätzlich bietet es uns die Möglichkeit, die Parameter wie die Anzahl der Cluster mithilfe von zu bewertenSilhouette score. Diese Punktzahl misst, wie nahe jeder Punkt in einem Cluster an Punkten in den benachbarten Clustern liegt.
Analyse des Silhouette Score
Der Bereich der Silhouette-Punktzahl beträgt [-1, 1]. Seine Analyse ist wie folgt -
+1 Score - In der Nähe von +1 Silhouette score zeigt an, dass die Stichprobe weit von ihrem benachbarten Cluster entfernt ist.
0 Score - 0 Silhouette score zeigt an, dass sich die Stichprobe an oder sehr nahe an der Entscheidungsgrenze befindet, die zwei benachbarte Cluster trennt.
-1 Score & minusl -1 Silhouette score zeigt an, dass die Stichproben den falschen Clustern zugewiesen wurden.
Die Berechnung der Silhouette-Punktzahl kann unter Verwendung der folgenden Formel erfolgen:
= (-) / (,)
Hier = mittlere Entfernung zu den Punkten im nächsten Cluster
Und = mittlere Entfernung innerhalb des Clusters zu allen Punkten.
Davis-Bouldin-Index
Der DB-Index ist eine weitere gute Metrik für die Analyse von Clustering-Algorithmen. Mithilfe des DB-Index können wir die folgenden Punkte zum Clustering-Modell verstehen:
Ob die Cluster gut voneinander entfernt sind oder nicht?
Wie dicht sind die Cluster?
Wir können den DB-Index mit Hilfe der folgenden Formel berechnen:
$$ DB = \ frac {1} {n} \ displaystyle \ sum \ limit_ {i = 1} ^ n max_ {j \ neq {i}} \ left (\ frac {\ sigma_ {i} + \ sigma_ {j }} {d (c_ {i}, c_ {j})} \ right) $$Hier = Anzahl der Cluster
σ i = durchschnittliche Entfernung aller Punkte im Cluster vom Clusterschwerpunkt.
Weniger der DB-Index, desto besser ist das Clustering-Modell.
Dunn Index
Es funktioniert genauso wie der DB-Index, aber es gibt folgende Punkte, in denen sich beide unterscheiden:
Der Dunn-Index berücksichtigt nur den schlimmsten Fall, dh die Cluster, die nahe beieinander liegen, während der DB-Index die Streuung und Trennung aller Cluster im Clustering-Modell berücksichtigt.
Der Dunn-Index steigt mit zunehmender Leistung, während der DB-Index besser wird, wenn die Cluster gut verteilt und dicht sind.
Wir können den Dunn-Index mit Hilfe der folgenden Formel berechnen:
$$ D = \ frac {min_ {1 \ leq i <{j} \ leq {n}} P (i, j)} {mix_ {1 \ leq i <k \ leq n} q (k)} $$Hier ist ,, = jeder Index für Cluster
= Abstand zwischen den Clustern
q = Abstand innerhalb des Clusters
Arten von ML-Clustering-Algorithmen
Im Folgenden sind die wichtigsten und nützlichsten ML-Clustering-Algorithmen aufgeführt:
K-bedeutet Clustering
Dieser Clustering-Algorithmus berechnet die Schwerpunkte und iteriert, bis der optimale Schwerpunkt gefunden ist. Es wird davon ausgegangen, dass die Anzahl der Cluster bereits bekannt ist. Es wird auch als Flat-Clustering-Algorithmus bezeichnet. Die Anzahl von Clustern, die durch einen Algorithmus aus Daten identifiziert wurden, wird in K-Mitteln durch 'K' dargestellt.
Mean-Shift-Algorithmus
Es ist ein weiterer leistungsstarker Clustering-Algorithmus, der beim unbeaufsichtigten Lernen verwendet wird. Im Gegensatz zum K-Mittel-Clustering werden keine Annahmen getroffen, daher handelt es sich um einen nicht parametrischen Algorithmus.
Hierarchisches Clustering
Es ist ein weiterer unbeaufsichtigter Lernalgorithmus, der verwendet wird, um die unbeschrifteten Datenpunkte mit ähnlichen Eigenschaften zu gruppieren.
Wir werden all diese Algorithmen in den kommenden Kapiteln ausführlich diskutieren.
Anwendungen des Clustering
Clustering ist in den folgenden Bereichen hilfreich:
Data summarization and compression- Clustering wird häufig in Bereichen eingesetzt, in denen Daten zusammengefasst, komprimiert und reduziert werden müssen. Die Beispiele sind Bildverarbeitung und Vektorquantisierung.
Collaborative systems and customer segmentation - Da Clustering verwendet werden kann, um ähnliche Produkte oder die gleiche Art von Benutzern zu finden, kann es im Bereich kollaborativer Systeme und Kundensegmentierung verwendet werden.
Serve as a key intermediate step for other data mining tasks- Die Clusteranalyse kann eine kompakte Zusammenfassung von Daten zur Klassifizierung, Prüfung und Erstellung von Hypothesen erstellen. Daher dient es auch als wichtiger Zwischenschritt für andere Data Mining-Aufgaben.
Trend detection in dynamic data - Clustering kann auch zur Trenderkennung in dynamischen Daten verwendet werden, indem verschiedene Cluster mit ähnlichen Trends erstellt werden.
Social network analysis- Clustering kann in der Analyse sozialer Netzwerke verwendet werden. Die Beispiele generieren Sequenzen in Bildern, Videos oder Audios.
Biological data analysis - Clustering kann auch verwendet werden, um Cluster von Bildern und Videos zu erstellen, sodass es erfolgreich bei der Analyse biologischer Daten verwendet werden kann.