Professional Documents
Culture Documents
K-Means Algoritam
K-Means Algoritam
• Ulaz:
• Podaci u vidu tačaka (ukupno n)
• Broj grupa K
• Ponavljati do konvergencije
• Za svaku od n tačaka:
• Naći najbliži centroid (po izabranoj distanci)
• Dodeliti tačku klasi kojoj pripada centroid
• Za svaku od K klasa:
• Proći sve tačke koje pripadaju klasi
• Naći aritmetičku srednju vrednost
• Postaviti novi centroid klase na srednju vrednost
4
k1
3
2
k2
k3
0
0 1 2 3 4 5
Pavle Batuta 14/3206 8/23
Primer: korak po korak
5
4
k1
3
2
k2
k3
0
0 1 2 3 4 5
Pavle Batuta 14/3206 9/23
Primer: korak po korak
5
4
k1
3
2
k2
k3
0
0 1 2 3 4 5
Pavle Batuta 14/3206 10/23
Primer: korak po korak
5
4
k1
3
k2 k3
1
0
0 1 2 3 4 5
Pavle Batuta 14/3206 11/23
Prednosti i mane
• Prednosti:
• Skalabilnost, brza konvergencija
• Mala složenost!
• O(br_dimenzija * K * n * br_iter) gde
• Obično K i dim znatno manje od n
• Relativno jednostavan za imlementaciju
• Uči na prethodnim primerima
• Mane:
• K mora biti unapred poznato!
• Izbor K nije trivijalan
• Zavisi od seta podataka
• Problem lokalnog minimuma
• Algoritam konvergira ali može da se desi da se „zaglavi“ u
lokalnom minimumu!
• Ne znamo da li smo dobili najbolje rešenje
• Mane:
• Rezultat zavisi od početnog izbora centroida
• Osetljiv na prisustvo outlier-a
• Radi samo sa realnim brojevima
• Nije moguće primeniti opisne atribute