• Nie Znaleziono Wyników

Agnieszka Nowak - Brzezińska

N/A
N/A
Protected

Academic year: 2021

Share "Agnieszka Nowak - Brzezińska"

Copied!
151
0
0

Pełen tekst

(1)

Agnieszka Nowak - Brzezińska

(2)

Analiza skupień – to proces podziału danych na podzbiory zwane klasami (skupieniami) z punktu widzenia określonego kryterium Klasyfikacja - czyli podział zbiorów obiektów na skupienia.

dany jest zbiór uczący, w którym obiekty nie są poklasyfikowane, celem jest wykrycie nieznanych klasyfikacji, podobieństw między obiektami.

Powstałe grupy (skupienia) są zespołami obiektów badanej serii bardziej podobnych do siebie (wewnątrz grupy) niż do pozostałych obiektów (między grupami).

Klasyfikacja...

(3)

Ogólny problem badaczy wielu dyscyplin polega na organizowaniu obserwowanych danych w sensowne struktury lub grupowaniu danych.

Obecnie zagadnienie to jest szczególnie istotne, gdyż coraz częściej mamy do czynienia z ogromnymi ilościami danych. Właśnie do tych celów można zastosować analizę skupień.

Analiza skupień (ang. cluster analysis, termin wprowadzony w 1939 roku przez Tryona), nazywana również segmentacją lub klastrowaniem danych, jest przykładem analizy polegającej na szukaniu i wyodrębnieniu z danych skupień, czyli grup obiektów podobnych.

Jest to metoda nieukierunkowana (unsupervised), to znaczy, że wszelkie związki i prawidłowości znajdowane są tylko na postawie cech wejściowych.

Celem segmentacji jest wydzielanie grup obserwacji podobnych, dalszym etapem może być szukanie cech charakterystycznych dla obserwacji wchodzących w skład danej grupy.

W przeciwieństwie do klasyfikacji wzorcowej (analizy z nauczycielem), polegającej na przyporządkowywaniu przypadków do jednej z określonych klas, tu klasy nie są znane ani w żaden sposób scharakteryzowane przed przystąpieniem do analizy. Jednak po scharakteryzowaniu wyodrębnionych skupień można w dalszym etapie badań klasyfikować nowe przypadki, przyporządkowując je do odpowiedniego skupienia.

(4)

Organizowanie obiektów w skupienia opiera się na szukaniu obserwacji podobnych.

Aby móc porównywać obserwacje między sobą, określać, na ile są one do siebie podobne, musimy wprowadzić miarę podobieństwa obserwacji.

W przypadku zmiennych jakościowych będą to tak zwane indeksy podobieństwa (np. indeks Russela i Rao, indeks Jaccarda indeks Sokala i Michnera), a w przypadku zmiennych ilościowych – odległości (np.

odległość euklidesowa, odległość Czebyszewa, odległość Manhattan).

Są też specjalne miary podobieństwa, które można

stosować, gdy podczas analizy wykorzystujemy

jednocześnie cechy o charakterze jakościowym i

ilościowym.

(5)

Można określić na dwa sposoby:

 jako różnicę (czyli odległość d ), lub z drugiej strony

 jako podobieństwo p . Warunki:

 ustalenie standardu opisu badanego obiektu – zespołu diagnostycznych cech, które dobrze opisują zmienność badanych,

 określenie sposobu porównywania obiektów. Inność

(rozróżnialność obiektów).

(6)

Metody obliczania odległości i podobieństwa

Nazwa Wzór opis

Odległość miejska

wartość bezwzględna z prostej różnicy między wartościami i-tych cech dla badanych obiektów x

i y Odległość

euklidesowa pierwiastek z kwadratu różnicy między wartościami cech dla badanych obiektów x i y

Odległość Czebyszewa

największa różnica między znormalizowanymi cechami (znormalizowanymi, aby ich wartości były porównywalne) badanych obiektów x i y

gdzie: x

i

,y

i

- to wektory wartości cech porównywanych obiektów w przestrzeni p- wymiarowej, gdzie odpowiednio wektory wartości to:

] ...,

,

[ x

(i)1

x

(i)2,

x

(i)p

oraz [ y

(i)1

, y

(i)2,

..., y

(i)p

]

(7)

Metody obliczania odległości i podobieństwa cd.

Metody obliczania podobieństw (współczynników podobieństwa) są mniej liczne. Dwa najczęściej używane współczynniki podobieństwa to:

•współczynnik korelacji liniowej Pearsona

•odległość kątowa

Im większa wartość współczynnika podobieństwa, tym bardziej

podobne do siebie są badane obiekty, zaś przy maksymalnej

wartości p = 1 obiekty stają się identyczne.

(8)
(9)
(10)

Odległość sferyczna

Odległość manhattan

(11)
(12)
(13)
(14)

Po normalizacji…

(15)

Oblicz odległość punktu A o współrzędnych (2,3) do punktu B o współrzędnych (7,8).

D (A,B) = pierwiastek ((7-2)

2

+ (8-3)

2

) = pierwiastek (25 + 25) = pierwiastek (50) = 7.07

A

B

0 1 2 3 4 5 6 7 8 9

0 2 4 6 8

y

x

A B

(16)

Mając dane punkty: A(2,3), B(7,8) oraz C(5,1) oblicz odległości między punktami

D (A,B) = pierwiastek ((7-2)

2

+ (8-3)

2

) = pierwiastek (25 + 25) = pierwiastek (50) = 7.07

D (A,C) = pierwiastek ((5-2)

2

+ (3-1)

2

) = pierwiastek (9 + 4) = pierwiastek (13) = 3.60

D (B,C) = pierwiastek ((7-5)

2

+ (3-8)

2

) = pierwiastek (4 + 25) = pierwiastek (29) = 5.38

A

B

C 0

1 2 3 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8

y

x

A B C

(17)

Wszystko jest dużo bardziej jasne gdy mamy punkty na płaszczyźnie. Gdy jednak liczba wymiarów się zwiększa zadanie stanowi większy problem.

Wyobraźmy sobie, że nie mamy 2 zmiennych opisujących każdy obiekt, ale tych zmiennych jest np. 5: {v1,v2,v3,v4,v5} i że obiekty opisane tymi zmiennymi to 3 punkty: A, B i C:

Policzmy teraz odległość między punktami:

D (A,B) = pierwiastek ((0.7-0.6)2 + (0.8-0.8)2 + (0.4-0.3)2 + (0.5-0.4)2 + (0.2-0.2)2) = pierwiastek (0.01 + 0.01 + 0.01) = pierwiastek (0.03) = 0.17

D (A,C) = pierwiastek ((0.7-0.8)2 + (0.8-0.9)2 + (0.4-0.7)2 + (0.5-0.8)2 + (0.2-0.9)2) = pierwiastek (0.01 + 0.01 + 0.09 + 0.09 + 0.49) = pierwiastek (0.69) = 0.83

D (B,C) = pierwiastek ((0.6-0.8)2 + (0.8-0.9)2 + (0.5-0.7)2 + (0.4-0.8)2 + (0.2-0.9)2) = pierwiastek (0.04 + 0.01 + 0.04+0.16 + 0.49) = pierwiastek (0.74) = 0.86

Szukamy najmniejszej odległości, bo jeśli te dwa punkty są najbliżej siebie, dla których mamy najmniejszą odległości ! A więc najmniejsza odległość jest między punktami A i B !

V1 V2 V3 V4 V5

A 0.7 0.8 0.4 0.5 0.2

B 0.6 0.8 0.5 0.4 0.2

C 0.8 0.9 0.7 0.8 0.9

(18)

 Wyróżnia się dwa zasadnicze typy

algorytmów grupowania danych: algorytmy

hierarchiczne i algorytmy niehierarchiczne.

(19)

Hierarchiczne metody aglomeracyjne prowadzą do stworzenia tzw. hierarchii drzewkowej elementów analizowanego zbioru (dendrogramu).

Na wstępie procedury przyjmuje się, że każdy obiekt stanowi osobne skupienie, następnie krokowo łączy się w podzbiory podgrupy najbardziej do siebie podobne, aż do otrzymania jednego skupienia zawierającego wszystkie obserwacje. W ten sposób otrzymuje się wynikową segmentację, będącą uporządkowanym zestawieniem podziałów na segmenty.

Hierarchiczne metody grupowania nie wymagają wcześniejszego podania liczby skupień (na dendrogramach wyboru liczby skupień można dokonać na końcu analizy, przecinając go na odpowiedniej wysokości), ale wymagają dużej mocy obliczeniowej.

Dla zbiorów danych o znacznej wielkości obliczenia mogą zająć

dużo czasu lub wręcz być niewykonalne.

(20)

Metody niehierarchiczne są szybkie, ale wymagają wcześniejszego podania liczby skupień, do których dane mają zostać zakwalifikowane.

Wybór liczby skupień ma duży wpływ na jakość uzyskanej segmentacji. Podanie zbyt dużej liczby skupień może spowodować, że wyznaczone skupienia będą co prawda wewnętrznie jednorodne, jednak utrudniona będzie interpretacja uzyskanych wyników i stosowanie ich w praktyce.

Z drugiej strony, im mniejsza liczba skupień, tym skupienia są mniej jednorodne wewnętrznie.

Za wadę może być również uznane to, że wewnątrz skupień nie mamy żadnego porządku, a także fakt, że gdy zmienimy liczbę skupień, na przykład zwiększymy o 1, to skupienia utworzone w wyniku nowego podziału nie będą zawierać się we wcześniej uzyskanych.

 Czasami nazywamy je k -optymalizacyjnymi –seria dzielona jest na k zbiorów

obiektów, przy czym obiekt może należeć tylko do jednego ze zbiorów, a liczba k

jest zwykle podawana przez badacza.

(21)

Obiekt jest przydzielony do skupienia, którego środek ciężkości leży najbliżej w sensie odległości euklidesowej . Algorytmy k -optymalizacyjne...

Cel klasyfikacji:

1. minimalizacja zmienności wewnątrz skupień, 2. maksymalizacja zmienności między skupieniami.

Przebieg:

1. Wyznaczenie k początkowych skupień przez badacza 2. Przydzielenie obiektów do najbliższych im skupień

Kolejno (iteracyjnie) powtarzane przenoszenie obiektów między

skupieniami tak, aby uzyskać najlepszy podział na grupy.

(22)

1. Dzielimy zbiór na K grup w sposób losowy.

2. Liczymy środek (centroid) każdej grupy.

3. Dokonujemy ponownego podziału obiektów, przypisując je do tej grupy, której środek leży najbliżej.

4. Powtarzamy od 2 póki następują zmiany przyporządkowania.

Pseudokod algorytmu (4 kroki):

(23)

Przykład:

Ponownie oblicz Środki skupień Losowo wybierz K

obiektów jako wejściowe środki skupień

Kolejna iteracja Kolejna

iteracja K=2

Przydziel każdy obiekt do

najbliżej grupy

Wylicz nowe środki skupień

(24)

2 6

3 4

3 8

4 7

6 2

6 4

7 3

7 4

7 6

8 5 0

1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

Krok 1 – wybór liczby skupień: k=2

Wybór zalążków skupień (środków, centrów)

K1 = (2,6)

K2 = (7,4)

(25)

punkt K1 K2

1 0 5.385164807

2 2.23606798 4

3 2.23606798 5.656854249

4 2.23606798 4.242640687

5 5.65685425 2.236067977

6 4.47213595 1

7 5.83095189 1

8 5.38516481 0

9 5 2

10 6.08276253 1.414213562

(26)

Czyli widzimy ze punkty 1,2,3 i 4 mają mniejsze odległości od punktu K1, zaś punkty 5,6,7,8,9,10 mają bliżej do punktu K2.

0 2 4 6 8 10

0 1 2 3 4 5 6 7 8 9 10

punkt K1 K2

1 0 5.385164807

2 2.23606798 4

3 2.23606798 5.656854249 4 2.23606798 4.242640687 5 5.65685425 2.236067977

6 4.47213595 1

7 5.83095189 1

8 5.38516481 0

9 5 2

10 6.08276253 1.414213562

(27)

A wiec wiedząc, że do skupienia pierwszego, którego poprzednio środkiem był punktu K1(2,6) zostały przydzielone punkty:

2 6

3 4

3 8

4 7

Reprezentantem takiego skupienia, a więc nowym zalążkiem grupy będzie punkt będący tzw. środkiem ciężkości grupy. Obliczamy jako wartość średnią z wartości punktów tworzących grupę, a więc osobno liczymy wartość średnią dla 1 kolumny, i osobno – dla drugiej kolumny.

(28)

Średnia dla współrzędnej x (1 kolumny) będzie wyliczona jako: (2 + 3 + 3 + 4 )/4 = 12/4 = 3

Średnia dla współrzędnej y (2 kolumny) będzie wyliczona jako: (6 + 4 + 8 +7)/4 = 25/4 = 6.25

Zaś do skupienia drugiego, punkty:

6 2

6 4

7 3

7 4

7 6

8 5

Średnia dla współrzędnej x (1 kolumny) będzie wyliczona jako:

(6 + 6 +7 + 7 + 7 + 8 )/6 = 41/6 = 6,83

Średnia dla współrzędnej y (2 kolumny) będzie wyliczona jako:

(2 + 4 + 3 + 4 + 6 + 5)/6 = 24/6 = 4

(29)

3; 6,25

6,83; 4

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

(30)

A więc – co już zaznaczono kolorami – znów punkty 1,2,3,4 mają bliżej do środka K1A niż K2A, a punkty 5,6,7,8,9,10 bliżej do K2A niż K1A.

Skoro żaden z punktów nie zmienił grupy, czyli ta iteracja nie różni się niczym od poprzedniej, algorytm grupowania zostaje zakończony. Nie ma bowiem sensu liczyć nowych środków skupień i dalej sprawdzać przydział do grup, gdyż środki (zalążki) będą takie same !

d(punkt,k1A) d(punkt,k2A)

1 1.03 5.23

2 2.25 3.83

3 1.75 5.54

4 1.25 4.12

5 5.20 2.17

6 3.75 0.83

7 5.15 1.01

8 4.59 0.17

9 4.01 2.01

10 5.15 1.54

(31)

3; 6,25

6,83; 4

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

(32)

 zostanie przekroczona ustalona z góry maksymalna liczba iteracji (kroków),

lub

 nastąpi stabilizacja struktury klas.

Kryterium oceny jakości podziału serii obiektów na grupy jest tzw. funkcja podziału mająca zwykle postać sumy odległości euklidesowych obiektów od środków ciężkości właściwych im grup.

C p

m

c

p dist C

TD ( ) ( , )

Warunek końca procesu optymalizacji:

gdzie:

) , ( p m

c

dist to odległość euklidesowa danego punktu p od centrum grupy

(33)

 Zbiór obiektów opisanych atrybutami,

 Doprowadzenie do porównywalności atrybutów ( standaryzacja,normalizacja ),

 Wybór miary odległości ( odległość Euklidesowa, metryka Czebyszewa, odległość miejska, odległość potęgowa, i inne ).

Analiza skupień – popularne algorytmy

 algorytm k-means

 algorytm k-medoids

Tworzenie skupień – co jest potrzebne ?

(34)

Opcje wyboru wstępnych centrów skupień mogą być następujące:

 losowe przypisanie elementów do k zadeklarowanych skupień,

 Maksymalizacja odległości miedzy skupieniami,

 Obserwacje przy stałym interwale,

 Pierwsze k obserwacji

Liczba k – jak ją określić ?

(35)

 Inicjalizacja – wykonać wstępny podział obiektów na k – skupień (wybór k – wiele możliwości)

 Obiekty to punkty w d-wymiarowej przestrzeni wektorowej.

 Centroid 

c:

środek wszystkich punktów w skupieniu C

 Miara dopasowania do skupienia C:

 Miara dopasowania grupowania ogółem:

) ,..., ( x

1p

x

dp

p

2 2

) , ( )

( 

C p

m

c

p dist C

TD

k

i

C

i

TD TD

1

2

2

( )

ALGORYTM K-MEANS (K-ŚREDNICH) - [J. McQueen]

(36)

 Algorytm jest zbyt wrażliwy na tzw. obiekty odległe – outliers,

 Metoda k-medoids –zamiast tworzyć centroidy (średnie z odległości) – tworzy medoidy – te obiekty ze zbioru n, które w danym skupieniu są najbardziej centralne – tzn. ich odległość od wszystkich pozostałych w danym skupieniu jest najmniejsza.

 PAM (Partitioning Around Medoids) – algorytm grupowania metodą k-reprezentantów.

W czym tkwi problem z metodą k-średnich ?

(37)

Rozszerzenie idei algorytmu k-means (modyfikacja algorytmu k-means) Cel – znaleźć reprezentatywne obiekty dla skupień, zwane medoidami.

Punkty medoidalne są wymieniane z innymi, jeszcze nie wybranymi, tak aby polepszyć jakość grupowania.

Parametry:

Medoid m

c

: obiekt reprezentatywny w skupieniu C

Miara dopasowania do skupienia C:

Miara dopasowania grupowania ogółem:

C p

mc

p dist C

TD( ) ( , )

k

i

C

i

TD TD

1

) (

ALGORYTM K-MEDOIDS [Kaufman & Rousseeuw, 1990r.]

(38)

Przebieg algorytmu (5 kroków):

1. Wybrać k- obiektów reprezentatywnych (medoidów) 2. Dopasuj każdy z pozostałych (nie będących

medoidami) obiektów do najbardziej podobnych klastrów i oblicz TD

current

.

3. Dla każdej pary (medoid

M

, nie-medoid

N

) oblicz wartość TD

N

M.

4. Wybierz ten nie-medoid

N,

dla którego TD

N

M

jest minimalne

Jeśli TD

N

M

jest mniejsze niż:

Zamień N z M,

Ustaw TD

current

:= TD

N

M

wróć do kroku 2

5. Koniec.

(39)

Typowy przebieg PAM – metodą k-medoid’ów

K=2

Powtarzaj dopóki są jakieś zmiany

Oblicz Koszt zmiany

Losowo

wybierz jeden obiekt

Orandom Odgórnie wybierz

K obiektów jako początkowe

MEDOIDY

Przydziel Każdy z pozostałych obiektów do najbliższego

medoidu

Total cost=20

Total cost=26

Zamień obiekt bieżący z Orandom Jeśli to polepszy

jakość grup

(40)

Zalety:

 Dobrze sobie radzi z “ostańcami” (ang. outliers)– obiekty odległe, izolowane

 Początkowy wybór nie wpływa na wyniki

 Odporność na szum w danych Wady:

 Nie radzi sobie z dużymi zbiorami danych

 Wykonanie jest kosztowne dla dużych wartości n -obiektów i k - skupień.

Ocena metody k-medoids

(41)

Algorytm k-means

O (tnk)  O (nk) gdzie:

t – liczba iteracji k – liczba skupień n – liczba obiektów

Algorytm k-medoids

O(k(n-k)(n-k)) O (k(n-k)

2

)

Złożoność obliczeniowa:

(42)

 Algorytm k-medoids jest bardziej wytrzymały (odporny) na szumy i odległe obiekty,

 Algorytm k-means jest tańszy (bardziej efektywny) pod względem czasu przetwarzania,

 K-means jest zbyt wrażliwy na obiekty odległe (ang. outliers) – co może zniekształcać dane,

 Zatem zamiast brać średnią wartość - bierze się najbardziej centralny obiekt jako punkt odniesienia (medoid).

Porównanie obydwu metod:

(43)

Przebieg grupowania obiektów w ramach metod aglomeracyjnych odbywa się w następujących krokach:

1. Utwórz n klas zawierających pojedyncze obiekty.

2. Oblicz wartość pewniej miary podobieństwa (odległości) dla wszystkich par klas.

3. Połącz dwie klasy najbardziej podobne.

4. Jeśli wszystkie obiekty należą do jednej klasy,

to zakończ pracę. W przeciwnym przypadku przejdź

do kroku 2.

(44)

Algorytm grupowania:

1. Mając macierz D=[dij] (i,j = 1,2,...,n)

wyznaczamy element najmniejszy (szukamy pary skupień najmniej odległych od siebie):

dpq = min i,j {dij} (i,j = 1,2,...,n), p<q.

2. Skupienia Gp i Gq łączymy w jedno nowe skupienie, nadając mu numer Gp:= Gp Gq.

2. Z macierzy D usuwamy wiersz i kolumnę o numerach q oraz podstawiamy n:=n-1.

3. Wyznaczamy odległości dpj (j=1,2,...,n) utworzonego skupienia Gp od wszystkich pozostałych skupień, stosownie do wybranej metody. Wartości dpj wstawia się do macierzy D w miejsce p-tego wiersza (w miejsce p-tej kolumny wstawiamy

elementy djp).

4. Powtarza się kroki 1-4 aż do momentu, gdy wszystkie obiekty utworzą jedno skupienie (tzn. gdy n=1).

Po każdej iteracji mamy coraz mniej grup,

coraz mniejszą macierz odległości.

(45)

o

4

o

2

o

3

o

5

o

6

o

7

o

1

o

8

{o

1

,o

2

,o

3

,o

4

,o

5

,o

6

,o

7

,o

8

}

Rys. Przykład dendrogramu

(46)

Surowe dane: (przykład)

VAR 1 VAR 2

1 1 3

2 1 8

3 5 3

4 1 1

5 2 8

6 5 2

7 2 3

8 4 8

9 7 2

10 5 8

Docelowo:

568 reguł lub więcej,

Gdzie każda opisana jest różnym zbiorem atrybutów - maks.36.

Wartości atrybutów mogą być różnego typu:

ilościowe, jakościowe.

(47)

P_1 P_2 P_3 P_4 P_5 P_6 P_7 P_8 P_9 P_10 P_1 0 5,00 4,00 2,00 5,10 4,12 1,00 5,83 6,08 6,40 P_2 5,00 0 6,40 7,00 1,00 7,21 5,10 3,00 8,49 4,00 P_3 4,00 6,40 0 4,47 5,83 1,00 3,00 5,10 2,24 5,00 P_4 2,00 7,00 4,47 0 7,07 4,12 2,24 7,62 6,08 8,06 P_5 5,10 1,00 5,83 7,07 0 6,71 5,00 2,00 7,81 3,00 P_6 4,12 7,21 1,00 4,12 6,71 0 3,16 6,08 2,00 6,00 P_7 1,00 5,10 3,00 2,24 5,00 3,16 0 5,39 5,10 5,83 P_8 5,83 3,00 5,10 7,62 2,00 6,08 5,39 0 6,71 1,00 P_9 6,08 8,49 2,24 6,08 7,81 2,00 5,10 6,71 0 6,32 P_10 6,40 4,00 5,00 8,06 3,00 6,00 5,83 1,00 6,32 0

Macierz odległości euklidesowych (standaryzowanych)

(48)

P_1 P_2 P_3 P_4 P_5 P_6 P_7 P_8 P_9 P_10 P_1 0

P_2 5 0

P_3 4 6,4 0

P_4 2 7 4,47 0

P_5 5.1 1 5.83 7.07 0

P_6 4.12 7.21 1 4.12 6.71 0

P_7 1 5.1 3 2.24 5 3.16 0

P_8 5.83 3 5.1 7.62 2 6.08 5.39 0

P_9 6.08 8.49 2.24 6.08 7.81 2 5.1 6.71 0

P_10 6.4 4 5 8.06 3 6 5.83 1 6.32 0

Szukaj minimalnej odległości...

1 P_1

P_7 P_17

P_17

(49)

P_1 P_2 P_3 P_4 P_5 P_6 P_7 P_8 P_9 P_10 P_1 0

P_2 5 0

P_3 4 6,4 0

P_4 2 7 4,47 0

P_5 5.1 1 5.83 7.07 0

P_6 4.12 7.21 1 4.12 6.71 0

P_7 1 5.1 3 2.24 5 3.16 0

P_8 5.83 3 5.1 7.62 2 6.08 5.39 0

P_9 6.08 8.49 2.24 6.08 7.81 2 5.1 6.71 0

P_10 6.4 4 5 8.06 3 6 5.83 1 6.32 0

Szukaj minimalnej odległości...

1 P_1

P_7 P_17

P_17

(50)

P_1 P_2 P_3 P_4 P_5 P_6 P_7 P_8 P_9 P_10 P_1 0

P_2 5 0

P_3 4 6,4 0

P_4 2 7 4,47 0

P_5 5.1 1 5.83 7.07 0

P_6 4.12 7.21 1 4.12 6.71 0

P_7 1 5.1 3 2.24 5 3.16 0

P_8 5.83 3 5.1 7.62 2 6.08 5.39 0

P_9 6.08 8.49 2.24 6.08 7.81 2 5.1 6.71 0

P_10 6.4 4 5 8.06 3 6 5.83 1 6.32 0

Szukaj minimalnej odległości...

1 P_1

P_7 P_17

P_17

(51)

P_17 P_2 P_3 P_4 P_5 P_6 P_8 P_9 P_10 P_17 0

P_2 5 0

P_3 3 6,4 0

P_4 2 7 4,47 0

P_5 5 1 5.83 7.07 0

P_6 3.16 7.21 1 4.12 6.71 0

P_8 5.39 3 5.1 7.62 2 6.08 0

P_9 5.1 8.49 2.24 6.08 7.81 2 6.71 0

P_10 5.83 4 5 8.06 3 6 1 6.32 0

1

P_2

P_5

P_25

P_25

(52)

P_17 P_2 P_3 P_4 P_5 P_6 P_8 P_9 P_10 P_17 0

P_2 5 0

P_3 3 6,4 0

P_4 2 7 4,47 0

P_5 5 1 5.83 7.07 0

P_6 3.16 7.21 1 4.12 6.71 0

P_8 5.39 3 5.1 7.62 2 6.08 0

P_9 5.1 8.49 2.24 6.08 7.81 2 6.71 0

P_10 5.83 4 5 8.06 3 6 1 6.32 0

1

P_2

P_5

P_25

P_25

(53)

P_17 P_25 P_3 P_4 P_6 P_8 P_9 P_10 P_17 0

P_25 5 0

P_3 3 5,83 0

P_4 2 7 4,47 0

P_6 3.16 6.71 1 4.12 0

P_8 5.39 2 5.1 7.62 6.08 0

P_9 5.1 7.81 2.24 6.08 2 6.71 0

P_10 5.83 3 5 8.06 6 1 6.32 0

Szukaj minimalnej odległości...

1

P_3 P_6 P_36

P_36

(54)

P_17 P_25 P_3 P_4 P_6 P_8 P_9 P_10 P_17 0

P_25 5 0

P_3 3 5,83 0

P_4 2 7 4,47 0

P_6 3.16 6.71 1 4.12 0

P_8 5.39 2 5.1 7.62 6.08 0

P_9 5.1 7.81 2.24 6.08 2 6.71 0

P_10 5.83 3 5 8.06 6 1 6.32 0

Szukaj minimalnej odległości...

1

P_3 P_6 P_36

P_36

(55)

P_17 P_25 P_3 P_4 P_6 P_8 P_9 P_10 P_17 0

P_25 5 0

P_3 3 5,83 0

P_4 2 7 4,47 0

P_6 3.16 6.71 1 4.12 0

P_8 5.39 2 5.1 7.62 6.08 0

P_9 5.1 7.81 2.24 6.08 2 6.71 0

P_10 5.83 3 5 8.06 6 1 6.32 0

Szukaj minimalnej odległości...

1

P_3 P_6 P_36

P_36

(56)

4 iteracja

P_17 P_25 P_36 P_4 P_8 P_9 P_10 P_17 0

P_25 5 0

P_36 3 5,83 0

P_4 2 7 4,12 0

P_8 5.39 2 5.1 7.62 0

P_9 5.1 7.81 2 6.08 6.71 0 P_10 5.83 3 5 8.06 1 6.3

2 0

Szukaj minimalnej odległości...

1

P_8 P_10

P_810

P_810

(57)

4 iteracja

P_17 P_25 P_36 P_4 P_8 P_9 P_10 P_17 0

P_25 5 0

P_36 3 5,83 0

P_4 2 7 4,12 0

P_8 5.39 2 5.1 7.62 0

P_9 5.1 7.81 2 6.08 6.71 0 P_10 5.83 3 5 8.06 1 6.3

2 0

Szukaj minimalnej odległości...

1

P_8 P_10

P_810

P_810

(58)

4 iteracja

P_17 P_25 P_36 P_4 P_8 P_9 P_10 P_17 0

P_25 5 0

P_36 3 5,83 0

P_4 2 7 4,12 0

P_8 5.39 2 5.1 7.62 0

P_9 5.1 7.81 2 6.08 6.71 0 P_10 5.83 3 5 8.06 1 6.3

2 0

Szukaj minimalnej odległości...

1

P_8 P_10

P_810

P_810

(59)

5 iteracja

P_17 P_25 P_36 P_4 P_810 P_9 P_17 0

P_25 5 0

P_36 3 5,83 0

P_4 2 7 4,12 0

P_810 5.39 2 5 7.62 0

P_9 5.1 7.81 2 6.08 6.71 0

Szukaj minimalnej odległości...

2 P_17

P_4

P_174

P_174

(60)

5 iteracja

P_17 P_25 P_36 P_4 P_810 P_9 P_17 0

P_25 5 0

P_36 3 5,83 0

P_4 2 7 4,12 0

P_810 5.39 2 5 7.62 0

P_9 5.1 7.81 2 6.08 6.71 0

Szukaj minimalnej odległości...

2 P_17

P_4

P_174

P_174

(61)

5 iteracja

P_17 P_25 P_36 P_4 P_810 P_9 P_17 0

P_25 5 0

P_36 3 5,83 0

P_4 2 7 4,12 0

P_810 5.39 2 5 7.62 0

P_9 5.1 7.81 2 6.08 6.71 0

Szukaj minimalnej odległości...

2 P_17

P_4

P_174

P_174

(62)

6 iteracja

P_174 P_25 P_36 P_810 P_9 P_174 0

P_25 5 0

P_36 3 5,83 0

P_810 5.39 2 5 0

P_9 5.1 7.81 2 6.71 0

Szukaj minimalnej odległości...

P_810 2 P_25

P_25810

P_25810

(63)

6 iteracja

P_174 P_25 P_36 P_810 P_9 P_174 0

P_25 5 0

P_36 3 5,83 0

P_810 5.39 2 5 0

P_9 5.1 7.81 2 6.71 0

Szukaj minimalnej odległości...

P_810 2 P_25

P_25810

P_25810

(64)

6 iteracja

P_174 P_25 P_36 P_810 P_9 P_174 0

P_25 5 0

P_36 3 5,83 0

P_810 5.39 2 5 0

P_9 5.1 7.81 2 6.71 0

Szukaj minimalnej odległości...

P_810 2 P_25

P_25810

P_25810

(65)

7 iteracja

P_174 P_25810 P_36 P_9 P_174 0

P_25810 5 0

P_36 3 5 0

P_9 5.1 6.71 2 0

Szukaj minimalnej odległości...

2 P_9

P_36

P_369

P_369

(66)

7 iteracja

P_174 P_25810 P_36 P_9 P_174 0

P_25810 5 0

P_36 3 5 0

P_9 5.1 6.71 2 0

Szukaj minimalnej odległości...

2 P_9

P_36

P_369

P_369

(67)

7 iteracja

P_174 P_25810 P_36 P_9 P_174 0

P_25810 5 0

P_36 3 5 0

P_9 5.1 6.71 2 0

Szukaj minimalnej odległości...

2 P_9

P_36

P_369

P_369

(68)

8 iteracja

P_174 P_25810 P_369 P_174 0

P_25810 5 0

P_369 3 5 0

Szukaj minimalnej odległości...

3 P_369

P_174

P_174369

P_174369

(69)

8 iteracja

P_174 P_25810 P_369 P_174 0

P_25810 5 0

P_369 3 5 0

Szukaj minimalnej odległości...

3 P_369

P_174

P_174369

P_174369

(70)

8 iteracja

P_174 P_25810 P_369 P_174 0

P_25810 5 0

P_369 3 5 0

Szukaj minimalnej odległości...

3 P_369

P_174

P_174369

P_174369

(71)

9 iteracja

P_174 P_25810 P_369 P_174 0

P_25810 5 0

P_369 3 5 0

Szukaj minimalnej odległości...

3 P_369

P_174

P_174369

P_174369

9 iteracja

P_174369 P_25810 P_174369 0

P_25810 5 0

Szukaj minimalnej odległości...

(72)

9 iteracja

P_174 P_25810 P_369 P_174 0

P_25810 5 0

P_369 3 5 0

Szukaj minimalnej odległości...

3 P_369

P_174

P_174369

P_174369

9 iteracja

P_174369 P_25810 P_174369 0

P_25810 5 0

Szukaj minimalnej odległości...

Powstanie jedna grupa P_17436925810

9 iteracji algorytmu

(73)

9 iteracja

P_174 P_25810 P_369 P_174 0

P_25810 5 0

P_369 3 5 0

Szukaj minimalnej odległości...

3 P_369

P_174

P_174369

P_174369

9 iteracja

P_174369 P_25810 P_174369 0

P_25810 5 0

Szukaj minimalnej odległości...

Powstanie jedna grupa P_17436925810

9 iteracji algorytmu

(74)

9 iteracja

P_174 P_25810 P_369 P_174 0

P_25810 5 0

P_369 3 5 0

Szukaj minimalnej odległości...

3 P_369

P_174

P_174369

P_174369

9 iteracja

P_174369 P_25810 P_174369 0

P_25810 5 0

Szukaj minimalnej odległości...

Powstanie jedna grupa P_17436925810

9 iteracji algorytmu

(75)

Przebieg aglomeracji

•Pojedyncze wiązanie

•Odległości euklidesowe

Odległość Łączone obiekty:

1 P_1, P_7 1 P_2, P_5 1 P_3, P_6 1 P_8, P_10

2 P_1, P_7, P_4

2 P_2, P_5, P_8, P_10 2 P_3, P_6, P_9

3 P_1, P_7, P_4, P_3, P_6, P_9

5 P_1, P_7, P_4, P_3, P_6, P_9, P_2, P_5, P_8, P_10

(76)

Dendrogram

(77)

Metoda najbliższego sąsiedztwa

Metoda mediany

Metoda najdalszego sąsiedztwa

j i

j i

C q

C p

g p d c

c d

 ,

) , ( min

) ,

min (

j i

j i

C q

C p

g p d

c c d

 ,

) ,

( max

) ,

max (

) ,

( )

,

( i j i j

mean c c d m m

d

(78)

Metoda średniej grupowej

Metoda środka ciężkości

Metoda J.H. Warda

Odległości międzygrupowe...(c.d.)

(79)

Ogólna formuła wyznaczania odległości podczas łączenia skupień Gp i Gq w nowe skupienie dla hierarchicznych procedur grupowania to:

Wielkości

a

p

, a

q

,b,c

są parametrami przekształcenia charakterystycznymi dla różnych metod tworzenia skupień. Wartości tych parametrów są przedstawione w tabeli nr 1.

Metoda ap aq b c

Najbliższego sąsiedztwa 0,5 0,5 0 -0,5

Najdalszego sąsiedztwa 0,5 0,5 0 0,5

Mediany 0,5 0,5 -0,25 0

Średniej grupowej 0 0

Środka ciężkości 0

Warda 0

q p

p

n n

n

np qnq n

q p

p

n n

n

( p q)2

q p

n n

n n

 

q p i

p i

n n n

n n

q p

q

n n

n

q p i

q i

n n n

n n

q p i

i

n n n

n

 

qj pj

pq qj

q pj

p

pj a d a d bd c d d

d     

(80)
(81)
(82)
(83)
(84)
(85)
(86)
(87)
(88)
(89)

Single Linkage Complete linkage Average Linkage

(90)
(91)
(92)

k-means k-medoid AHC Złożoność

Obliczeniowa O(tkn) O(kn) Wady Wrażliwość na

obiekty odległe.

Wymagana liczba k- skupień

Wymaga podania

liczby k-skupień Wymaga podania warunku końca, np. współczynnika maksymalnej opłacalności

zalety Prosta struktura, stosunkowo mała

złożoność obliczeniowa

Bardziej efektywna niż k-

means bo szuka reprezentanów i

nie jest tak wrażliwa na obiekty odległe

Nie wymaga podania liczby grup, bardziej efektywna i

popularna O(k(n-k)2) Co najmniej O(n2)

HIERARCHICAL CLUSTERING - korzysta z macierzy odległości

- tworzy drzewo obiektów (dendrogram)

- nie wymaga podawania na wstępie liczby skupień Ale wymaga określenia warunku zakończenia algorytmu Wady AHC:

- duża złożoność obliczeniowa – co najmniej O(n2) -

Aglomeracyjne tworzenie skupień kontra inne metody

(93)
(94)
(95)
(96)
(97)
(98)
(99)

A: 450 relevant genes plus

450 “noise” genes. B: 450 relevant genes.

Simulated Data with 4 clusters: 1-10, 11-20, 21-30, 31-40

(100)
(101)
(102)
(103)

 Rattle

 R

 TraceIs

 MS Excel

(104)

 Krok 1: Załadowanie danych

(105)
(106)
(107)

K=3

(108)
(109)
(110)
(111)

K=2

(112)
(113)
(114)
(115)
(116)

K=3

(117)

Parametry:

x - rezultat.

data – dane wejściowe.

dimens – wymiary przestrzeni danych.

scale – wartość TRUE lub FALSE. Domyślnie „false” – oznacza ze wybrane wymiary nie mają być prezentowane w tej samej skali.

Wartość:

Możliwe są opcje: wartość BIC dla wybranej licby skupień. Jeśli dane są wielowymiarowe (>2)prezentowane są mieszaniny współrzędnych i prezentowane są parami – wszystkie kombinacje

plot.Mclust(x, data, dimens = c(1, 2), scale = FALSE, ...)

(118)

modelName – typ modelu:

"E" : equal variance (one-dimensional)

"V" : spherical, variable variance (one-dimensional)

"EII": spherical, equal volume

"VII": spherical, unequal volume

"EEE": ellipsoidal, equal volume, shape, and orientation

"VVV": ellipsoidal, varying volume, shape, and orientation

Data – dane (muszą być ilościowe)

Agglomerative hierarchical clustering based on maximum likelihood criteria for MVN mixture models parameterized by eigenvalue decomposition.

hc(modelName, data, ...)

(119)

G – liczba składowych dla których liczymy BIC

emModelNames:

"E" for spherical, equal variance (one-dimensional)

"V" for spherical, variable variance (one-dimensional)

"EII": spherical, equal volume

"VII": spherical, unequal volume

"EEI": diagonal, equal volume, equal shape

"VEI": diagonal, varying volume, equal shape

"EVI": diagonal, equal volume, varying shape

"VVI": diagonal, varying volume, varying shape

"EEE": ellipsoidal, equal volume, shape, and orientation

"EEV": ellipsoidal, equal volume and equal shape

"VEV": ellipsoidal, equal shape

"VVV": ellipsoidal, varying volume, shape, and orientation

hcPairs - A matrix of merge pairs for hierarchical clustering such as produced by function hc.

subset - A logical or numeric vector specifying the indices of a subset of the data to be used in the initial hierarchical clustering phase.

eps - A scalar tolerance for deciding when to terminate computations due to computational singularity in covariances. Smaller values of eps allow computations to proceed nearer to singularity. The default is .Mclust\$eps.

tol - A scalar tolerance for relative convergence of the loglikelihood. The default is .Mclust\$tol.

itmax - An integer limit on the number of EM iterations. The default is .Mclust\$itmax.

equalPro - Logical variable indicating whether or not the mixing proportions are equal in the model. The default is .Mclust\$equalPro.

warnSingular - A logical value indicating whether or not a warning should be issued whenever a singularity is encountered. The default is warnSingular=FALSE. ... Provided to allow lists with elements other than the arguments can be passed in indirect or list calls with do.call.

BIC for EM initialized by hierarchical clustering for parameterized Gaussian mixture models.

EMclust(data, G, emModelNames, hcPairs, subset, eps, tol,

itmax, equalPro, warnSingular, ...)

(120)

x data matrix or data frame, or dissimilarity matrix, depending on the value of the diss argument.

diss logical flag: if TRUE (default for dist or dissimilarity objects), then x is assumed to be a dissimilarity matrix. If FALSE, then x is treated as a matrix of observations by variables. metric character string specifying the metric to be used for calculating

dissimilarities between observations. The currently available options are "euclidean" and

"manhattan". Euclidean distances are root sum-of-squares of differences, and

manhattan distances are the sum of absolute differences. If x is already a dissimilarity matrix, then this argument will be ignored. stand logical flag: if TRUE, then the

measurements in x are standardized before calculating the dissimilarities.

Measurements are standardized for each variable (column), by subtracting the variable's mean value and dividing by the variable's mean absolute deviation. If x is already a

dissimilarity matrix, then this argument will be ignored. method character string defining the clustering method.

The six methods implemented are "average" ([unweighted pair-]group average method, UPGMA), "single" (single linkage), "complete" (complete linkage), "ward" (Ward's method),

"weighted" (weighted average linkage) and its generalization "flexible" which uses (a constant version of) the Lance-Williams formula and the par.method argument. Default is "average".

agnes(x, diss = inherits(x, "dist"), metric = "euclidean", stand = FALSE, method = "average", par.method, keep.diss = n

< 100, keep.data = !diss)

(121)

stand - logical, indicating if the measurements in x are standardized before calculating the dissimilarities. Measurements are standardized for each variable (column), by

subtracting the variable's mean value and dividing by the variable's mean absolute deviation. samples integer, number of samples to be drawn from the dataset.

sampsize - integer, number of observations in each sample. sampsize should be higher than the number of clusters (k) and at most the number of observations (n = nrow(x)).

trace integer indicating a trace level for diagnostic output during the algorithm.

medoids.x logical indicating if the medoids should be returned, identically to some rows of the input data x. If FALSE, keep.data must be false as well, and the medoid indices, i.e., row numbers of the medoids will still be returned (i.med component), and the algorithm saves space by needing one copy less of x.

keep.data logical indicating if the (scaled if stand is true) data should be kept in the

result. Setting this to FALSE saves memory (and hence time), but disables clusplot()ing of the result. Use medoids.x = FALSE to save even more memory. rngR logical indicating if R's random number generator should be used instead of the primitive clara()-builtin one. If true, this also means that each call to clara() returns a different result – though only slightly different in good situations.

clara(x, k, metric = "euclidean", stand = FALSE, samples

= 5, sampsize = min(n, 40 + 2 * k), trace = 0, medoids.x

= TRUE, keep.data = medoids.x, rngR = FALSE)

(122)

diss logical flag: if TRUE (default for dist or dissimilarity objects), then x will be

considered as a dissimilarity matrix. If FALSE, then x will be considered as a matrix of observations by variables

stand logical; if true, the measurements in x are standardized before calculating the dissimilarities. Measurements are standardized for each variable (column), by

subtracting the variable's mean value and dividing by the variable's mean absolute deviation. If x is already a dissimilarity matrix, then this argument will be ignored.

keep.data logicals indicating if the dissimilarities and/or input data x should be kept in the result. Setting these to FALSE can give much smaller results and hence even save memory allocation time. Details

diana(x, diss = inherits(x, "dist"), metric =

"euclidean", stand = FALSE, keep.diss = n < 100,

keep.data = !diss)

(123)

x data matrix or data frame, or dissimilarity matrix, depending on the value of the diss argument.

In case of a matrix or data frame, each row corresponds to an observation, and each column corresponds to a variable. All variables must be numeric. Missing values (NAs) are allowed.

In case of a dissimilarity matrix, x is typically the output of daisy or dist. Also a vector of length n*(n-1)/2 is allowed (where n is the number of observations), and will be interpreted in the same way as the output of the above-mentioned functions. Missing values (NAs) are not allowed.

k integer giving the desired number of clusters. It is required that 0 < k < n/2 where n is the number of observations.

diss logical flag: if TRUE (default for dist or dissimilarity objects

memb.exp number r strictly larger than 1 specifying the membership exponent used in the fit criterion; see the

‘Details’ below. Default: 2 which used to be hardwired inside FANNY. metric character string specifying the metric to be used for calculating dissimilarities between observations. Options are "euclidean" (default), "manhattan", and

"SqEuclidean". Euclidean distances are root sum-of-squares of differences, and manhattan distances are the sum of absolute differences, and "SqEuclidean", the squared euclidean distances are sum-of-squares of differences. Using this last option is equivalent (but somewhat slower) to computing so called “fuzzy C-means”.

iniMem.p numeric n * k matrix or NULL (by default); can be used to specify a starting membership matrix

maxit, tol maximal number of iterations and default tolerance for convergence (relative convergence of the fit criterion) for the FANNY algorithm

fanny(x, k, diss = inherits(x, "dist"), memb.exp = 2, metric =

c("euclidean", "manhattan", "SqEuclidean"), stand = FALSE, iniMem.p = NULL, cluster.only = FALSE, keep.diss = !diss && !cluster.only && n <

100, keep.data = !diss && !cluster.only, maxit = 500, tol = 1e-15, trace.lev = 0)

Cytaty

Powiązane dokumenty

So if the tape contents is abrakadabra, with machine scanning the letter d (at position 6) in state q, we represent it as the quadruple hakarba, q, dabra,

It is proved that a doubly stochastic operator P is weakly asymptotically cyclic if it almost overlaps supports1. If moreover P is Frobenius–Perron or Harris then it is

In 2016, Geiß, Leclerc and Schr¨ oer introduced, for any field K and every Cartan datum (C, D, Ω), a finite dimensional 1-Gorenstein K- algebra H = H(C, D, Ω) defined by a quiver

Note that the finite dimensional path algebras of quivers form a subclass of the class of hereditary finite dimensional K-algebras.. Using species and modulated graphs, Dlab and

[r]

(a) Write the following statements in symbolic logic form (i) “If the sun is shining then I will walk to school.”.. (ii) “If I do not walk to school then the sun is

A general discussion for balanced domains of holomorphy (like the above for n-circled domains) is still lacking.... Proof of

She is pleased to thank the Department of Mathematics of Wesleyan University for generous hospitality during the spring semester of 1992.. The second author is pleased to thank