Top Banner
Vytˇ zov´ an´ ı Dat redn´ ska 4 – Shlukov´ a anal´ yza Miroslav ˇ Cepek Katedra poˇ ıtaˇ u, Computational Intelligence Group Evropsk´ y soci´ aln´ ı fond Praha & EU: Investujeme do vaˇ ı budoucnosti 14.10.2014 Miroslav ˇ Cepek ( ˇ CVUT) Shlukov´ a anal´ yza 14.10.2014 1 / 38
34

Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Jan 30, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Vytezovanı DatPrednaska 4 – Shlukova analyza

Miroslav Cepek

Katedra pocıtacu, Computational Intelligence Group

Evropsky socialnı fond Praha & EU:Investujeme do vası budoucnosti

14.10.2014

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 1 / 38

Page 2: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Co to je shlukova analyza

Je jednou ze zakladnıch uloh vytezovanı dat.

Jde o trıdenı objektu do skupin podle jejich vlastnostı.I Tak aby si objekty ve skupinach byly ”nejak”podobne.I A zaroven nebyly podobne objektum v jinych skupinach.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 2 / 38

Page 3: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 3 / 38

Page 4: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Co to je shlukova analyza (II)

V principu jde o optimalizacnı problem.

Co se musı optimalizovat?I Pocet shluku (skupin).I Prirazenı instancı do shluku.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 4 / 38

Page 5: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Jak zjistit, ze jsou si dva vzory podobne?

To je obecne velmi slozita otazka.

Shlukovou analyzu provadı hlavne pocıtace, obvykle je zavedenıcıselne vzdalenostnı funkce:

I d : X × X → R,I kde X je prostor instancı,I vzdalenost je neprımo umerna podobnosti.

Pri splnenı nekolika podmınek mluvıme o (vzdalenostnı) metrice:I d(x, y) ≥ 0I d(x, y) = d(y, x)I d(x, y) = 0⇔ x = yI d(x, y) + d(y, z) ≥ d(x, y)

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 5 / 38

Page 6: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Metriky

Jake znate metriky?I Eukleidovska metrikaI Manhattanska metrikaI Kosinova metrika

Prıklady dalsıch metrikI Editacnı vzdalenost (vzdalenost dvou slov = pocet zmen, kterymi muzu

zmenit jedno slovo na druhe)I Grafova metrika (pocet hran, ktere musım v grafu projıt, abych se

dostal z jednoho uzlu do druheho)I http://en.wikipedia.org/wiki/Metric_space

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 6 / 38

Page 7: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Eukleidovska metrika

Nejprirozenejsı metrika, protoze se s nı bezne setkavame.

Jak zmerıme vzdalenost dvou bodu na tabuli?

Pravıtkem :)!

A kdyz zname souradnice, muzeme ji spocıtat. Jak?

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 7 / 38

Page 8: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Eukleidovska metrika (II)

Pythagorova veta! c =√a2 + b2

A Pythagorovu vetu muzeme zobecnit pro Rn

x = (x1, x2, . . . , xn),y = (y1, y2, . . . , yn)

d(x,y) =

√√√√ n∑i=1

(xi − yi)2

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 8 / 38

Page 9: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Manhattanska metrika (City-block distance)

Zakladnı myslenka: Kolik bloku ve meste musım obejıt, abych sedostal z jednoho mısta na druhe?

Nebo take – kolik tahu kralem musım udelat abych se dostal zjednoho mısta sachovnice na druhe?

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 9 / 38

Page 10: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Manhattanska metrika (City-block distance) (II)

Pokud znam souradnice, vzdalenost spocıtam takto:

d(x,y) = |x1 − y1|+ |x2 − y2|+ . . .+ |xn − yn|

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 10 / 38

Page 11: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Kosinova vzdalenost

Vzdalenost dvou vektoru delky n odpovıda uhlu, ktery svırajı:

similarity(x,y) =

∑ni=1(xiyi)√∑n

i=1(x2i )∑n

i=1(y2i )

Oborem hodnot teto funkce je interval 〈−1,+1〉.-1 znamena uplny opak, 0 nezavislost a +1 naprostou shodu.

Prevod na vzdalenost:

d(x,y) = 1− similarity(x,y)

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 11 / 38

Page 12: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Shlukovanı pomocı KMeans

Jednotlive shluky budou zastoupeny jednım reprezentantem.I Ten ponese vlastnosti typicke pro danou skupinu/shluk.

I kazda instance (vzor) bude zastoupena jednım reprezentantem.I Tım, ktery je jı nejpodobnejsı.I Jinymi slovy tım, ktery jı bude nejblız (v dane metrice).

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 12 / 38

Page 13: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 13 / 38

Page 14: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Algoritmus KMeans – znacenı

Mame mnozinu N vstupnıch vzoru/instancı (vektoru) xi, i ∈ 1 . . . N .Jednotlive slozky vektoru budeme oznacovat xi(s), , s ∈ 1 . . . n.

A mame mnozinu K reprezentantu, vektoru ckt. Kde k ∈ 1 . . .K je

index reprezentanta, t je cıslo iteracnıho kroku, ctk(s) je jednou z jehoslozek.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 14 / 38

Page 15: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Shlukovanı pomocı KMeans

Jak urcit, kde je spravne mısto pro reprezentanty shluku?I Vzdalenost mezi instancemi a jejich reprezentanty musı byt co

nejmensı.I Lze formulovat jako optimalizacnı problem:

arg minc1...cK

N∑i=1

minkd2(xi, ck)

I Jako d volıme euklidovskou vzdalenost.I Jeden z nejjednodussıch postupu je iteracnı.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 15 / 38

Page 16: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Algoritmus KMeans

1 Nastav reprezentanty ck0 do nahodnych pocatecnıch bodu.

2 Najdi a prirad’ kazde instanci jejıho nejblizsıho reprezentanta.I ∀xi najdi k tak, aby ∀j d(xi, ck

t) ≤ d(xi, cjt),

I pro kazde ckt vytvor mnozinu nearesttk instancı, ke kterym je nejblız.

3 Presun reprezentanta tak, aby lezel “uprostred” sve mnozinynejblizsıch instancı.

I ct+1k (s) = 1

‖nearesttk‖∑xi∈nearesttk

xi(s)

4 Pokud se zmenila poloha alespon jednoho stredu, vrat’ se na bod 2.Jinak skonci.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 16 / 38

Page 17: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Ilustrace KMeans (V)

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 17 / 38

Page 18: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Pohadka o Algoritmu KMeans :)

Once there was a land with N houses.

One day K kings arrived to this land.

Each house was taken by the nearest king.

But the community wanted their king to be at the center of thevillage, so the throne was moved there

Then the kings realized that some houses were closer to them now, sothey took those houses, but they lost some. This went on and on...(2-3-4)

Until one day they couldn’t move anymore, so they settled down andlived happily ever after in their village...

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 18 / 38

Page 19: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

KMeans jako varianta EM algoritmu

Lze najıt analogii mezi KMeans a drıvejsı latkou kurzu?

Ano, rada spolecnych znaku s EM algoritmem:I Skryta promenna = prirazenı instancı ke shlukum.I E-krok = pro dane stredy shluku urci rozdelenı instancı do shluku.I M-krok = pro dane rozdelenı instancı odhadni nove stredy shluku.

Odlisnosti od EM:I Nepracuje s verohodnostı (lze ale ukazat, ze minimalizace vzdalenosti

ke stredum je analogiı).I Uvazuje ostre (hard) prirazenı ke shlukum, nikoli pravdepodobnostnı.

Zaver: KMeans lze povazovat za prıklad hard EM algoritmu.

Existuje i klasicka aplikace EM pro shlukovanı, model je smesıgaussovskych rozdelenı.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 19 / 38

Page 20: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Vlastnosti KMeans algoritmu

Muze se KMeans zacyklit? NE

Dopadne shlukovanı pomocı KMeans pokazde stejne? NE

Jak urcit spravny pocet stredu (shluku)? heuristicky

Jak vyhodnotit jestli shlukovanı dopadlo dobre a jestli jsme zvoliliprimerene K? viz dale

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 20 / 38

Page 21: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Vyhodnocenı rozkladu z KMeans algoritmu

Jednou z moznych metod je tzv. silueta.

Silueta pro kazdou vstupnı instanci spocıta jistotu zarazenı instancedo daneho shluku:

s(xk) =b(xk)− a(xk)

max(a(xk), b(xk))

I a(xk) je prumerna vzdalenost xk od ostatnıch instancı shluku, kekteremu je prirazena.

I b(xk) je prumerna vzdalenost xk od instancı v nejblizsım dalsım shluku.I Vysledne hodnoty jsou mezi -1 (xk do shluku uplne nepatrı) a +1

(uplne patrı)

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 21 / 38

Page 22: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Vyhodnocenı rozkladu z KMeans algoritmu (II)

Pokud vypocıtate siluetu pro vsechny instance a vykreslıte ji do grafu,muzete si udelat predstavu, jak shlukovanı dopadlo.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 22 / 38

Page 23: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Ukazka Siluety – shluky Kosatcu

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 23 / 38

Page 24: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Vyhodnocenı rozkladu z KMeans algoritmu (III)

Ktere shlukovanı dopadlo lepe?

Co treba prumerna silueta pres vsechny instance (idealne prestestovacı data)?

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 24 / 38

Page 25: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Stabilita shluku

Jak overit, ze shluky nejsou nahodile a odpovıdajı prirozenym trıdam?

Budeme zkoumat stabilitu rozkladu do shluku.

von Luxburg: Clustering stability: an overview

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 25 / 38

Page 26: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Stabilita shluku

Jak vypocıtame stabilitu rozkladu do shluku?I opakovane vzorkovanı bez opakovanı →M podmnozin dat,I spustıme shlukovanı na kazde podmnozine dat,I pro vsechny dvojice rozkladu C a C′ spocıtame vzajemnou vzdalenost

d(C, C′) = minπ

1

N

N∑i=1

1{C(xi)6=π(C′(xi))}

π jsou permutace oznacenı shluku v C′,dopredu nenı jasne, ktere dvojice shluku z C a C′ k sobe patrı,

I urcıme nestabilitu M vzniklych rozkladu(obvykle jako prumernou vzdalenost pres vsechny dvojice rozkladu),

I volıme algoritmus nebo nastavenı parametru s nejvyssı stabilitou.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 26 / 38

Page 27: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Interpretace shluku

Mam shluky, co s nimi dal?I Jake skupiny objektu jednotlive shluky reprezentujı?I Jake jsou jejich typicke vlastnosti? Muzeme je strucne anotovat?I Co rıkajı pozice centroidu?I Generalizujı shluky vzhledem k dalsım prıznakum nepouzitym pro

shlukovanı?

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 27 / 38

Page 28: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Hierarchicke shlukovanı – uvod

KMeans, jak jsme videli, ma nektere mouchy.I Kolik je v datech shluku?I Zavislost vysledku na pocatecnıch podmınkach.I Uprednostnuje kulovity tvar shluku.

Slo by shlukovanı delat i jinak?

Slo :). Jednou z moznostı je Hierarchicke shlukovanı.I Zakladnı myslenka je, ze vytvorıme hierarchii shluku.I Lze postupovat zdola nahoru nebo shora dolu.I V prvnım prıpade vzdy spojıme dva nejpodobnejsı shluky do jednoho

vetsıho.I Pokracujeme dokud nevytvorıme jediny shluk se vsemi objekty.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 28 / 38

Page 29: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Aglomerativnı hierarchicke shlukovanı

1 Zacne ze stavu, kdy kazda instance je jednım shlukem.

2 Najdi dva nejblizsı shluky.

3 Spoj je do jednoho.

4 Zustavajı nejake shluky, ktere lze spojit? Pokud ano, vrat’ se na bod 2.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 29 / 38

Page 30: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Nejblizsı shluky

Jak zjistım vzdalenost dvou shluku?

Dokud shluky obsahujı jen jednu instanci, je urcenı vzdalenostijednoduche. Ale pak?

I d : X × X → R zobecnıme na δ : 2X × 2X → RVzdalenost shluku je urcena

I Nejblizsı sousede – vzdalenostı nejblizsıch instancı ve shluku.I Nejvzdalenejsı sousede – vzdalenostı nejvzdalenejsıch instancı ve shluku.I Vzdalenost stredu – vzdalenostı center (stredu) shluku.I Prumerna vzdalenost – prumerna vzdalenost mezi vsemi instancemi v

obo shlucıch

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 30 / 38

Page 31: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Vzdalenost shluku – ilustrace

Nejkratsı vzdalenost Prumerna vzdalenost

Nejvetsı vzdalenost Vzdalenost mezi reprezentanty

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 31 / 38

Page 32: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Dendrogram

Vizualizacı postupu shlukovanı zıskame strom – dendrogram.Jak nalezneme konkretnı rozklad do shluku?

I Rezem dendrogramu na dane vysce.I Jak volıme pocet shluku? Lze prihlednout k vysce vetvı.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 32 / 38

Page 33: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Vyhodnocenı hierarchickeho shlukovanı

Muzeme opet pouzıt siluetu, stejne jako u KMeans.

Jinou moznostı je CPCC (Cophenetic Correlation Coefficient).I CPCC je normovana kovariance vzdalenostı v puvodnım prostoru a v

dendrogramu.I Pokud je hodnota CPCC mensı nez cca 0.8, vsechny instance patrı do

jedineho velkeho shluku.I Obecne platı, ze cım vyssı je kofeneticky koeficient korelace, tım nizsı

je ztrata informacı, vznikajıcı v procesu slucovanı objektu do shluku.

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 33 / 38

Page 34: Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza...Vyt e zov an Dat P redn a ska 4 { Shlukov a anal yza Miroslav Cepek Katedra po c ta c u, Computational Intelligence Group Evropsk

Dalsı informace a zdroje

http://cmp.felk.cvut.cz/cmp/courses/recognition/zapis_

prednasky/zapis_02/13/shlukovani.pdf

Jain et al.: Data Clustering: A Review. ACM Computing Surveys.

Prıklady ukazkovych KMeans apletu/aplikacı:I http://home.dei.polimi.it/matteucc/Clustering/tutorial_

html/AppletKM.html

Miroslav Cepek (CVUT) Shlukova analyza 14.10.2014 34 / 38