Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Klasterizacija
Šta je klasterizacija?
Nesupervizorsko učenje
Analiziraju se podaci kako bi se u njima pronašla zajednička karakteristika
Podaci se organizuju u klase tako da se dobije
Velika unutarklasna sličnost
Mala međuklasna sličnost
Smeštanje u klase i pronalaženje broja klasa se vrši direktno na osnovu podataka (za razliku od supervizorsko učenja kod koga se vrši klasifikacija u tačno određeni broj klasa i za svaki podatak se zna kojoj klasi pripada)
Postoji više različitih algoritama za klasterizaciju
k means algoritam za klasterizaciju
n tačaka
od kojih svaka tačka ima m koordinata, odnosno obeležja
potrebno je klasifikovati u k klasa, gde je broj klasa
Pripadanost tačke xl klasi Ai se definiše sa
k means algoritam za klasterizaciju svaki klaster ima svoj centar
koji se dobija od
a klasterizacije se vrši tako da se dobije matrica U sa elementima koja daje minumum funkcije cilja
gde je
Znači, klasteri se formiraju tako da se pronađu centri klastera kojima će biti pridružene tačke na taj način da se tačka pridružuje klasteru čiji je centar najbliži. Algoritam se izvršava iterativno
k means algoritam za klasterizaciju
Ako broj klastera nije unapred poznat Može da se vrši klasterizacija za različit broj klastera i usvoji onaj broj klastera kod koga se dobija
„lakat“ funkcije cilja
Ili se koristi ISODATA klastering algoritam
Klasterizacija u nekim slučajevima može da mnogo zavisi od toga koje su inicijalne vrednosti usvojene za centre
k means algoritam za klasterizaciju
Fuzzy k means algoritam za klasterizaciju Klasterizacija u 2 klastera za problem na slici
Tačka u sredini jednako može da pripada i levom i desnom klasteru, ali kod klasičnog k means algoritma mora da pripada samo jednom što utiče i na centar klastera
Upotrebom metode bazirane na fuzzy skupovima, moguće definisati fuzzy k means algoritam za klasterizaciju
Fuzzy k means algoritam daje bolju klasterizaciju za primer sa slike
Fuzzy k means algoritam za klasterizaciju
Svaka tačka može delimično pripadati jednom ili više klastera
Tačka xl pripada klasteru Ai sa stepenom pripadnosti
Uz ograničenje da ukupan stepen pripadnosti tačke svim klasama mora da bude 1, odnosno
za svako l=1, 2, ..., n
Ne može da bude praznih klasa i ne može jedna klasa da sadrži sve tačke, odnosno
za svako i=1, 2, ..., k
Fuzzy k means algoritam za klasterizaciju
Primer. Pretpostavimo da je genetičar zainteresovan za genetsku povezanostizmeđu vrsta životinja. Znamo da se mazga dobija ukrštanjem izmeđumagarca i konja (preciznije, konja i magarice). Ako opišemo svaku od ove trivrste životinje sa njihovim karakteristikama, visina, masa, karakter, dlaka,...,dobija se višedimenzioni prostor obeležja (m obeležja). Tada imamo 3 tačke um dimenzionom prostoru
magarac, mazga, konj
Ako klasifikujemo životinje u dve klase kako bi odredili njihovu genetsku povezanost, klasičnom klasterizaciju možemo da npr. dobijemo
odnosno, sve moguće kombinacije su
Fuzzy k means algoritam za klasterizaciju
Pri prikazanoj klasifikaciji životinja, klasična klasterizacija očigledno ne daje smisleno rešenje koje pokazuje njihovu genetsku povezanost, dok pri fuzzy klasterizaciji može da se dobije
Ovo ima mnogo više smisla pošto pokazuje kako postoji povezanost između mazge i njenih roditelja
Suma elemenata po kolonama mora da bude 1(ukupan stepen pripadnosti tačke svim klasama mora da bude 1), a po vrstama mora da bude broj između 0 i 3 (ne može da bude praznih klasa i ne može jedna klasa da sadrži sve tačke)
Fuzzy k means algoritam za klasterizaciju
Fuzzy k means algoritam traži matricu U sa elementima koja daje minimum funkcije cilja
Uvodi se težinski parametar (za m’=1 imamo klasični k means algoritam)
Rastojanje tačaka od centra klastera definisanoje kao i kod klasičnog k means algoritma
ali izračunavanje koordinata centra klastera je modifikovano
Fuzzy k means algoritam za klasterizaciju Stepen pripadnosti tačke xl, klasteru i se računa na osnovu izraza
Fuzzy k means algoritam, kao i klasični k means algoritam, vrši klasterizaciju iterativno, odnosno
1. Definiše se broj klastera k
2. Inicijalizuje se matrica , za iteraciju r=0, sa inicijalnim stepenima pripadnosti svake tačke klasteru (ili se definišu inicijalni centri klastera)
3. Za r iteraciju, izračunavaju se centri klastera vi(r)
4. Za r+1 iteraciju se izračunavaju elementi matrice kao stepeni pripadnosti svake tačke xl, svakom klasteru i
5. Ako je , stop; U suprotnom r=r+1 i nastavlja se od koraka 3.
Kao kriterijum zaustavljanja može da se koristi minimalni stepen poboljšanja , u kombinaciji sa maksimalnim brojem iteracija
Ako je potrebno izvršiti konačno dodeljivanje svake tačke jednom odklastera, znači da je potrebno izvršiti defazifikaciju. Pri defazifikaciji postojedva metoda
Metod maksimalnog stepena pripadnosti
Metod najbližeg centra
Fuzzy k means algoritam za klasterizaciju
Fuzzy k means algoritam za klasterizaciju –primer
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Fuzzy k means algoritam za klasterizaciju –primer 2 klastera
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
01
0.2
0.4
1
0.6
0.8
0.8
0.5 0.6
1
0.40.2
0 0
Crvena – stepen pripadnosti klasteru 1,
Plava – stepen pripadnosti klasteru 2
Fuzzy k means algoritam za klasterizaciju –primer 3 klastera
01
0.2
0.4
1
0.6
0.8
0.8
0.5 0.6
1
0.40.2
0 00 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Crvena – stepen pripadnosti klasteru 1, Plava – stepen pripadnostiklasteru 2, Zelena – stepen pripadnosti klasteru 3
Fuzzy k means algoritam se često koristi za obradu slike u medicini kako bi se dobile jasnije slike i obezbedila pomoć pri dijagnostici
Ovde je prikazan primer primene Fuzzy k means algoritma kako bi se sa MRI snimaka obavila segmentacija na belu materiju, sivu materiju, cerebrospinalnu tečnost i lobanju
Fuzzy k means algoritam za klasterizaciju –primer primene u medicini
Prikaz inteziteta svake tačke na snimcima u dve i u tri dimenzije
Fuzzy k means algoritam za klasterizaciju –primer primene u medicini
Rezultat klasterizacije u 5 klastera (4 segmenta i tamni deo snimka) u ravni T1-PD
Levo je najbolji dobijeni rezultat, koji je i najčešće dobijen pri klasterizaciji, a desno rezultat koji je dobijen kao drugi najčešći
Fuzzy k means algoritam za klasterizaciju –primer primene u medicini
Levo je najbolji dobijeni rezultat, a desno rezultat koji je dobijen kao drugi najčešći
Fuzzy k means algoritam za klasterizaciju –primer primene u medicini
Mountain klastering
Relativno jednostavan i efikasan metod za aproksimativnu estimaciju centara klastera
Baziran je na meri gustine koja se naziva Mountain funkcija
Ovaj metod može da se koristi za pronalaženje inicijalnih centara klastera pre početka neke sofisticiranije metode za klasterizaciju, kao što je fuzzy k means
Ovaj metod, takođe, može da se koristi za pronalaženje centara klastera podataka za obuku adaptivnih neuro-fuzzy sistema zaključivanja (ANFIS). Tada svaki klaster predstavlja jednu oblast u kojoj tačke imaju slično ponašanje i za koju je potrebno definisati odgovarajuće fuzzy pravilo. Broj centara predstavlja broj pravila, a takođe i broj funkcija pripadnosti za svaki ulaz
Mountain klastering Prvi korak predstavlja formiranje mreže u prostoru podataka u kome presečne
tačke mreže predstavljaju kandidate za centre klastera
Finija podela uvećava broj potencijalnih kandidata za centre klastera, ali i povećava količinu izračunavanja
Drugi korak se sastoji od pronalaženje mere gustine, tako što se za svakipotencijalni centar v, odredi mountain funkcija korišćenjem N tačaka iz skupapodataka
xi je tačka iz skupa podataka
je konstanta koja može da se izabere za konkretnu primenu
Tačka xi pridonosi visini mountain funkcije obrnuto proporcionalno svom rastojanju od v
mountain funkcija predstavlja meru gustine podataka posto ima veću vrednost ako je u okolini v više tačaka, a manju vrednost ako je u okolini v manje tačaka
Mountain klastering U trećem koraku izaberemo kao centar klastera ci, onaj potencijalni centar
koji ima najvišu mountain funkciju
U četvrtom koraku oduzimamo efekat izabranog centra
Oduzimanje efekta izabranog centra je potrebno uraditi zato što tačke u okolini izabranog centra imaju takođe veliku mountain funkciju
Oduzimanje efekta izabranog centra se vrši tako što se za sve tačke izračunava nova mountain funkcija
Iznos koji se oduzima je obrnuto proporcionalan rastojanjupotencijalnog centra od već izabranog centra, a proporcionalan je mountainfunkciji za već izabrani centar
Nakon oduzimanja mountan funkcija u izabranom centru v=ci je jednaka 0
Algoritam se vraća na treći korak kako bi na osnovu novih vrednosti mountainfunkcije izabrao sledeći centar klastera, sve dok se ne izabere dovoljan brojcentara
Mountain klastering - primer
(a) – skup tačaka za klasterizaciju
(b) – mountain funkcija pre izbora prvog centra
(c) – mountain funkcija nakon izbora prvog centra
(d) – mountain funkcija nakon izbora drugog centra
(e) – mountain funkcija nakog izbora trećeg centra
Subtractive klastering
Mountain klastering algoritam je poprilično jednostavan i efektivan, ali ima problem što se količina izračunavanja eksponencijalno povećava sa povećavanjem dimenzije problema
Za problem sa 4 dimenzije kod koga se koristi rezolucija od 10 linija mreže imamo 104 potencijalnih centara klastera za koje je potrebno računati mountain funkciju
Subtractive klastering je u principu isti algoritam, osim što se kao kandidati za centre klastera uzimaju sve tačke iz skupa podataka
Na taj način količina izračunavanja ne zavisi od dimenzija problema, nego od broja tačaka u skupu
Subtractive klastering Za svaku tačku xi od N tačaka iz skupa podataka se izračuna mera potencijala da
bude centar klastera
gde je α
ra je pozitivna konstanta koja određuje okolinu oko tačke u kojoj se nalaze tačke koje imaju uticaj na potencijal.
Tačke van radijusa ra imaju mali uticaj na potencijal tačke u centru
Kada odredimo potencijal svih tačaka, tačka sa najvišim potencijalom se usvaja kao centar prvog klastera ∗, koja ima potencijal ∗
Za sve ostale tačke, vrši se korekcija potencijala oduzimanjem (subtraction)potencijala proporcionalno potencijalu izabranog centra, a obrnut proporcionalnorastojanju tačke od izabranog centra (slično kao i kod mountain klasteringalgoritma)
∗ ∗
Pri oduzimanju potencijala, na iznos oduzetog potencijala utiče konstanta rb, za koju važi4
konstanta rb definiše radijus oko izabranog centra unutar koga će tačke imati značajnosmanjenje potencijala
Kako bi se izbeglo da centri budu previse blizu jedan drugog, obično se usvaja da je rb neštoveće od ra (preporuke su obično oko rb= 1.25ra ili rb= 1.5ra)
Nakon korekcije potencijala, kao novi centar klastera se izabere tačka sa najvećimpreostalim potencijalom
Nakon svakog novog izabranog centar klastera, vrši se nova korekcija potencijala zasve tačke
Nakon k-tog izabranog centra, korekcija potencijala će biti∗ ∗
Subtractive klastering
Subtractive klastering
Ako je nepoznat broj klastera, kada se završa dodavanje novih centara?
Jednostavan pristup je da se centri dodaju sve dok se ne dobije da je
∗ ∗
gde 0 1 označava mali deo od potencijala prvog centra klastera
Teško je definisati jednu vrednost koja će za veliki broj problema dati zadovoljavajući rezultat
Preveliko dovodi do malog broja centara (klastera)
Premalo dovodi do velikog broja centara (klastera)
Najčešće se određivanje da li će neka tačka da predstavlja novi centar klastera radi na sledeći način
definiše se koeficijent za gornju granicu i koeficijent za donju granicu
za svaku tačku ∗ koja ima trenutno najveći potencijal i predstavlja potencijalno novi centar klastera, obavlja se sledeći test
∗ ∗
prihvati ∗ kao novi centar klastera i nastavi ∗ ∗
odbaci ∗ i završi postupak klasterizacije
izračunati najkraće rastojanje između ∗ i svih prethodno usvojenih cenara klastera
∗
∗ 1
prihvati ∗ kao novi centar klastera i nastavi
odbaci ∗ i postavi potencijal za ∗ na 0.
izaberi tačku sa sledećim najvećim potencijalom kao novo ∗ i počni test od početka
Subtractive klastering