• Nie Znaleziono Wyników

1Wstęp Klasteryzacja

N/A
N/A
Protected

Academic year: 2021

Share "1Wstęp Klasteryzacja"

Copied!
8
0
0

Pełen tekst

(1)

Klasteryzacja

Marcin Orchel

1 Wstęp

1.1 Algorytm EM

Zakładamy, że rozkład prawdopodobieństwa analizowanych cech daje się opisać za pomo- cą rozkładu prawdopodobieństwa będącego mieszaniną K rozkładów odpowiadających podziałowi na K skupień. Gęstość tego rozkładu

f (x) =

K

X

k=1

πkf (x; θk) (1)

gdzie f (x; θk) są gęstościami prawdopodobieństwa odpowiadającym poszczególnym sku- pieniom, a πk to parametry takie, że

K

X

k=1

πk= 1 (2)

gdzie π1, . . . , πk ≥ 0. Przykładowo dla p-wymiarowego rozkładu normalnego θk = (µk, Σk).

Oznaczamy ψ = {πk, θk: k = 1, . . . , K} zbiór wszystkich parametrów. Zastosujemy metodę największej wiarygodności do ich estymacji

L (ψ; x1, . . . , xn) = log

n

Y

i=1 K

X

k=1

πkf (xi; θk) (3) Do maksymalizacji powyższej funkcji używamy algorytmu EM. Najpierw zapisujemy ją w postaci

L (ψ; x1, . . . , xn) =

n

X

i=1 K

X

k=1

ψiklog πk+

n

X

i=1 K

X

k=1

ψiklog f (xi; θk) −

n

X

i=1 K

X

k=1

ψiklog ψik (4) gdzie

ψik= πkf (xi; θk) PK

l=1πlf (xi; θl) (5)

Zapis ten wynika z następującej zależności:

logX

k

ak=X

k

ak P

iai log akX

k

ak P

iai log ak P

iai (6)

(2)

Dowód:

= 1

P

iai

X

k

aklog akX

k

aklog ak

P

iai

!

(7)

= 1

P

iai

X

k

ak



log ak− log ak P

iai

!

(8)

= 1

P

iai

X

k

aklogakPiai ak

!

(9)

= 1

P

iai X

k

aklogX

i

ai

!

(10)

= 1

P

iai

logX

i

ai

! X

k

ak

!

(11)

= logX

i

ai (12)

Zapis ten umożliwił zapisanie obu parametrów πk i θk w osobnych składnikach.

Punkty przyporządkowujemy skupieniom w ten sposób, że punkt należy do skupienia dla którego mamy maksymalną wartość wyrażenia

ψik

ψk (13)

gdzie

ψk=

n

X

i=1

ψik (14)

Algorytm EM, ustalamy początkowe wartości π1, . . . , πK oraz θ1, . . . , θK. Obliczamy ψik (krok E). Następnie znajdujemy wartości parametrów πk, θk maksymalizujące L (krok M). Powtarzamy oba kroki, dopóki wartość L zmienia się istotnie.

Dla rozkładów normalnych maksymalizujemy L wyznaczając πk= 1

n

n

X

i=1

ψik (15)

µk = 1 k

n

X

i=1

ψikxi (16)

Σk= 1 k

n

X

i=1

ψik(xi− µk) (xi− µk)0 (17) Macierz kowariancji możemy zapisać w postaci

Σk= λkDkAkDTk (18)

(3)

gdzie λk = |Σk|1/m, Ds to macierz ortogonalna, której kolumnami są wektory wła- sne odpowiadające uporządkowanym malejąco wartościom własnym macierz Σk, Ak to macierz diagonalna taka, że |As| = 1 i której elementy to uporządkowane malejąco war- tości własne macierzy Σk. Macierz A odpowiada za kształt, skalar λk za wielkość, a Dk za orientację. Modele: E - oznacza takie same, V, że klasy różnią się, I oznacza w przypadku orientacji brak orientacji lub równoległa do osi układu, a w przypadku kształtu, kształt sferyczny. Modele EII (λI), VII(λkI), EEI(λA), VEI(λkA), EVI(λAk), VVI(λkAk), EEE(λDADT), EEV(λDkADTk), VEV(λkDkADTk), VVV((λkDkAkDTk)).

1.2 Metody hierarchiczne

Definiujemy pojęcie odmienności między dwoma zbiorami punktów. W metodzie aglo- meracyjnej startujemy z n jednopunktowych skupień, następnie łączy się dwa najmniej odmienne w oparciu o macierz odmienności w jedno skupienie. Otrzymujemy n − 1 sku- pień. W każdym kroku liczba skupień maleje o 1. Obliczenia dokonujemy, aż do momentu otrzymania liczby zadeklarowanych skupień K.

Wyniki klasteryzacji reprezentowane są na wykresie zwanym dendogramem. Jest to drzewo binarne, węzły reprezentują skupienia, a liście to pojedyncze obiekty, liście znaj- dują się na poziomie zerowym, pozostałe węzły zaś na wysokości odpowiadającej mierze niepodobieństwa między skupieniami reprezentowanymi przez węzły potomki.

Definicje odmienności między skupieniami: odmienność typu najbliższego sąsiada (single linkage) - najmniejsza miara niepodobieństwa między dwoma obiektami należą- cymi do różnych skupień,

p (R, S) = min

i∈R,j∈Sp (xi, xj) (19)

Tworzy ona wydłużone skupienia.

Odmienność typu najdalszego sąsiada (complete linkage) - największa miara niepo- dobieństwa między dwoma obiektami należącymi do różnych skupień

p (R, S) = max

i∈R,j∈Sp (xi, xj) (20)

Tworzy ona zwarte skupienia.

Odległość średnia (average linkage) - średnia miara niepodobieństwa między wszyst- kimi parami obiektów należących do różnych skupień

p (R, S) = 1 nRnS

X

i∈R

X

j∈S

p (xi, xj) (21)

gdzie nRi nS to liczba obiektów wchodzących w skład skupień R i S odpowiednio.

Możemy wyznaczyć niepodobieństwo w następnym kroku, dla metody najbliższego sąsiada

p R, S ∪ S0= minp (R, S) , p R, S0 = 1

2 p (R, S) + p R, S0 p (R, S) − p R, S0



(22)

(4)

Drugie równanie wynika z faktu, że min (a, b) =1

2(a + b − |a − b|) (23)

dla metody najdalszego sąsiedztwa

p R, S ∪ S0= maxp (R, S) , p R, S0 = 1

2 p (R, S) + p R, S0+ p (R, S) − p R, S0



(24) Drugie równanie wynika z faktu, że

max (a, b) = 1

2(a + b + |a − b|) (25)

dla metody średniej odległości

p R, S ∪ S0= nS

nS+ nS0p (R, S) + nS0

nS+ nS0p R, S0 (26) co bierze się ze wzoru, że

Pai+Pbi

n + m = n

n + m Pai

n + m

n + m Pbi

m (27)

Metoda najbliższego sąsiedztwa może być skonstruowana w ten sposób, że znajduje- my minimalne drzewo rozpinające i usuwamy najdłuższe krawędzie. Minimalne drzewo rozpinające możemy znaleźć za pomocą algorytmu Kruskala. Wybieramy krawędź o mi- nimalnej wadze, z pozostałych krawędzi wybieramy tę o najmniejszej wadze

W metodzie opartej na dzieleniu startujemy z jednego skupienia składającego się ze wszystkich punktów, szukamy dwóch najbardziej odmiennych podzbiorów, następnie wybieramy podział jednego z nich., która nie prowadzi do cyklu. Powtarzamy drugi krok.

1.3 Metoda k-średnich

Mamy macierz zmienności wewnątrz skupieni W (CK) =

K

X

k=1

X

Ck(i)=k

(xi− ¯xk) (xi− ¯xk)0 (28)

gdzie xk oznacza wektor średnich k-tego skupienia x¯k= 1

nk

X

CK(i)=k

xi (29)

gdzie nk jest liczebnością k-tego skupienia. Macierz ta będzie rozmiar p na p.

Metoda k-średnich minimalizuje ślad macierzy W (CK). Optymalny podział to CK∗ = min trW (Ck) = min

CK

K

X

k=1

X

CK(i)=k

p2(xi, ¯xk) (30)

(5)

gdzie p2 to kwadrat odległości euklidesowej.

Algorytm k-średnich. W losowy sposób rozmieszczamy n obiektów w K skupieniach.

Dla każdego z K skupień obliczamy wektory średnich xk. Rozmieszczamy ponownie obiekty w K skupieniach tak, że

CK(l)(i) = arg min

1≤k≤Kp2(xi, ¯xk) (31)

Powtarzamy dwa poprzednie kroki, dopóki dokonujemy zmian przyporządkowania.

1.4 Metoda k-median

W tej metodzie możemy mieć dane tylko odległości między punktami, bez współrzęd- nych. Środki klastrów wyznaczamy podobnie jak dla k-średnich

x¯k= 1 nk

X

CK(i)=k

xi= arg min

y∈Rp

X

CK(i)=k

p2(xi, y) (32)

Gdy wartości pochodzą ze zbioru V mamy mk= arg min

y∈Vp

X

CK(i)=k

p (xi, y) (33)

Środki skupienia będą należały do klastrów.

Algorytm k-median. Losowo rozmieszczamy n obiektów w K skupieniach. Dla każ- dego z K skupień obliczamy środki skupień. Rozmieszczamy ponownie obiekty w K skupieniach

CK(l)(i) = arg min

1≤k≤Kp (xi, mk) (34)

Powtarzamy dwa poprzedniego kroki dopóki jest zmiana przyporządkowania.

2 Zadania

2.1 Zadania na 3.0

• dla wygenerowanych danych dwuwymiarowych kilku klas z rozkładów normalnych zaznacz na wykresie dane treningowe, a także klasteryzację metodą EM (różne mo- dele), hierarchiczną oraz k-średnich. Dobierz rozkłady normalne tak, aby uzyskać klastry eliptyczne.

• wyświetlić funkcje gęstości

• wyświetlić dendogramy dla trzech typów odmienności

• wyświetlić w konsoli błędy klasteryzacji i porównać

• dla algorytmu k-średnich wyświetlić wykres zależności log trW (CK) od k.

(6)

• oblicz błąd klasteryzacji na zbiorze testowym dla wszystkich użytych metod kla- steryzacji

• wykonać klasteryzację danych z konspektu svm

• wykonać klasteryzację wybranego obrazu i dokonać analizy możliwości identyfikacji obiektów za pomocą metod klasteryzacji

Wskazówki do R

• generacja klastrów najlepiej ręczna, alternatywa https://www.rdocumentation.

org/packages/clusterSim/versions/0.36-1/topics/cluster.Gen,http://finzi.

psych.upenn.edu/library/clusterSim/html/cluster.Gen.html,

• wczytanie danych https://stat.ethz.ch/R-manual/R-devel/library/utils/

html/read.table.html

• pakiet mclusthttps://cran.r-project.org/web/packages/mclust/index.html, https://cran.r-project.org/web/packages/mclust/vignettes/mclust.html

• funkcja emhttp://svitsrv25.epfl.ch/R-doc/library/mclust/html/em.html,

http://svitsrv25.epfl.ch/R-doc/library/mclust/html/emE.html,http://svitsrv25.

epfl.ch/R-doc/library/mclust/html/me.html,http://svitsrv25.epfl.ch/R- doc/library/mclust/html/meE.html

• do metod aglomeracyjnychhttp://svitsrv25.epfl.ch/R-doc/library/mclust/

html/hc.html,http://svitsrv25.epfl.ch/R-doc/library/mclust/html/hcE.

html,http://svitsrv25.epfl.ch/R-doc/library/mclust/html/hclass.html

• http://svitsrv25.epfl.ch/R-doc/library/mclust/html/unmap.html

• http://svitsrv25.epfl.ch/R-doc/library/mclust/html/mclustBIC.html

• metoda EMhttp://svitsrv25.epfl.ch/R-doc/library/mclust/html/Mclust.

html

• http://svitsrv25.epfl.ch/R-doc/library/mclust/html/plot.mclustBIC.html

• http://svitsrv25.epfl.ch/R-doc/library/mclust/html/coordProj.html

• http://svitsrv25.epfl.ch/R-doc/library/mclust/html/classError.html

• http://svitsrv25.epfl.ch/R-doc/library/mclust/html/adjustedRandIndex.

html

• http://svitsrv25.epfl.ch/R-doc/library/mclust/html/mclustModelNames.

html

• obserwacje nietypowe, pakiet prabclus,https://www.rdocumentation.org/packages/

prabclus/versions/2.0-1/topics/NNclean

(7)

• http://finzi.psych.upenn.edu/library/mclust/html/clPairs.html

• http://stat.ethz.ch/R-manual/R-devel/library/stats/html/hclust.html

• http://finzi.psych.upenn.edu/library/densityClust/html/densityClust.

html Wskazówki

• http://www.mathworks.com/help/stats/cluster-data-from-mixture-of-gaussian- distributions.html

• http://www.mathworks.com/help/stats/gmdistribution.html

• http://www.mathworks.com/help/stats/clustering-using-gaussian-mixture- models.html

• http://www.mathworks.com/help/stats/gaussian-mixture-models-1.html

• http://www.mathworks.com/help/stats/fitgmdist.html, dla starszych wersji http://www.mathworks.com/help/stats/gmdistribution.fit.html

• http://www.mathworks.com/help/stats/gmdistribution.cluster.html

• http://www.mathworks.com/help/images/examples/color-based-segmentation- using-k-means-clustering.html

• http://www.mathworks.com/help/stats/kmeans.html

• http://www.mathworks.com/help/stats/linkage.html

• http://www.mathworks.com/help/stats/clusterdata.html

• http://www.mathworks.com/help/stats/cluster.html, a tutaj cluster dla me- tody EMhttp://www.mathworks.com/help/stats/gmdistribution.cluster.html 2.2 Zadania na 4.0

• powtórzyć zadanie na 3.0 dla danych trójwymiarowych

• porównać metody z zadania na 3.0 dodatkowo z k-median

• porównać błąd klasteryzacji na zbiorze testowym i treningowym, czy błąd na zbio- rze testowym będzie większy?

Wskazówki:

• http://www.mathworks.com/help/stats/kmedoids.html

(8)

2.3 Zadania na 5.0

• dla wybranych danych wielowymiarowych porównać jakość klasteryzacji na danych testowych z metodami klasyfikacji

• wykonać klastertyzację zdjęć twarzy z dodanymi cechami na podstawie rysunków wygenerowanych w zadaniu z konwolucją z różnymi jądrami konwolucji

Cytaty

Powiązane dokumenty

gry o pełnej informacji (gracz wybierając kolejny ruch posiada pełną informację o aktualnej sytuacji oraz możliwościach przeciwnika np. warcaby, szachy) gry o niepełnej

9. Za podanie nazwy obiektu 1p. a) Za podanie poprawnej nazwy prądu po 1p. b) Za zaznaczenie kierunku trzech prądów 2p., za zaznaczenie kierunków dwóch prądów 1p.

Zbuduj listy inwersyjne wiedząc, że najczęściej zadawane są pytania dotyczące pary (x,x1)(z,z1) oraz tych samych deskryptorów pojedynczo.. Pamiętaj, aby utworzona struktura

Proszę powiedzieć, z czego składa się kartoteka wyszukiwawcza w metodzie list prostych bez modyfikacji. Proszę nie omawiać procesu zakładania kartoteki, a jedynie to z czego się

2.W tym tygodniu przypominamy sobie także podstawowe przepisy gry w piłkę siatkową oraz elementy techniczne i taktyczne gry. Przeczytajcie poniższe punkty, a następnie

Pierwsze dwa przyk≥ady liczb Fermata, dla których nie tylko nie znamy dzielników pierwszych, ale o których nie wiemy nawet, czy sπ pierwsze, czy z≥oøone, to F 22 i F 24..

pierwiastka IV grupy zostanie wprowadzony pierwiastek grupy V (tzw. domieszka donorowa) powstanie półprzewodnik typy N, gdzie nośnikami większościowymi ładunku elektrycznego

Prawidłowe oddychanie poprawia cyrkulację krwi, ułatwia usuwanie kwasów z komórek oraz powoduje masaż narządów jamy brzusznej, zwłaszcza wątroby, co bardzo