Clustering er en type af unsupervised learning, hvor algoritmen forsøger at finde naturlige grupper af data og adskille dem fra hinanden. Clustering bruges til at identificere mønstre og grupper i store datasæt, som kan hjælpe med at opdage tendenser og træffe beslutninger.
En algoritme til clustering forsøger at placere datapunkter i grupper baseret på deres karakteristika og egenskaber. Der findes forskellige metoder til clustering, herunder k-means clustering, hierarchical clustering og density-based clustering.
K-means clustering er en af de mest almindelige metoder til clustering. Den forsøger at placere datapunkter i grupper baseret på deres afstand til hinanden. Algoritmen starter med at vælge et antal centrale punkter, som repræsenterer midten af hver gruppe. Derefter placeres datapunkterne i den gruppe, der er tættest på det centrale punkt. Centrum af hver gruppe opdateres derefter, og datapunkterne reklassificeres baseret på den nye placering af de centrale punkter. Processen gentages, indtil datapunkterne ikke længere flytter sig mellem grupperne.
k-means Generalization
Hvad sker der, når clustre har forskellige tætheder og størrelser? Sammenlign de intuitive clustre til venstre med de clustre , som faktisk blev fundet af k-means til højre. Sammenligningen viser, hvordan k-means kan have udfordringer med visse datasæt.
Figure 1: Ungeneralized k-means example / Et eksempel på k-means uden generalisering.
For at klynge naturligt ubalancerede clustre, som dem vist i figur 1, kan du tilpasse (generalisere) k-means. I figur 2 viser linjerne klyngernes grænser efter generalisering af k-means som:
Figur 2 - Clusterdannelse med generalisering af k-means
Selvom vi ikke dykker ned i, hvordan man generaliserer k-means, skal du huske, at muligheden for at tilpasse k-means er endnu en grund til, at det er kraftfuldt. For information om generalisering af k-means, se "Clustering – K-means Gaussian mixture models" af Carlos Guestrin fra Carnegie Mellon University.
Hierarchical clustering bruger en træstruktur til at organisere datapunkterne i grupper. Algoritmen starter med at placere hver datapunkt i sin egen gruppe. Derefter kombineres de to nærmeste grupper til en større gruppe, og processen gentages, indtil alle datapunkter er i den samme gruppe. Hierarchical clustering kan bruges til at identificere hierarkier i dataene, hvor nogle grupper er mere generelle end andre.
I løbet af dette kursus vil vi udforske forskellige metoder til clustering og se, hvordan de kan bruges til at identificere mønstre og grupper i store datasæt.