Jednoduchý pohľad na K-means algoritmus
Úvodný obrázok zdroj: vlastné
Pri súbore údajov, ktoré je nutné roztriediť, existuje viacero dostupných algoritmov. Voľba správneho algoritmu je založená čisto na subjektívnom prístupe a experimentovaní. Ak si vyberieme metódu zhlukovania, jedným z jej najjednoduchších algoritmov je K-means. Jeho cieľom je nájsť centroidy, centrálne body zhlukov, od ktorých závisí finálny výsledok správneho roztriedenia dát.
Učenie bez učiteľa
Nakoľko algoritmy tohto typu používame pri dátach, ktoré neboli vopred klasifikované, patrí algoritmus do skupiny učenia bez učiteľa. Na začiatku si stanovíme počet zhlukov, ktoré chceme po spracovaní dosiahnuť, tak isto si zvolíme odhadom pozície centroidov. Po aplikovaní K-means budeme poznať pozíciu stredu, na základe ktorej bude možné dáta náležite roztriediť do jednotlivých klastrov.
Jednoduchý postup
Po nami zvolenom predpokladanom strede sa rieši optimalizačná úloha. Jej cieľom je nájdenie takej pozície pre centroid, ktorá by bola vzhľadom na vzdialenosť s okolitými bodmi najvhodnejšia. Porovnávaním vzdialeností od stredu ku každému bodu sa centroid posúva, až kým sa nenájde optimálna pozícia tohto stredu, ako je pre ilustráciu zobrazené nižšie.
zdroj: Wikimedia Commons
Použitie
Vďaka svojej jednoduchosti je K-means obľúbený, využiteľný pri ľahko separovateľných dátach. Avšak hneď na začiatku môže byť kameňom úrazu stanovenie parametra vyjadrujúceho počet zhlukov. Ďalšia výzva je prvotná inicializácia. Pri nevhodnom zvolení môže dôjsť až k nesprávnemu zatriedeniu údajov do klastrov. Rovnako treba byť opatrný, ak máme dáta s extrémnymi hodnotami, ktoré môžu skresliť rozloženie výsledných zhlukov.
Algoritmus je uplatniteľný pri rôznych separačných úlohách. Pracovať môžeme aj s obrazovým vstupom ako napríklad fotografiou, kde sa s K-means môžeme stretnúť pri segmentácii obrazu.
Z fotografie sa na základe tohto algoritmu vytvorí obraz, zoskupujúci jednotlivé pixely do farebných klastrov. So segmentáciou obrazu sa v praxi stretávame napr. v medicíne.
V prípade vstupov obsahujúcich text alebo číslo, môžeme K-means použiť reálne napríklad v prieskume trhu pri segmentácii zákazníkov. S algoritmom je možné pracovať aj v známom prostredí Excelu, ako ukazuje ukážka nižšie.