29
Klasterizacija

Klasterizacija - University of Novi Sad · 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

  • 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