Professional Documents
Culture Documents
Klasterisanje I K-Means Algoritam
Klasterisanje I K-Means Algoritam
Klasterisanje I K-Means Algoritam
PRIRODNO-MATEMATIČKI FAKULTET
RAČUNARSTVO I INFORMACIONE TEHNOLOGIJE
MAŠINSKO UČENJE
Podgorica, 16.12.2022.
Sadržaj
UVOD.........................................................................................................................................................3
KLASTERISANJE....................................................................................................................................4
Klaster analiza.......................................................................................................................................4
Tehnike klasterisanja............................................................................................................................7
Tipovi klastera.......................................................................................................................................8
K-MEANS ALGORITAM......................................................................................................................10
LITERATURA:.......................................................................................................................................16
2
UVOD
3
KLASTERISANJE
Klaster analiza
Klaster analiza je metoda multivarijacione statističke analize koja ima za cilj grupisanje
elemenata u klastere na osnovu njihovih karakteristika. Klasterovanje elemenata se vrši
na osnovu realizovanih vrednosti posmatranog obilježja, tako da maksimizira internu
homogenost (unutar klastera) i eksternu heterogenost (između- klastera). Važna osobina
klaster analize je činjenica da ona nije metoda strogog statističkog zaključivanja gde se
odabrani uzorak nužno smatra i reprezentativnim za određenu populaciju. Klaster analiza
je metoda kojom se određuju strukturalne karakteristike izmerenih svojstava na strogoj
matematičkoj, ali ne i statističkoj utemeljenosti. Prema tome, da bi rezultati klaster
analize bili smisleni potrebno je utvrditi pretpostavke koje se odnose na reprezentativnost
uzorka. Pouzdanost rezultata klaster analize zavisi od reprezentativnosti uzorka. Termin
klaster analiza obuhvata niz različitih algoritama i metoda za grupisanje elemenata
sličnog tipa u odgovarajuće kategorije. Drugim riječima, klaster analiza je istraživačka
tehnika za analizu podataka koja ima za cilj da sortira različite elemente u grupe tako da
je stepen udruživanja između dva elementa maksimalan ako pripadaju istoj grupi i
minimalan ako pripadaju različitoj. Klaster analiza jednostavno otkriva strukture u
podacima ne objašnjavajući zašto one postoje. Kod ove tehnike nisu poznati broj grupa i
karakteristike grupe pre izvođenja samog postupka. Osnovni ciljevi klaster analize su:
Otkrivanje prirodnih grupacija elemenata koje posmatramo;
Istraživanje podataka - Ako ne znamo kako je skup elemenata strukturiran, klaster
analizom otkrivamo nepoznatu strukturu;
Redukcija podataka;
Generisanje hipoteza - Za skup podataka nepoznate strukture, klaster analizom
formiraju se grupe čiji broj i sastav pomažu u definisanju hipoteza o strukturi
podataka. Tako, na primer, broj grupa sugerisan prvobitnom analizom može biti
hipoteza koja bi se testirala novim skupom podataka;
Predviđanje.
Pored toga, ako klaster analiza pokaže neko neočekivano grupisanje jedinica
posmatranja, onda postoji verovatnoća da su pronađene određene relacije između jedinica
posmatranja koje do tada nisu bile poznate i koje treba ispitati.
4
Neke od važnih odluka koje treba donijeti pri sprovođenju klaster analize su:
1. Izbor uzorka kojeg ćemo podvrgnuti klaster analizi;
2. Odrediti skup relevantnih promenljivih koje će reprezentovati obilježja elemenata;
3. Odrediti transformaciju originalnih podataka;
4. Odrediti metodu za određivanje udaljenosti ili sličnosti između elemenata;
5. Odrediti metodu koju ćemo koristiti za povezivanje elemenata u klastere;
6. Ocjena validnosti dobijenih rezultata.
Ovaj tip analize podsjeća na metode klasifikacije predmeta. Ipak, ove dvije analitičke
metode su dosta različite jedna od druge. Prvo, u klasifikaciji, poznato nam je, još na
početku, u koliko klasa ili grupa treba klasifikovati podatke i koje elemente gdje
razvrstati. U klaster analizi, broj klastera je nepoznat, kao i koji element gdje treba
grupisati. Drugo, u klasifikaciji, cilj je da se klasifikuju novi elementi (ukoliko je moguće
u obliku skupa) u jednu od datih klasa na osnovu prethodnog iskustva. Klasterovanje
spada više u okvir istraživačke analize podataka, pri čemu ne postoje dostupne
informacije o strukturi podataka. Treće, klasifkacija se bavi skoro isključivo
klasifikacijom opservacija, dok se grupisanje može primeniti i na promenljive i na
opservacije ili na oba istovremeno, u zavisnosti od toga šta analiziramo.
Postupak klaster analize se sastoji iz dva osnovna koraka, izbora odgovarajuće mjere
udaljenosti (sličnosti) i izbora algoritma klasterovanja. Podaci se iz posmatranog skupa
grupišu u klastere na osnovu mjera sličnosti (ili udaljenosti) između dva različita
elementa. Ne postoji slaganje oko toga koja mjera udaljenosti je najadekvatnija za
primjenu u klasterovanju. Vrlo je bitno znati da što je više promenljivih uključeno u
analizu i što su one više međusobno nezavisne, teže je pronaći odgovarajući model za
grupisanje elemenata koje posmatramo.
Fokus klaster analize je na poređenju elemenata zasnovanih na slučajnoj promjenljivoj, a
ne na procjeni same slučajne promjenljive. Klaster analiza nema statističku osnovu kod
kojih se mogu izvući statistička zaključivanja iz uzorka i korišćena je prvenstveno kao
5
tehnika istraživanja. Rešenja nisu jedinstvena i istraživač mora voditi računa u proceni
uticaja svake odluke uključene u izvođenje klaster analize.
Tehnike klasterisanja
7
2. Hijerarhijske tehnike- Podjela datog skupa objekata na ugnježdene klastere koji su
hijerarhijski uređeni u obliku stabla
Tipovi klastera
Tipovi klastera:
Well-separated clusters
Center-based clusters
Contiguous clusters
Density-based clusters
Property or Conceptual
Described by an Objective Function
8
Well-separated klasteri su klasteri u kojima je ma koji objekat bliži svim objektima iz
istog klastera nego ma kom objektu izvan istog klastera.
Center-based klasteri su klasteri u kojima je ma koji objekat bliži centru klastera kojem
pripada nego centru ma kog drugog klastera.
Contiguous klasteri su klasteri u kojima je ma koji objekat bliži bar jednom objektu iz
tog klastera nego ma kom objektu izvan istog klastera.
Algoritmi klasterizacije:
K-means
Agglomerative hierarchical clustering
Density-based clustering
9
K-MEANS ALGORITAM
Ono što moramo navesti jeste broj klastera k,koje naš algoritam mora da pronađe. U
našem slučaju uzeli smo da je k=5. Svaka instanca je dodeljena jednom od 5 klastera. U
kontekstu grupisanja, oznaka instance je indeks klastera kojem ovoj instanci dodeljuje
algoritam: ovo ne treba mešati sa oznakama klasa u klasifikaciji (zapamtite da je
10
grupisanje zadatak učenja bez nadzora). KMeans instanca čuva kopiju oznaka instanci na
kojima je obučena, dostupnu preko labels_ instance promjenljive:
>>> y_pred
array([4, 0, 1, ..., 2, 1, 0], dtype=int32)
>>> y_pred is kmeans.labels_
True
11
Ogromna većina instanci je jasno dodeljena odgovarajućem klasteru, ali je nekoliko
instanci vjerovatno pogrešno označeno. Na primjer ako obratimo pažnju na gornji lijevi I
centralni klaster,može se vidjeti da veća vjerovatnoća da se pojavila greška u
označavanju. K-Means algoritam se ne ponaša baš dobro kada mrlje imaju veoma
različite prečnike, jer sve do čega mu je stalo kada se dodeljuje instanca klasteru je
rastojanje do centra.
Umesto dodeljivanja svake instance jednom klasteru, što se zove teško grupisanje, može
biti korisno da se svakoj instanci jednostavno dodeli ocjena po klasteru.
U klasi KMeans, metoda transform() mjeri rastojanje od svake instance do svakog
centroida:
>>> kmeans.transform(X_new)
array([[2.81093633, 0.32995317, 2.9042344 , 1.49439034, 2.88633901],
[5.80730058, 2.80290755, 5.84739223, 4.4759332 , 5.84236351],
[1.21475352, 3.29399768, 0.29040966, 1.69136631, 1.71086031],
[0.72581411, 3.21806371, 0.36159148, 1.54808703, 1.21567622]])
12
Ono što predstavlja smisao K-means algoritma je njegova minimizacija funkcije
koštanja J. Nju možemo naći po formuli :
m
1
(1)
J (c ,….,c (m )
, μ(1 ) ,….., μ(k)) =
m ∑ ¿¿ ¿
i=1
(i ) (i)
c -indeks klastera u koji je instance x trenutno raspoređena
μ( j)-težište klastera j, j = 1,... K, gde je K ukupan broj klastera
U zavisnosti od inicijalnog izbora težišta algoritam može konvergirati brže ili sporije ili
može upasti u lokalni minimum i dati lose rešenje (kada se kaže lokalni minimum misli
se na lokalni minimum funkcije koštanja).
13
Nasumično odabrati inicijalni skup težišta
Izvršiti K-means algoritam
Izračunati funkciju koštanja
}
Treba izabrati instancu algoritma koja daje najmanju vrednost funkcije koštanja.
Ovaj pristup daje dobre rezultate ukoliko je broj klastera relativno mali (između 2 i 10),
za veći broj klastera ne treba da se koristi.
Što se tiče same dodjele broja klastera K zavisi od toga da li imamo znanja o oblasti koju
podaci opisuju. Ukoliko imamo znanja onda pretpostavimo K na osnovu domenskog
ynanja I testitamo modul sa K-1, K , K+1 klastera I uporedimo grešku. Međutim ukoliko
nemamo znanja o oblasti koju podaci opisuju najbolje je krenuti od malog broja iteracija i
u više iteracija testirati model uvek sa jednim klasterom više I u svakoj iterarciji uporediti
grešku (nekom metodom) tekućeg i prethodnog modela i kad smanjenje greške postane
zanemarljivo, prekinuti postupak.
14
Velika prednost algoritma k-means je da je vremenska složenost O(n) (O (tkn)), gde je n
broj objekata, k je broj klastera, a t je broj iteracija. Normalno, k, t << n, što ustvari i čini
ovaj algoritam skalabilnijim. Pored toga, direktno iz algoritma su nam dostupni pregledi
svih klastera u vidu listi,
15
16
LITERATURA:
17