Mir ist also klar, dass dies schon einmal gefragt wurde: z. B. Was sind die Anwendungsfälle im Zusammenhang mit der Clusteranalyse verschiedener Entfernungsmetriken? aber ich habe festgestellt, dass die Antworten etwas widersprüchlich zu dem sind, was in der Literatur vorgeschlagen wird.
Kürzlich habe ich zwei Artikel gelesen, in denen die Verwendung des kmeans-Algorithmus mit anderen Metriken erwähnt wurde, z. B. die Bearbeitungsentfernung zwischen Zeichenfolgen und die "Erdbewegungsentfernung" zwischen Verteilungen. Angesichts der Tatsache, dass in diesen Papieren die Verwendung von km-Werten mit anderen Metriken erwähnt wird, ohne anzugeben, wie , insbesondere wenn es um die Berechnung des Mittelwerts von Punktmengen geht, wird mir nahegelegt , dass es möglicherweise eine "Standard" -Methode gibt, um damit umzugehen, die ich einfach nicht auswähle auf.
Nehmen wir zum Beispiel dieses Papier , das eine schnellere Implementierung des k-means-Algorithmus ermöglicht. Der Autor zitiert aus Absatz 4 im Intro, dass sein Algorithmus "mit jeder Black-Box-Entfernungsmetrik verwendet werden kann", und erwähnt im nächsten Absatz die Bearbeitungsentfernung als spezifisches Beispiel. Sein Algorithmus berechnet jedoch immer noch den Mittelwert einer Reihe von Punkten und erwähnt nicht, wie sich dies auf die Ergebnisse mit anderen Metriken auswirken könnte (ich bin besonders ratlos darüber, wie der Mittelwert mit der Bearbeitungsentfernung funktionieren würde).
Das andere Papier beschreibt unter Verwendung von k-means Poker Hände für eine Texas Hold-em Abstraktion gruppieren. Wenn Sie zu Seite 2 unten in der linken Spalte springen, schreibt der Autor "und dann wird k-means verwendet, um eine Abstraktion mit der gewünschten Anzahl von Clustern unter Verwendung der Erdbewegungsentfernung zwischen jedem Histogrammpaar als Entfernungsmetrik zu berechnen".
Ich bin nicht wirklich auf der Suche nach jemandem, der mir diese Artikel erklärt, aber fehlt mir eine Standardmethode für die Verwendung von k-means mit anderen Metriken? Die Standardmittelung mit dem Erdbewegungsabstand scheint heuristisch zu funktionieren, aber der Bearbeitungsabstand scheint überhaupt nicht in die Form zu passen. Ich schätze jeden Einblick, den jemand geben könnte.
(Bearbeiten) : Ich habe k-means für Verteilungshistogramme unter Verwendung der Erdbewegungsentfernung (ähnlich wie im Pokerpapier) ausprobiert und es schien gut funktioniert zu haben. Die ausgegebenen Cluster sahen für meinen Anwendungsfall ziemlich gut aus. Zur Mittelwertbildung habe ich die Histogramme nur als Vektoren behandelt und auf normale Weise gemittelt. Das einzige, was mir aufgefallen ist, ist, dass die Summe über alle Punkte der Entfernungen zu den Mitteln nicht immer monoton abnahm. In der Praxis würde es sich jedoch trotz monotoner Probleme innerhalb von 10 Iterationen auf ein lokales Minimum festlegen. Ich gehe davon aus, dass dies das ist, was sie in der zweiten Veröffentlichung getan haben. Die einzige Frage, die dann noch offen ist, ist, wie zum Teufel würden Sie den Durchschnitt ermitteln, wenn Sie so etwas wie die Bearbeitungsentfernung verwenden?
quelle
Antworten:
Es ist nicht so, dass k-means zwangsläufig explodiert und fehlschlägt, wenn Sie eine andere Metrik verwenden.
In vielen Fällen wird ein Ergebnis zurückgegeben . Es kann nur nicht garantiert werden, dass die optimalen Schwerpunkte oder Partitionen mit anderen Metriken gefunden werden, da der Mittelwert möglicherweise nicht zur Minimierung von Entfernungen geeignet ist.
Betrachten Sie die Entfernung der Erdbewegungsmaschinen. Angesichts der drei Vektoren
Das arithmetische Mittel ist
welches EMD Abstände 6, 4, 6 hat (insgesamt 16). Wenn der Algorithmus stattdessen verwendet hätte
die EMD-Abstände wären 6, 0, 6 gewesen; dh besser (insgesamt 12).
Das arithmetische Mittel minimiert die EMD nicht, und das Ergebnis der Verwendung von k-Mitteln (mit artihmetischem Mittel) ergibt keine optimalen Repräsentanten.
Ähnliches gilt für Bearbeitungsentfernungen.
quelle
K-Mittel ist in Kombination mit dem euklidischen Abstand geeignet, da das Hauptziel von k-Mitteln darin besteht, die Summe der Varianzen innerhalb des Clusters zu minimieren , und die Varianz innerhalb des Clusters genauso berechnet wird wie die Summe der euklidischen Abstände zwischen allen Punkten im Cluster zum Cluster-Schwerpunkt. Wie andere Antworten zeigen, wird die Konvergenz des Algorithmus nur dann garantiert (selbst wenn er auf ein lokales Minimum beschränkt ist), wenn sowohl der Schwerpunktaktualisierungsschritt als auch der Schritt zur Neuzuweisung von Datenpunkten im selben n-dimensionalen euklidischen Raum ausgeführt werden .
Außerdem wurde gezeigt (und ich habe hier einen Link , weil ich selbst nicht erklären kann) , dass der Mittelwert der beste Schätzer verwendet werden soll , wenn ein Bedarf Gesamtvarianz zu minimieren . Die k-Mittel-Bindung an den euklidischen Abstand ist also zweifach: Der Algorithmus muss eine Möglichkeit haben, den Mittelwert einer Menge von Datenpunkten zu berechnen (daher der Name k- Mittel ), aber dieser Mittelwert ist nur sinnvoll und garantiert die Konvergenz der Clustering-Prozess, wenn der euklidische Abstand verwendet wird, um Datenpunkte den nächsten Zentroiden neu zuzuweisen.
Sie können k-means weiterhin mit anderen Entfernungsmaßen verwenden, wie in diesem Artikel , in dem der Autor den Algorithmus mit der Minkowski-Entfernung verwendet, die eine Verallgemeinerung der Entfernungen von Manhattan, Euklid und Chebyshev darstellt. In diesen Fällen ist die Konvergenz jedoch nicht garantiert, und infolgedessen können Sie erwarten, dass zukünftige Iterationen des Algorithmus tatsächlich eine größere Gesamtvarianz aufweisen als frühere Iterationen.
Abschließend halte ich es für interessant, darauf hinzuweisen, dass es einige Ähnlichkeitsmaße gibt, die auf irgendeine Weise in den euklidischen Abstand umgewandelt werden können, so dass Sie erhalten sollten, wenn Sie dieses Ähnlichkeitsmaß in Verbindung mit k-Mitteln verwenden ähnliche Ergebnisse. Ein Beispiel dafür ist die Kosinusähnlichkeit .
quelle
Ich weiß nicht, ob dies das ist, was die verknüpften Papiere tun, aber es ist möglich, k-means mit nichteuklidischen Distanzfunktionen unter Verwendung des Kernel-Tricks auszuführen . Das heißt, wir ordnen die Eingaben implizit einem hochdimensionalen (oft unendlichdimensionalen) Raum zu, in dem euklidische Abstände der Abstandsfunktion entsprechen, die wir verwenden möchten, und führen den Algorithmus dort aus. Insbesondere für den Lloyd's k-means-Algorithmus können wir ihren Clustern leicht Punkte zuweisen, aber wir repräsentieren die Clusterzentren implizit, und um ihre Darstellung im Eingaberaum zu finden, müsste ein Fréchet-Mittelwert gefunden werden . Das folgende Papier beschreibt den Algorithmus und bezieht ihn auf spektrale Clusterbildung:
Es gibt Kernel, die auf der Bearbeitungsentfernung und der Entfernung des Erdbewegers basieren .
quelle