De k-betekent clustering-algoritme is een datamining- en machine learning-tool die wordt gebruikt om observaties te clusteren in groepen gerelateerde observaties zonder enige voorkennis van die relaties. Door middel van steekproeven probeert het algoritme te laten zien in welke categorie of cluster de gegevens behoren, waarbij het aantal clusters wordt gedefinieerd door de waarde k.
De k-betekent dat algoritme een van de eenvoudigste clusteringtechnieken is en vaak wordt gebruikt in medische beeldvorming, biometrie en aanverwante gebieden. Het voordeel van k-betekent clustering is dat het vertelt over uw gegevens (met behulp van de niet-gecontroleerde vorm) in plaats van dat u het algoritme aan het begin instructies moet geven over de gegevens (met behulp van de gecontroleerde vorm van het algoritme). Het wordt soms Lloyd’s Algorithm genoemd, vooral in computerwetenschappelijke kringen omdat het standaardalgoritme voor het eerst werd voorgesteld door Stuart Lloyd in 1957. De term “k-means” werd in 1967 bedacht door James McQueen.
Hoe het K-means-algoritme werkt
De k-betekent dat algoritme een evolutionair algoritme is dat zijn naam dankt aan zijn werkwijze. Het algoritme clustert waarnemingen in: k groepen, waar? k wordt gegeven als invoerparameter. Vervolgens wijst het elke waarneming toe aan clusters op basis van de nabijheid van de waarneming tot het gemiddelde van het cluster. Het gemiddelde van het cluster wordt dan opnieuw berekend en het proces begint opnieuw. Zo werkt het algoritme:
- Het algoritme selecteert willekeurig k punten als de initiële clustercentra (de middelen).
- Elk punt in de dataset wordt toegewezen aan het gesloten cluster, gebaseerd op de Euclidische afstand tussen elk punt en elk clustercentrum.
- Elk clustercentrum wordt opnieuw berekend als het gemiddelde van de punten in dat cluster.
- Stappen 2 en 3 herhalen totdat de clusters samenkomen. Convergentie kan verschillend worden gedefinieerd, afhankelijk van de implementatie, maar het betekent normaal gesproken dat ofwel geen waarnemingen van cluster veranderen wanneer stap 2 en 3 worden herhaald, ofwel dat de veranderingen geen wezenlijk verschil maken in de definitie van de clusters.
Het aantal clusters kiezen
Een van de belangrijkste nadelen van k-betekent clustering is het feit dat u het aantal clusters moet opgeven als invoer voor het algoritme. Zoals ontworpen, is het algoritme niet in staat om het juiste aantal clusters te bepalen en is het afhankelijk van de gebruiker om dit van tevoren te identificeren. Als u bijvoorbeeld een groep mensen had die moet worden geclusterd op basis van binaire genderidentiteit als man of vrouw, noemt u de k-betekent algoritme met behulp van de invoer k=3 zou de mensen in drie clusters dwingen als er slechts twee, of een input van k=2, zou een meer natuurlijke pasvorm geven. Evenzo, als een groep individuen gemakkelijk kon worden geclusterd op basis van de thuisstaat en u belde de k-betekent algoritme met de input k=20, de resultaten zijn mogelijk te algemeen om effectief te zijn. Om deze reden is het vaak een goed idee om te experimenteren met verschillende waarden van k om de waarde te identificeren die het beste bij uw gegevens past. Misschien wilt u ook het gebruik van andere datamining-algoritmen onderzoeken in uw zoektocht naar machinaal aangeleerde kennis.