Klastrování - III
Klastrování - III obsah shlukování založené na teorii grafů shlukování založené na optimalizaci ceny cluster validity
Klastrování založené na teorii grafů vyjdeme z dřívější metody: „vzory padnou do stejného shluku, když jejich vzdálenost je menší než d0“ tuto metodu zobecníme na libovolnou míru podobnosti „xi je podobný xj když s(xi, xj) > s0“ matice podobnosti S = (sij) sij = 1 pro s(xi, xj) > s0 sij = 0 jinak graf podobnosti uzly .... body hrana mezi uzlem i a j ... když sij=1
Algoritmus jednoduchého a úplného propojení algoritmus jednoduchého propojení x a x’ jsou ve stejném shluku, když existuje posloupnost x,x1,...,xk,x’ taková, že každé dva po sobě jdoucí vzory jsou podobné => shlukování odpovídá spojeným komponentám v grafu algoritmus úplného propojení všechny vzory v témže shluku musí být navzájem podobné => shlukování odpovídá nalezení maximálních úplných podgrafů
Algoritmus odstraňující nekonzistentní hrany příklad dělícího hierarchického shlukování Krok 1 vyjdeme z algoritmu nejbližšího souseda, který najde minimální kostru pro dané vzory => všechna data jsou v jediném shluku Krok 2 postupně hledáme nekonzistentní hrany a ty z kostry odstraňujeme najdeme nejdelší hranu kostry a tu odstraníme => graf se nám rozpadne na 2 části .... 2 shluky v nově vzniklém grafu najdeme opět nejdelší hranu a tu odstraníme .... 3 shluky proces opakujeme, dokud nedostaneme požadovaný počet shluků
Algoritmus odstraňující nekonzistentní hrany – jiná verze jiná verze algoritmu z kostry grafu postupně odstraňujeme ty hrany, jejichž délka je výrazně větší než průměr ostatních hran, které s touto hranou incidují vlevo původní data uprostřed minimální kostra odstraníme nekonzistentní hrany, kde l > 2l’ dostaneme 3 shluky, které odpovídají „přirozeným shlukům“
Histogram délek hran užitečná statistika, kterou lze získat z minimální kostry grafu př. data jsou rozmístěna v řídkých shlucích najdeme minimální kostru uděláme histogram délek hran v kostře odstraníme všechny hrany kostry, které jsou dělší než průměrná délka (červené hrany) => objeví se 2 přirozené shluky
Klastrování založené na optimalizaci ceny metody podobné iterativní optimalizaci iterativní optimalizace garantovala jen lokální optimalizaci nejpoužívanější metody simulované žíhání globální optimalizační metoda deterministické žíhání hybridní metoda, která kombinuje výhody simulovaného žíhání a deterministického shlukování .....
Simulované žíhání globální optimalizační metoda navržena Kirkpatrickem 1983 idea: většina algoritmů dovolí změnu parametrů jen ve směru, který sníží celkovou cenu (kriteriální funkci) simulované žíhání dovolí navíc i dočasné zvýšení ceny => je šance „vyskočit ven“ z oblastí lokálního minima a dosáhnout minima globálního algoritmus pracuje s teplotní konstantou T na začátku učení je teplota T nastavena na velkou hodnotu Tmax během učení teplota postupně klesá až na cílovou hodnotu Tmin
Simulované žíhání - algoritmus 1. begin inicializace T←Tmax, C←Cinit, t←0 2. do 3. t←t+1 4. do 5. spočti J(C) 6. vytvoř nové rozdělení C’ tak, že náhodně vybraný vzor bude přesunut do jiného shluku 7. spočti J(C’) 8. ∆J = J(C’)- J(C) 9. if (∆J < 0) then 10. C = C’ 11. else 12. C = C’ s pravděpodobností P(∆J) = e-∆J/T 13. until není dosažen stabilní stav pro danou hodnotu teploty T 14. T = f(Tmax,t) 15. until T nedosáhne předdefinované hodnoty Tmin 16. return C 17. end počáteční rozdělení vzorů do shluků pokles teploty T
Simulované žíhání – poznámky pokud je teplota T velká pro T → ∞ .... P(∆J) ≈ 1 => je možný libovolný přesun vzorů mezi shluky pokud je teplota T malá pro T → 0 .... P(∆J) ≈ 0 => je možný přesun vzorů mezi shluky, kdy dojde ke snížení ceny a jen zřídka je možné přesunout vzor tak, že dojde ke zvýšení ceny složité nalezení rovnovážného stavu heuristika ... rovnovážný stav nastane, když u k náhodně vybraných vzorů nedojde k přesunutí do jiného shluku k bývá v řádu několika tisíců klíčový je pokles teploty T dokázáno: když T = Tmax/ln(1+t), pak algoritmus konverguje do globálního minima s pravděpodobností 1 konvergence je velmi pomalá
Deterministické žíhání hybridní metoda, která kombinuje deterministické shlukování a simulované žíhání simulované žíhání následné rozdělení je získáno náhodnou změnou z předchozího rozdělení deterministické žíhání nemá žádné náhodné změny místo teploty se uvažuje parametr β = 1 / T ... během učení roste vstup: množina c shluků určená reprezentanty w1,...,wc výstup: umístit reprezentanty do takové polohy, aby celková cena byla minimální
Deterministické žíhání funkce ceny J: funkci J zderivujeme podle wr a derivaci položíme rovnou 0: výraz v závorce je z intervalu <0,1> a lze jej chápat jako pravděpodobnost Pir Pir je pravděpodobnost, že xi patří do r-tého shluku výraz lze zapsat jako:
Deterministické žíhání d(x,w) je konvexní funkce => ∑ d(x,w) je konvexní funkce => má jedno globální minimum => toto globální minimum lze najít pomocí gradientní metody výslední reprezentanti odpovídají globálnímu minimu to nastane, když všechna data leží v jediném shluku zvyšujeme parametr β s rostoucím β dosáhneme kritické hodnoty a dojde k „fázi přechodu“ shluky již nejsou optimální na to, aby byly reprezentovány jediným reprezentantem => reprezentant je rozdělen další zvýšení β způsobí další „fázi přechodu“ a příslušní reprezentanti jsou rozděleny c volíme tak, aby bylo větší než skutečný počet shluků zajistíme schopnost algoritmu přesně reprezentovat data v nejhorším případě se budou někteří reprezentanti překrývat
Deterministické žíhání rostoucí β Pij přechází z rovnoměrného rozdělení do „shlukovacího módu“ „shlukovací mód“ pro každý vzor xi: Pir ≈ 1 pro nějaké r Pij ≈ 0 pro j ≠ r simulace ukázaly dobrou činnost algoritmu ale obecně není zaručeno dosažení globálního minima
Cluster validity většina metod předpokládala, že je znám výsledný počet shluků když ale nevíme nic o datech, pak tyto metody nelze dobře použít řešení opakovat shlukovací metody pro c=1, c=2, ... a pozorovat hodnoty kriteriální funkce př. kriteriální funkce Je když n vzorů padne do c’ kompaktních a dobře oddělených shluků => očekáváme, že kriteriální funkce bude výrazně klesat dokud c = c’ pak bude kriteriální funkce klesat již velice pomalu než dosáhne 0 pro c = n př. podobně lze postupovat i při hierarchickém shlukování předpokládáme, že bude větší nesourodost v těch úrovních, kde sloučení shluků indikuje přítomnost přirozených shluků
Cluster validity obecně: obecný postup: problémy: definujeme míru J(c), která popíše „jak dobře c shluků reprezentuje data“ např. χ2 statistika nebo Kolmogorov-Smirnovova statistika, ... obecný postup: použijeme nulovou hypotézu, že v datech je přítomno c shluků spočteme hustotu vzorů pro J(c+1) za této hypotézy spočtené rozdělení nám řekne, jaké vylepšení lze očekávat, když popis dat pomocí c shluků je správný tedy když zjištěná hodnota J(c+1) padne do intervalu spolehlivosti pro danou hypotézu problémy: je velmi složité udělat něco víc, než hrubě odhadnout hustotu rozdělení J(c+1) nicméně je lepší mít alespoň nepřesný odhad než žádný problém statistického testování cluster-validity je stále nevyřešen