Qualitätsmaßstab für Clustering

17

Ich habe einen Clustering-Algorithmus (nicht k-means) mit dem Eingabeparameter (Anzahl der Cluster). Nach dem Clustering möchte ich ein quantitatives Qualitätsmaß für dieses Clustering erhalten. Der Clustering-Algorithmus hat eine wichtige Eigenschaft. Für erhalte ich, wenn ich Datenpunkte ohne signifikante Unterscheidung zwischen diesen in diesen Algorithmus einspeise, einen Cluster mit Datenpunkten und einen Cluster mit Datenpunkt. Offensichtlich ist das nicht das, was ich will. Ich möchte dieses Qualitätsmaß berechnen, um die Angemessenheit dieses Clusters abzuschätzen. Idealerweise kann ich diese Maße für verschiedene . Also werde ich Clustering im Bereich von ausführenk = 2 N N - 1kk=2NN-11kkund wählen Sie die mit der besten Qualität. Wie berechne ich ein solches Qualitätsmaß?

AKTUALISIEREN:

Hier ist ein Beispiel, wenn ein fehlerhaftes Clustering ist. Angenommen, es gibt 3 Punkte auf einer Ebene, die ein gleichseitiges Dreieck bilden. Das Aufteilen dieser Punkte in zwei Cluster ist offensichtlich schlimmer als das Aufteilen in ein oder drei Cluster.(N-1,1)

Max
quelle
Für mich ist das nicht offensichtlich. Ich sehe Cluster, die in Wirklichkeit die ganze Zeit unterschiedliche Größen haben ...
Anony-Mousse - Monica

Antworten:

12

Die Wahl der Metrik hängt vielmehr von dem ab, was Sie als Zweck des Clustering ansehen. Persönlich denke ich, dass es beim Clustering darum gehen sollte, verschiedene Gruppen von Beobachtungen zu identifizieren, die jeweils durch einen anderen Datenerzeugungsprozess erzeugt wurden. Ich würde also die Qualität eines Clusters testen, indem ich Daten aus bekannten Datenerzeugungsprozessen generiere und dann berechne, wie oft Muster durch das Clustering falsch klassifiziert werden. Dies beinhaltete natürlich Annahmen über die Verteilung von Mustern aus jedem Erzeugungsprozess, aber Sie können Datensätze verwenden, die für die überwachte Klassifizierung ausgelegt sind.

Andere betrachten Clustering als den Versuch, Punkte mit ähnlichen Attributwerten zu gruppieren. In diesem Fall sind Maßnahmen wie SSE usw. anwendbar. Diese Definition von Clustering finde ich jedoch eher unbefriedigend, da sie nur einen Hinweis auf die jeweilige Stichprobe von Daten gibt und keine verallgemeinerbaren Angaben zu den zugrunde liegenden Verteilungen enthält. Ein besonderes Problem bei dieser Ansicht ist, wie Methoden mit überlappenden Clustern umgehen (für die Ansicht "Datenerzeugungsprozess" ist dies kein wirkliches Problem, Sie erhalten lediglich Wahrscheinlichkeiten für die Clustermitgliedschaft).

Dikran Beuteltier
quelle
3
+1 zur Hervorhebung der Unterscheidung zwischen modellbasiertem Clustering und rein entfernungsbasiertem unüberwachtem Clustering.
chl
1
Ich denke, beide Zwecke haben ihren fairen Nutzen in unterschiedlichen Umgebungen. Es gibt viele Zusammenhänge, in denen Sie tatsächlich nur die vorliegenden Daten betrachten (z. B. Ausreißerdefinition). Bevor Sie sich mit den verschiedenen Prozessen der Datengenerierung befassen können, müssen Sie die Details untersuchen, die am besten mit Ihrer zweiten Definition möglich sind ...
Etienne Low-Décarie
Ich stimme Etienne zu, dass beide Methoden ihren Nutzen haben. Ich würde jedoch auch sagen, dass, ob eine Beobachtung ein Ausreißer ist oder nicht, implizit einige Annahmen über den Datenerzeugungsprozess getroffen werden, sodass die zweite Form der Clusterbildung möglicherweise nur für den ersten Schritt zum Verständnis der Daten gilt, wenn Sie versuchen, sich richtig zu orientieren.
Dikran Beuteltier
4

Da das Clustering nicht überwacht wird, ist es schwierig, a priori zu wissen, was das beste Clustering ist. Das ist Forschungsthema. Gary King, ein bekannter quantitativer Sozialwissenschaftler, hat einen bevorstehenden Artikel zu diesem Thema.


quelle
+! Jep; @Max Was denkst du, wäre dieses "offensichtliche" Clustering?
@mbq: Eigentlich weiß ich nicht, was ein gutes Clustering dafür wäre. Mit "offensichtlich" erwähne ich, dass (N-1, 1) definitiv kein gutes Clustering dafür ist. Ein besseres Clustering wäre nur ein Cluster, also überhaupt kein Clustering. Oder vielleicht Clustering mit mehr als 2 Clustern.
Max
Ihr Link scheint defekt zu sein.
Etienne Low-Décarie
Hier ist ein aktualisierter Link zum Artikel: gking.harvard.edu/files/abs/discov-abs.shtml
Dolan Antenucci
4

Hier haben Sie ein paar Maßnahmen, aber es gibt noch viele weitere:

SSE: Summe des quadratischen Fehlers aus den Elementen jedes Clusters.

Abstand zwischen Clustern: Summe der quadratischen Abstände zwischen den einzelnen Cluster-Schwerpunkten.

Intra-Cluster-Abstand für jeden Cluster: Summe der quadratischen Entfernung zwischen den Elementen jedes Clusters und seinem Schwerpunkt.

Maximaler Radius: größte Entfernung von einer Instanz zu ihrem Cluster-Schwerpunkt.

Durchschnittlicher Radius: Summe der größten Entfernung von einer Instanz zu ihrem Cluster-Schwerpunkt geteilt durch die Anzahl der Cluster.

mariana weicher
quelle
Ich habe versucht, intra in inter cluster distance zu verwenden, konnte mir aber nichts Brauchbares für einen Cluster mit einem Punkt vorstellen. Ich habe auch keinen Mittelpunkt. Ich habe nur Entfernungen zwischen Punkten.
Max
Je höher der Abstand zwischen den Clustern, desto besser können Sie ihn messen, indem Sie die Abstände zwischen den Mittelpunkten der Cluster berechnen.
mariana soffer
4

Sie sind auf den Bereich Clustering Validation gestoßen. Mein Student hat die Validierung mit folgenden Techniken durchgeführt:

A. Banerjee und RN Dave. Validierung von Clustern mithilfe der Hopkins-Statistik. 2004 Internationale IEEE-Konferenz zu Fuzzy-Systemen IEEE Cat No04CH37542, 1: p. 149–153, 2004.

Es basiert auf dem Prinzip, dass Datenpunkte innerhalb eines Clusters gleichmäßig verteilt sind, wenn ein Cluster gültig ist.

Vorher sollten Sie jedoch feststellen, ob Ihre Daten eine so genannte Clustering-Tendenz aufweisen, dh ob es sich lohnt, Clustering und die optimale Anzahl von Clustern durchzuführen:

S. Saitta, B. Raphael und IFC Smith. Ein umfassender Gültigkeitsindex für das Clustering. Intell. Data Anal., 12 (6): p. 529–548, 2008.

danas.zuokas
quelle
3

Wie andere angemerkt haben, gibt es viele Maßnahmen zur Bündelung von "Qualität"; Die meisten Programme minimieren SSE. Keine einzelne Zahl kann viel über Rauschen in den Daten oder Rauschen in der Methode oder flache Minima - Tiefpunkte in Saskatchewan aussagen.

Versuchen Sie also zunächst, ein bestimmtes Clustering zu visualisieren, ein Gefühl dafür zu bekommen, bevor Sie es auf "41" reduzieren. Machen Sie dann 3 Läufe: Erhalten Sie SSEs 41, 39, 43 oder 41, 28, 107? Was sind die Clustergrößen und -radien?

(Hinzugefügt :) Schauen Sie sich Silhouette-Plots und Silhouette-Scores an, z. B. im Buch von Izenman, Modern Multivariate Statistical Techniques (2008, 731p, isbn 0387781889).

denis
quelle
3

Die Silhouette kann verwendet werden, um Clustering-Ergebnisse auszuwerten. Dazu wird die durchschnittliche Entfernung innerhalb eines Clusters mit der durchschnittlichen Entfernung zu den Punkten im nächsten Cluster verglichen.

sebp
quelle
2

Eine Methode wie diejenige, die in einer unbeaufsichtigten zufälligen Gesamtstruktur verwendet wird, könnte verwendet werden.

Random Forest- Algorithmen behandeln die unbeaufsichtigte Klassifizierung als Zweiklassenproblem, bei dem aus dem ersten Datensatz ein ganz anderer künstlicher und zufälliger Datensatz erstellt wird, indem die Abhängigkeitsstruktur in den Daten entfernt wird (Randomisierung).

Sie könnten dann einen solchen künstlichen und zufälligen Datensatz erstellen, Ihr Clustering-Modell anwenden und die Metrik Ihrer Wahl (z. B. SSE) mit Ihren wahren Daten und Ihren zufälligen Daten vergleichen.

Durch Einmischen von Randomisierung, Permutation, Bootstrapping, Bagging und / oder Jacknifing können Sie ein Maß erhalten, das einem P-Wert ähnelt, indem Sie die Häufigkeit messen, mit der ein bestimmtes Clustering-Modell für Ihre wahren Daten einen kleineren Wert ergibt als für Ihre zufälligen Daten, wobei eine Metrik von verwendet wird Wahl (zB SSE oder Out-of-Bag-Fehler-Vorhersage).

Ihre Metrik ist somit ein Unterschied (Wahrscheinlichkeit, Größenunterschied, ...) in einer beliebigen Metrik zwischen echten und zufälligen Daten.

Wenn Sie dies für viele Modelle wiederholen, können Sie zwischen den Modellen unterscheiden.

Dies kann in R implementiert werden.

randomforest ist in R verfügbar

Etienne Low-Décarie
quelle
+1, ich mag diese Idee; Durch die Zufälligkeit / Permutation der Daten werden jedoch nur die Beziehungen zwischen den Variablen unterbrochen. Dies würde nicht funktionieren, wenn eine Clusterbildung mit einer einzelnen Variablen vorliegt.
gung - Reinstate Monica
1

Wenn der Clustering-Algorithmus nicht deterministisch ist, versuchen Sie, die "Stabilität" von Clustering zu messen - finden Sie heraus, wie oft jeweils zwei Beobachtungen zu demselben Cluster gehören. Diese allgemein interessante Methode eignet sich zur Auswahl von k im km-Algorithmus.

Qbik
quelle