Explore & Exploit

In der Natur, wie auch bei den Geschäftsstrategien liest man ab und zu vom Dilemma Explore vs. Exploit, d.h Erforschung vs. Nutzung. Damit ist gemeint, dass man sich entscheiden muss zwischen Investitionen in neue Geschäftsfelder und Ausnutzen der bestehenden Möglichkeiten. Die Pflanze muss Energie und Nährstoffe aufwenden, um an neue Orte zu wachsen. Typischerweise werden die beiden Strategien dann ausbalanciert, oder auch abwechslungsweise eingesetzt.

Explore & Exploit

Der K-Means Clustering Algorithmus verfügt auch über zwei Strategien, die abwechslungsweise ausgeführt werden. Auf diese Art wird mit jedem Schritt die Aufteilung in verschiedene Cluster verbessert. Gegeben sei die folgende zweidimensionale Punktemenge.

Initialisierung und Zuordnung

Der K-Means Algorithmus wird gestartet mit K=3 (K ist die vorgegebene Anzahl Cluster). Es werden zufällig Punkte als Clustercenter ausgewählt. Diese sind als Kreuze angezeigt.

Alle Punkte werden dem nächsten der zufällig ausgewählten Clustercenter zugeordnet. Es entsteht so ein provisorisches Clustering, welches nicht optimal ist.

Neuaufteilung

Anschliessend wird der Mittelpunkt bestimmt aller Samples im Cluster und dieser Mittelpunkt gilt neu als Clustercenter.

Zuordnung

Nun werden wieder die Punkte zugeordnet zu den neuen Clustercentern.

Neuaufteilung

Anschliessend werden wieder die Mittelpunkte bestimmt. Diese beiden Schitte werden wiederholt, bis kein Punkt mehr den Cluster wechselt.

Gesamter Ablauf

Diese Animation zeigt das Training vollständig. Das Resultat ist ein Clustering, welches sinnvoll erscheint.

Fazit

Das K-Means Clustering ist ein einfach zu implementierender Algorithmus. Das Resultat welches entsteht, ist aber bei jedem Durchlauf anders, auf Grund der zufälligen Initialisierung. Es besteht die Gefahr, dass das Resultat nicht der optimalen Aufteilung entspricht. In der Praxis ist es deshalb notwendig, den Algorithmus mehrmals durchlaufen zu lassen. Es gibt verbesserte Varianten dieses Algorithmus, welche bei der Initialisierung nicht zufällig, sondern gezielt vorgehen (K-Means++)