Clustering
Clustering is een vorm van machine learning zonder supervisie waarin waarnemingen worden gegroepeerd in clusters op basis van overeenkomsten in hun gegevenswaarden of functies. Dit soort machine learning wordt beschouwd als niet onder supervisie omdat er geen gebruik wordt gemaakt van eerder bekende labelwaarden om een model te trainen. In een clusteringmodel is het label het cluster waaraan de observatie is toegewezen, alleen op basis van de functies ervan.
Voorbeeld: clustering
Stel dat een biochemisch een steekproef van bloemen bekijkt en het aantal bladeren en bloemblaadjes op elke bloem registreert:
Er zijn geen bekende labels in de gegevensset, slechts twee functies. Het doel is niet om de verschillende soorten bloemen te identificeren; om soortgelijke bloemen te groeperen op basis van het aantal bladeren en bloemblaadjes.
Bladeren (x1) | Bloemblaadjes (x2) |
---|---|
0 | 5 |
0 | 6 |
1 | 3 |
1 | 3 |
1 | 6 |
1 | 8 |
2 | 3 |
2 | 7 |
2 | 8 |
Een clusteringmodel trainen
Er zijn meerdere algoritmen die u kunt gebruiken voor clustering. Een van de meest gebruikte algoritmen is K-Means-clustering , die bestaat uit de volgende stappen:
- De functiewaarden (x) worden gevectoriseerd om n-dimensionale coördinaten te definiëren (waarbij n het aantal functies is). In het bloemvoorbeeld hebben we twee kenmerken: aantal bladeren (x1) en aantal bloemblaadjes (x2). De functievector heeft dus twee coördinaten die we kunnen gebruiken om de gegevenspunten in tweedimensionale ruimte ([x1,x 2]) te plotten.
- U bepaalt hoeveel clusters u wilt gebruiken om de bloemen te groeperen. Noem deze waarde k. Als u bijvoorbeeld drie clusters wilt maken, gebruikt u een k-waarde van 3. K-punten worden vervolgens uitgezet op willekeurige coördinaten. Deze punten worden de middelpunten voor elk cluster, dus ze worden zwaartepunten genoemd.
- Elk gegevenspunt (in dit geval een bloem) wordt toegewezen aan het dichtstbijzijnde zwaartepunt.
- Elk zwaartepunt wordt verplaatst naar het midden van de gegevenspunten die eraan zijn toegewezen op basis van de gemiddelde afstand tussen de punten.
- Nadat het zwaartepunt is verplaatst, kunnen de gegevenspunten zich nu dichter bij een ander zwaartepunt bevinden, zodat de gegevenspunten opnieuw worden toegewezen aan clusters op basis van het nieuwe dichtstbijzijnde zwaartepunt.
- De stappen voor de zwaartepuntsverplaatsing en het opnieuw toewijzen van clusters worden herhaald totdat de clusters stabiel worden of een vooraf bepaald maximum aantal iteraties wordt bereikt.
In de volgende animatie ziet u dit proces:
Een clusteringmodel evalueren
Omdat er geen bekend label is waarmee de voorspelde clustertoewijzingen kunnen worden vergeleken, is de evaluatie van een clustermodel gebaseerd op hoe goed de resulterende clusters van elkaar zijn gescheiden.
Er zijn meerdere metrische gegevens die u kunt gebruiken om clusterscheiding te evalueren, waaronder:
- Gemiddelde afstand tot het clustercentrum: Hoe dicht, gemiddeld, elk punt in het cluster is het middelpunt van het cluster.
- Gemiddelde afstand tot het andere centrum: Hoe dicht, gemiddeld, elk punt in het cluster is het zwaartepunt van alle andere clusters.
- Maximale afstand tot het clustercentrum: de kortste afstand tussen een punt in het cluster en de zwaartepunt.
- Silhouet: Een waarde tussen -1 en 1 die de verhouding tussen punten in hetzelfde cluster en punten in verschillende clusters samenvat (hoe dichter bij 1, hoe beter de clusterscheiding).