Grundlagen der KI

Was ist K-Means-Clustering?

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufÞgen

K-Means-Clustering ist ein unÞberwachtes Lernalgorithmus, und von allen unÞberwachten Lernalgorithmen ist K-Means-Clustering vielleicht der am weitesten verbreitete, dank seiner Leistung und Einfachheit. Wie funktioniert K-Means-Clustering genau?

Die kurze Antwort ist, dass K-Means-Clustering durch Erstellung eines Referenzpunkts (eines Zentrums) fÞr eine gewÞnschte Anzahl von Klassen und dann Zuweisung von Datenpunkten zu Klassenclustern basierend auf dem nÃĪchsten Referenzpunkt funktioniert. Obwohl dies eine schnelle Definition fÞr K-Means-Clustering ist, nehmen wir uns Zeit, um tiefer in K-Means-Clustering einzutauchen und ein besseres VerstÃĪndnis dafÞr zu erhalten, wie es funktioniert.

Definition von Clustering

Bevor wir die genauen Algorithmen untersuchen, die fÞr die DurchfÞhrung von K-Means-Clustering verwendet werden, nehmen wir uns ein wenig Zeit, um Clustering im Allgemeinen zu definieren.

Cluster sind einfach Gruppen von Elementen, und Clustering ist einfach das Zuordnen von Elementen zu diesen Gruppen. Im Sinne der Datenwissenschaft zielen Clustering-Algorithmen darauf ab, zwei Dinge zu tun:

  • Sicherstellen, dass alle Datenpunkte in einem Cluster so ÃĪhnlich wie mÃķglich sind.
  • Sicherstellen, dass alle Datenpunkte in verschiedenen Clustern so unterschiedlich wie mÃķglich sind.

Clustering-Algorithmen gruppieren Elemente basierend auf einem Ähnlichkeitsmaß. Dies geschieht oft durch das Finden des “Zentrums” der verschiedenen mÃķglichen Gruppen im Datensatz, obwohl dies nicht ausschließlich der Fall ist. Es gibt verschiedene Clustering-Algorithmen, aber das Ziel aller Clustering-Algorithmen ist das gleiche, nÃĪmlich die Gruppen im Datensatz zu bestimmen.

K-Means-Clustering

K-Means-Clustering ist einer der ÃĪltesten und am hÃĪufigsten verwendeten Arten von Clustering-Algorithmen und funktioniert auf der Grundlage von Vektorquantisierung. Es gibt einen Punkt im Raum, der als Ursprung ausgewÃĪhlt wird, und dann werden Vektoren von dem Ursprung zu allen Datenpunkten im Datensatz gezeichnet.

Im Allgemeinen kann K-Means-Clustering in fÞnf verschiedene Schritte unterteilt werden:

  • Alle Instanzen in Subsets einordnen, wobei die Anzahl der Subsets der Anzahl von K entspricht.
  • Den Mittelpunkt/Zentrum der neu erstellten Clusterpartitionen finden.
  • Basiert auf diesen Zentren, jeden Punkt einem bestimmten Cluster zuweisen.
  • Die Entfernungen von jedem Punkt zu den Zentren berechnen und Punkte den Clustern zuweisen, in denen die Entfernung zum Zentrum minimal ist.
  • Nachdem die Punkte den Clustern zugewiesen wurden, das neue Zentrum der Cluster finden.

Die obigen Schritte werden wiederholt, bis der Trainingsprozess abgeschlossen ist.

In der Anfangsphase werden die Zentren irgendwo unter den Datenpunkten platziert.
Foto: Weston.pace via wikimedia commons, GNU Free Documentation License (https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_1.svg)

Alternativ kÃķnnen wir, nachdem die Zentren platziert wurden, K-Means-Clustering als Wechseln zwischen zwei verschiedenen Phasen betrachten: Datenpunkte beschriften und Zentren aktualisieren.

Im zweiten Schritt wird ein Entfernungsmaß wie der euklidische Abstand verwendet, um zu berechnen, welches Zentrum ein gegebener Punkt am nÃĪchsten ist, und dann werden die Punkte der Klasse des Zentrums zugewiesen. Foto: Weston.pace via Wikimedia Commons, GNU Free Doc License (https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_2.svg)

In der Phase der Beschriftung von Datenpunkten wird jeder Datenpunkt einer Klasse zugewiesen, die dem nÃĪchstgelegenen Zentrum gehÃķrt. Das nÃĪchstgelegene Zentrum wird typischerweise unter Verwendung des quadrierten euklidischen Abstands bestimmt, obwohl auch andere Entfernungsmaße wie der Manhattan-Abstand, Cosinus und Jaccard-Abstand verwendet werden kÃķnnen, abhÃĪngig von der Art der Daten, die in den Clustering-Algorithmus eingegeben werden.

Im dritten Schritt werden die Zentren zur Durchschnittsposition aller Datenpunkte bewegt. Die Klassen werden dann neu zugewiesen. Foto: Weston.pace via Wikiemedia Commons, CC SA 3.0 (https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_3.svg)

In der Phase der Aktualisierung der Zentren werden die Zentren durch das Finden des Mittelwerts der Entfernungen zwischen allen Datenpunkten im Cluster berechnet.

Auswahl des richtigen Wertes fÞr “K”

Da K-Means-Clustering ein unÞberwachter Algorithmus ist und die Anzahl der Klassen im Voraus nicht bekannt ist, wie entscheidet man sich fÞr die richtige Anzahl von Klassen/den richtigen Wert fÞr K?

Eine Technik zur Auswahl des richtigen K-Werts ist die sogenannte “Ellbogen-Technik“. Die Ellbogen-Technik besteht darin, den K-Means-Clustering-Algorithmus fÞr eine Reihe von verschiedenen K-Werten auszufÞhren und ein Genauigkeitsmaß, typischerweise die Summe der quadrierten Fehler, zu verwenden, um zu bestimmen, welche Werte von K die besten Ergebnisse liefern. Die Summe der quadrierten Fehler wird durch die Berechnung des Mittelwerts der Entfernungen zwischen dem Zentrum eines Clusters und den Datenpunkten in diesem Cluster bestimmt.

Der Begriff “Ellbogen-Technik” kommt von der Tatsache, dass die resultierende Linienplot, wenn man die SSE in Bezug auf die verschiedenen Werte von K plottet, oft eine “Ellbogen”-Form hat, bei der die SSE fÞr die ersten paar Werte von K schnell abnimmt, aber dann abflacht. In solchen FÃĪllen ist der Wert von K, der am Ellbogen liegt, der beste Wert fÞr K, da es nach diesem Wert schnell abnehmende Renditen gibt.

Mini-Batch-K-Means-Clustering

Da die DatensÃĪtze grÃķßer werden, nimmt auch die Rechenzeit zu. Das grundlegende K-Means-Clustering kann bei der AusfÞhrung auf große DatensÃĪtze viel Zeit in Anspruch nehmen, und als Ergebnis wurden Anpassungen an K-Means-Clustering vorgenommen, um die rÃĪumlichen und zeitlichen Kosten des Algorithmus zu reduzieren.

Mini-Batch-K-Means-Clustering ist eine Variante von K-Means-Clustering, bei der die GrÃķße des Datensatzes, der berÞcksichtigt wird, begrenzt ist. Normales K-Means-Clustering wird auf dem gesamten Datensatz/Batch auf einmal ausgefÞhrt, wÃĪhrend Mini-Batch-K-Means-Clustering den Datensatz in Subsets unterteilt. Mini-Batches werden zufÃĪllig aus dem gesamten Datensatz ausgewÃĪhlt und fÞr jede neue Iteration wird ein neues zufÃĪlliges Sample ausgewÃĪhlt und verwendet, um die Position der Zentren zu aktualisieren.

Bei Mini-Batch-K-Means-Clustering werden Cluster mit einer Kombination von Mini-Batch-Werten und einer Lernrate aktualisiert. Die Lernrate nimmt Þber die Iterationen ab, und sie ist das Inverse der Anzahl der Datenpunkte, die in einem bestimmten Cluster platziert sind. Der Effekt der Reduzierung der Lernrate ist, dass der Einfluss neuer Daten reduziert wird und die Konvergenz erreicht wird, wenn nach mehreren Iterationen keine Änderungen in den Clustern mehr vorliegen.

Die Ergebnisse von Studien Þber die Wirksamkeit von Mini-Batch-K-Means-Clustering deuten darauf hin, dass es die Rechenzeit mit einem leichten Kompromiss bei der ClusterqualitÃĪt reduzieren kann.

Anwendungen von K-Means-Clustering

K-Means-Clustering kann sicher in jeder Situation verwendet werden, in der Datenpunkte in verschiedene Gruppen/Klassen unterteilt werden kÃķnnen. Hier sind einige Beispiele fÞr hÃĪufige AnwendungsfÃĪlle von K-Means-Clustering.

K-Means-Clustering kann auf Dokumentenklassifizierung angewendet werden, bei der Dokumente basierend auf Merkmalen wie Themen, Tags, Wortverwendung, Metadaten und anderen Dokumentmerkmalen gruppiert werden. Es kann auch verwendet werden, um Benutzer als Bots oder nicht-Bots basierend auf AktivitÃĪtsmustern wie Posts und Kommentaren zu klassifizieren. K-Means-Clustering kann auch verwendet werden, um Menschen basierend auf ihren Sorgen in Gruppen zu unterteilen, wenn ihre Gesundheit Þberwacht wird, basierend auf Merkmalen wie Begleiterkrankungen, Alter, Patientengeschichte usw.

K-Means-Clustering kann auch fÞr offene Aufgaben wie die Erstellung von Empfehlungssystemen verwendet werden. Benutzer eines Systems wie Netflix (NFLX ) kÃķnnen basierend auf ihren Sehmustern gruppiert und ÃĪhnliche Inhalte empfohlen werden. K-Means-Clustering kann auch fÞr Aufgaben zur Anomalie-Erkennung verwendet werden, um potenzielle FÃĪlle von Betrug oder fehlerhaften Elementen hervorzuheben.

Blogger und Programmierer mit Spezialisierungen in Machine Learning und Deep Learning Themen. Daniel hofft, anderen zu helfen, die Macht von KI fÞr das soziale Wohl zu nutzen.