Diskussion:K-Means-Algorithmus

message: Es gibt nicht "den" k-Means-Algorithmus. Gemeint ist der Lloyd-Algorithmus. Hier muss der Artikel noch besser unterteilt werden. --E. Sinclair 23:54, 12. Jun. 2009 (CEST)
replies: text: schon länger geschehen. --Chire 16:06, 10. Aug. 2011 (CEST)

text: Das war genau die Aussage, dass man wenn man vom "k-means-Algorithmus" spricht, eben meistens nicht MacQueen spricht, sondern meistens den Algorithmus von Lloyd meint - die populärste Approximation für dieses Problem. Und im Artikel steht nun wirklich eindeutig Lloyd-Algorithmus. Mein Vorschlag an dich: füge doch einfach einen Abschnitt hinzu, der den originalen Algorithmus von MacQueen erklärt. Ansonsten, siehe die diversen Referenzen, bspw. MathWorld über die gängige Verwendung des Begriffs. Für Wikipedia ist zunächst mal die gängige Verwendung des Begriffs entscheidend, und da wird meistens k-means mit Lloyd gleichgesetzt, nicht mit dem Original-Ansatz von MacQueen. Es spricht aber natürlich nichts dagegen, MacQueens Algorithmus in den Artikel mit aufzunehmen, als alternativen Ansatz - relevant ist er unzweifelhaft. --Chire 22:13, 28. Nov. 2011 (CET)

text: P.S. Distanzfunktion verweist bewussst auf "Distanzfunktion" im Sinne der Mathematik, und das ist eben eine Metrik; auch wenn in der Informatik der Begriff (mangels einer weit akzeptierten Alternative) auch für nicht-metrische Unähnlichkeitsfunktionen verwendet wird. k-Means nach Lloyd kann man wunderbar ohne Metrik laufen lassen - nur die Konvergenz ist halt dann nicht mehr sichergestellt, und man muss entsprechende Abbruchkriterien bereithalten (die aber auch für numerische instabilitäten gut sein können). K-medoid hat hingegen eine ganz andere Begründung als das fehlen der Dreiecksungleichung. Viel mehr hat man hier nicht das Problem interpolieren zu müssen, wodurch man es auch für nicht-numerische und nicht-kontinuierliche Attribute verwenden kann. Da hilft es aber auch nichts, wenn man auf diesen Daten eine Metrik hätte, wenn man einfach keinen sinnvollen Mittelwert berechnen kann... Nur ein paar Anmerkungen. Wie gesagt, du bist herzlich eingeladen, den Algorithmus von MacQueen in einem eigenen Paragraph zu dokumentieren und seine Vorteile zu diskutieren. Das bringt mehr als hier auf der Diskussion über den Namen zu streiten... --Chire 22:13, 28. Nov. 2011 (CET)
replies: text:  Nemen wir einmal den ersten Satz:"Das war genau die Aussage, dass man wenn man vom "k-means-Algorithmus" spricht, eben meistens nicht MacQueen spricht, sondern meistens den Algorithmus von Lloyd meint - die populärste Approximation für dieses Problem."(nicht signierter Beitrag von 134.102.206.230 (Diskussion) 11:25, 29. Nov. 2011 (CET)

text: In dem Artikel taucht MacQueen nicht auf, obwohl er den Begriff in seiner Arbeit von 1967 eingeführt hat. Also wo genau wird denn von einem K-means Problem gesprochen, gibt es dazu Originalarbeiten? Einen k-means Algorithmus gibt es, siehe MacQueen, einen Llyod Algorithmus auch, da fehlt zumindestens ein Verweis auf die Arbeit von Llyod und wieso er als k-means gezeichnet wird. (nicht signierter Beitrag von134.102.206.230 (Diskussion) 11:25, 29. Nov. 2011 (CET)
replies: text:  Ich stimme dir zu, dass die Arbeit von MacQueen erwähnt werden sollte, deswegen habe ich dich ja eingeladen, diese Lücke im Artikel zu ergänzen! Dass der Algorithmus von Lloyd wichtiger ist, findest du in zahlreichen Quellen, wo eben k-means synonym zu Lloyd (und nicht MacQueen) verwendet wird. --Chire 13:25, 29. Nov. 2011 (CET)
replies: text:  Können Sie dazu Quellen angeben, die wirklich wissenschaftliche Paper sind, oder wird nach Mehrheitsentscheid über die Richtigkeit entschieden? Der angegebene Algorithmus taucht übrigens auch nicht in dem Paper von Lloyd auf. Ich kann den Artikel umschreiben, finde aber nicht, das MacQueen nur eine Randnotiz ist. In der Wissenschaftlichen Literatur taucht er übrigens auch auf, mit dem k-means Algorithmus. Bei Google Scholar zum Beispiel 8000 mal zitiert im Gegensatz zu knapp 600 Zitaten des Lloyd papers. Siehe auch unter anderem: Knowledge  Discovery in Databases - Martin Ester; Jörg Sander. Die Frage ist also soll es so bleiben, weil Lloyd im Internet oft als k-means bezeichnet wird, oder nicht?--134.102.206.230 15:07, 29. Nov. 2011 (CET)
replies: text:  Ich habe nirgendwo gesagt, dass MacQueen nur eine Randnotiz bleiben soll. Er soll genauso wie Lloyds auftauchen. Daher nochmal mein Vorschlag: statt hier zu versuchen einen Konflikt zu provozieren, warum fügst du nicht einfach den Algorithmus von MacQueen in den Artikel ein (wie zuvor schon vorgeschlagen)? Ich habe schonmal die Quellenangaben aus der englischen Wikipedia in den Artikel übernommen ... --Chire 18:37, 29. Nov. 2011 (CET)

text:  Bei dem bereits beschriebenen Algorithmus handelt es sich übrigens wirklich nicht um den von MacQueen - dieser beginnt explizit mit 1-elementigen Clustern, und fügt dann iterativ die verbleibenden Punkte hinzu. Daher wäre die Zuordnung von Ester und Sander auch nicht ganz korrekt, der Algorithmus wäre anscheinend besser Lloyd zugeordnet worden. Das Buch "Data Mining" von Witten, Frank, Hall scheint das einfach zu umgehen und zu sagen "existiert in vielen Varianten". Hartigan ("Clustering Algorithms", 1975) spricht von k-means, als referenzen werden aber Cox "Note on grouping" 1957, Dalenius und Tore "The problem of optimum stratification" 1951, Engelman and Hartigan "Percentage points of a test for clusters" 1969, Fisher und Van Ness "Admissible clustering procedures" 1971 und erst dann MacQueen genannt. Nach seiner Beschreibung beginnt MacQueen auch mit k Elementen und fügt dann iterativ jeweils 1 Element hinzu - doch erheblich anders als Lloyds Algorithmus, und auch nicht das, was Hartigan hier selbst als k-Means-Algorithmus bezeichnet. --Chire 18:37, 29. Nov. 2011 (CET)

text:  Fazit: Für eine absolut korrekte Zuordnung ist eine ausführliche Literaturrecherche notwendig. Ganz so einfach wie ein "erfunden hat es aber MacQueen, und nur den darf man k-means nennen" ist es jedenfalls nicht. Insbesondere, da zum einen die populäre Methode eher die von Lloyd zu sein scheint, und diese zum anderen auch noch 10 Jahre älter ist. Da aber MacQueen wohl das erste mal dies explizit als "k-means" bezeichnet hat, verdient er zweifellos auch eine entsprechende Erwähnung. Wenn du willst, kannst du diese Punkte aber gerne genauer recherchieren, belegen und im Artikel dokumentieren! Nur: hier auf der Diskussionsseite rumzustreiten bringt uns kaum weiter! Du solltest dir dazu dann umbedingt das Buch von Hartigan von 1975 besorgen und seine Publikation von 1969. Cox sowie Fisher und Van Ness wären auch relevant. Oh, und Hartigan schreibt auch in dem Buch "Varieties of the k-Means Algorithm [...] changeable components are (i) the starting clusters (ii) the movement rule (iii) the updating rule". Also wenn er schon 1975 akzeptiert, dass es nicht nur "den" k-means von MacQueen gibt, warum hast du heutzutage so große Probleme damit? --Chire 18:37, 29. Nov. 2011 (CET)
replies: text:  Ich weiß nicht, wieso Sie mir unterstellen, ich will nur MacQueen zulassen, alles andere nicht? Jetzt wird er als Namensgeber genannt, wunderbar. Der unterschied zu dem Argorithmus von MacQueen ist, das dort nach jedem Schritt die Zentroiden aktualisiert werden. Jetzt bleibt nur noch die Frage, ob der Algorithmus, wirklich Lloyd zugeschrieben werden kann, denn dazu habe ich bis jetzt keine Primärliteratur gesehen, in dem Paper von 1982 taucht er schonmal nicht auf.--134.102.206.230 09:13, 30. Nov. 2011 (CET)
replies: text:  So wie ich in der Literatur hier MacQueens Algorithmus verstehe ist ein weiterer wesentlicher Unterschied die Wahl der Ausgangssituation (die ersten k Punkte) und - so wie ich ihn verstehe - immer nur der neue Punkt neu klassifiziert wird; es werden also (n-k) durchläufe gemacht, und in jedem wird der k+i te Punkt dem nächstgelegenen Cluster zugeweisen und dessen Mittelpunkt aktualisiert. Vorherige Punkte werden nicht erneut angeschaut? --Chire 18:50, 30. Nov. 2011 (CET)

text: Ansonsten funktioniert auch der Llyod Algorithmus nicht, wenn man keinen Metrischen Raum hat, denn wie sollen sonst x_i summiert werden? (nicht signierter Beitrag von 134.102.206.230 (Diskussion) 11:25, 29. Nov. 2011 (CET)
replies: text:  Einen Mittelwert kann ich auch ohne Metrik oder metrischen Raum berechnen, ich brauche dazu nur einen Körper (Algebra) (technisch gesehen sind übrigens die Fließkommazahlen weder ein metrischer Raum noch ein Körper; ich kann auch den Mittelwert nur approximativ genau berechnen). Die Frage, ob der Mittelwert zur Konvergenz führt, ist auch weniger eine Frage ob die Unähnlichkeitsfunktion metrisch ist, sondern viel mehr ob der Mittelwert für die Distanz garantiert die mittleren Distanzen reduziert (bzw. zumindest nicht vergrößert). Ob man um dies zu zeigen nicht sogar einen normierten Raum braucht, da wäre ich mir nicht so sicher, denn erst dann habe ich eine stabile Skalarmultiplikation ... Kennst du eine Quelle, die die Konvergenz von k-means für beliebige Metriken beweist? Ich kenne das nur für L_p-Normen und Quadratische Formen (beide erzeugen einen normierten Raum). --Chire 13:25, 29. Nov. 2011 (CET)
replies: text: Ich gehe erst mal auf das Nebensächlichste (weil es nichts mit meiner Frage zu tun hat) ein: Die Fließkommazahlen mit der Euklidischen Distanz sind ein Metrischer Raum, wollen Sie dazu einen Beweis sehen? Ein Körper hilft mir nicht bei einem Mittelwert, für F_2, den Körper, der nur aus Null und eins besteht ist ein Mittelwert nicht definiert, das viele Körper auch metrische Räume sind hat ja erst einmal nichts damit zu tun.--134.102.206.230 15:07, 29. Nov. 2011 (CET)
replies: text:  Mal von double-besonderheiten wie NaN, +0, -0 etc. ganz abgesehen: was ist die Euklidische Distanz der double^2-Vektoren (1.7976931348623157E308, 1.7976931348623157E308) zu (0, 0) in double? Was ist der Mittelwert von 0d und 4.9E-324d in double? Ich würde deinen Beweis, dass die Fließkommazahlen ein (unter multiplikation und division abgeschlossener!) Körper sind gerne sehen ... meiner Meinung nach approximieren sie lediglich den Körper der reellen Zahlen. --Chire 18:37, 29. Nov. 2011 (CET)
replies: text:  metrischer Raum, nicht Körper. Aber die 32 bit Fließkommazahlen bilden auch einen Körper, denn sie besitzen 2^32 Elemente und können somit isomorph in einen Galoiskörper mit Charackteristik 2 überführt werden. Wie bereits gesagt, weiß ich nicht, was das mit Mittelwerten oder Abständen zu tun haben soll.--134.102.206.230 15:03, 30. Nov. 2011 (CET)
replies: text:  Aber nicht mit der Addition und Multiplikation von "double"; es ist eine Überführung von "32 bit", nicht des Konstruktes "Fließkommazahlen", da dessen Addition nicht beibehalten wird. --Chire 18:50, 30. Nov. 2011 (CET)

text: Und was ist der Median einer mehrdimensionalen Menge? (nicht signierter Beitrag von 134.102.206.230 (Diskussion) 11:25, 29. Nov. 2011 (CET)
replies: text:  Über K-medians habe ich gar nichts gesagt (den brauche ich einfach nicht, daher habe ich ihn nie nachgelesen; zum Thema Mehrdimensionale Mediane empfehle ich aber bspw. C.G. Small: A Survey of Multidimensional Medians, 1990). Welche(r) davon eine Konvergenz bei K-medians sicherstellen: keine Ahnung. Auch das kannst du, wenn du es recherchierst, gerne im Artikel nachtragen. --Chire 13:25, 29. Nov. 2011 (CET)

text:  Danke aber für deinen ersten Beitrag bzgl. Silhouettenkoeffizient. Das war im Artikel nämlich auch nur ganz marginal angeschnitten. Der Artikel hat einfach noch einige Lücken... (P.S. nutze bitte auf Diskussions-Seiten die Signaturfunktion. Sind nur 6 Zeichen: --~~~~) --Chire 13:25, 29. Nov. 2011 (CET)
thread_title:  "Der" k-Means-Algorithmus 

message: Der Silhouettenkoeffizient, der bis vor kurzem ein verwaister Artikel war, spielt eine wichtige Rolle beim k-Means-Algorithmus, wenn man mehrere Ergebnisse mit unterschiedlichem k vergleichen will. Es wäre toll wenn das jemand in der Artikel einbauen könnte. Danke! --Chire 16:01, 10. Aug. 2011 (CEST)
thread_title:  Verwendung des [[Silhouettenkoeffizient]]en 

message: In distanzmaß wird sehr schön erklärt, was Distanz und Metrik unterscheidet. Und ohne Dreiecksungleichung kann man leider keine Mittelwerte oder Schwerpunkte berechnen, weil es kein dazwischen geben muss. Menge = A,B,C d(A,B) = 1, d(B,C) = 1 und d(A,C) = 4 ist eine Distanzfunktion, wie soll da k-means, in welcher Ausprägung auch immer funktionieren? Wie werden die means berechnet? --134.102.206.230 15:25, 29. Nov. 2011 (CET)
replies: text: Ich brauche überhaupt keine Distanz oder Unähnlichkeit oder Metrik um den arithmetischen Mittelwert zu berechnen. Das arithmetische Mittel wird nach \mu_i = \frac{1}{N}\sum_{n\in N}x_i berechnet, ohne dass dabei eine Distanzfunktion verwendet wird. Die Frage ist nur, ob dieser Mittelwert die Distanzen minimiert, also ein Minimum-Varianz-Schätzer ist (und dadurch der Algorithmus terminiert); das ist aber eine ganz andere Frage als ob die Distanz jetzt die Dreiecksungleichung erfüllen muss. --Chire 18:37, 29. Nov. 2011 (CET)

text: P.S. mit der diskreten Metrik \delta kann ich dein obengenanntes Beispiel zu einem metrischen Raum machen (siehe Metrischer Raum#Beispiele: nicht durch Normen erzeugte Metriken). Halt mit d(A,B)=1, d(B,C)=1, d(A,C)=1. Die Dreiecksungleichung ist erfüllt! Wie berechne ich jetzt den Mittelwert? -- ich bleibe dabei, es geht nicht einfach nur darum, ob die Unähnlichkeitsfunktion metrisch ist oder nicht. Für eine L_p-Norm kennen wir halt mit dem arithmetischen Mittelwert eine geeignete Schätzfunktion, daher terminiert und konvergiert das dann ganz auch (wenn man von Fließkommazahlenproblemen mal absieht). Ich glaube auch, dass man für eine noch größere Klasse von Normen (mindestens offensichtlich alle gewichteten L_p-Normen; ich denke auch alle von quadratischen Formen induzierten Normen) zeigen kann, dass das arithmetische Mittel hier ein geeigneter Schätzer ist. Auf \mathbb{R}^n mit diskreter Metrik denke ich wird das arithmetische Mittel, obwohl man es berechnen kann nicht funktionieren (und ich glaube ich kann dir einen ML-Schätzer nennen). --Chire 19:02, 29. Nov. 2011 (CET)
replies: text:  Es ist wunderbar, wie wir aneinander vorbeireden, leider oft ein Problem der asynchronen Kommunikation. Der Artikel ist aber bereits viel besser geworden. Die Diskussion Distanz und Metrik bringt uns wahrscheinlich nicht weiter, weil Sie immer wieder von Körper reden, und bis jetzt noch nicht erwähnt haben, wieso dieses algebraische Konstrukt irgendetwas mit Abständen oder Mittelwerten (von dem ich übrigens nie gesprochen habe) zu tun hat. Ich werde noch an ein paar Stellen verbessern und hoffe das der Artikel noch besser wird.--134.102.206.230 09:05, 30. Nov. 2011 (CET)
replies: text:  Nie vom Mittelwert gesprochen? Siehe erste Zeile von diesem Abschnitt, da behauptest du "ohne Dreiecksungleichung kann man leider keine Mittelwerte ... berechnen"! In einem Körper mit Skalaren aus mindestens \mathbb{N} kann ich offenbar das arithmetische Mittel berechnen (da ich dann durch die Anzahl der Objekte dividieren kann). Aber ja, wir reden aneinaner vorbei, deswegen lade ich ja zu konstruktiven Änderungen am Artikel ein! --Chire 18:39, 30. Nov. 2011 (CET)
thread_title:  Distanz oder Metrik 

message: Bisher werden in beiden Abschnitten zum teil ähnliche Probleme angesprochen, ich denke der Silhouettenkoeffizent, die gleiche Größe und Noise sollten nach Probleme verschoben werden.
Ich habe den Abschnitt über Varianzminimierung gelöscht, weil er das Problem mit unterschiedlichen k nicht löst. Wenn dann ist es eine Möglichkeit zur Wahl von geeigneten Startwerten.--134.102.206.230 10:41, 30. Nov. 2011 (CET)
thread_title:  Voraussetzungen oder Probleme 

message: * http://www.cs.umd.edu/~mount/Papers/kmlocal.pdf (Internet Archive)
– GiftBot (Diskussion) 22:22, 17. Sep. 2012 (CEST)
thread_title:  Defekter Weblink (erl.)