Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Klastrování - II. obsah –hierarchické shlukování algoritmus nejbližšího souseda algoritmus nejvzdálenějšího souseda krokově optimální hierarchické shlukování.

Podobné prezentace


Prezentace na téma: "Klastrování - II. obsah –hierarchické shlukování algoritmus nejbližšího souseda algoritmus nejvzdálenějšího souseda krokově optimální hierarchické shlukování."— Transkript prezentace:

1 Klastrování - II

2 obsah –hierarchické shlukování algoritmus nejbližšího souseda algoritmus nejvzdálenějšího souseda krokově optimální hierarchické shlukování –sekvenční algoritmus k-středů –online algoritmy kompetiční učení shlukovací algoritmus „předchůdce-následník“ adaptivní rezonance učení s kritikou

3 doposud: –zatím jsme vytvořili jen disjunktní shluky.... plochý popis dat v praxi: –shluky jsou tvořeny podshluky a ty jsou opět tvořeny podshluky,.... hierarchické klastrování –uvažujme posloupnost rozdělení n vzorů do c shluků: 1) nejprve rozdělíme n vzorů do n shluků a tedy každý vzor bude mít svůj vlastní shluk 2) v následujícím dělení bude do n-1 shluků..... n) všechny shluky padnou do jediného shluku => na úrovni k rozdělujeme do c = n – k + 1 shluků –když dva libovolné vzory x a x’ jsou na úrovni k seskupeny do jednoho shluku, pak na všech dalších úrovních již zůstanou seskupeny Hierarchické klastrování

4 reprezentace hierarchického klastrování –množiny na každé úrovni shluky mohou obsahovat množiny, které jsou podshluky –dendogram – dendogram –na úrovni k=1 má každý vzor svůj shluk –pro k=2 došlo k seskupení x 6 a x 7 –vpravo je zobrazena stupnice, která měří míru podobnosti mezi shluky např. pro k=5 je podobnost shluků 60 Hierarchické klastrování

5 metody hierarchického klastrování –v praxi se ukazuje, že tyto metody jsou jedny z nejlepších (díky své jednoduchosti) typy hierarchického klastrování –shlukující metody zdola nahoru začíná s n shluky, které obsahují jediný vzor postupně jsou shluky spojovány do větších shluků –dělící metody shora dolů začíná s jediným shlukem, který obsahuje všechny vzory postupně jsou shluky děleny na menší shluky Hierarchické klastrování

6 základní algoritmus shlukujícího klastrování –c je požadovaný počet výsledných shluků 1. begin initialize c, c’←n, D i ←{x i } i=1,...,n 2. do c’←c’+1 3. najdeme nejbližší shluky D i a D j 4. sloučíme shluky D i a D j 5. until c=c’ 6. return c shluků 7. end procedura skončí, když je dosaženo požadovaného počtu shluků –když c=1, dostaneme dendogram složitost –O(cn 2 d) a typicky n>>c zbývá určit, jak budeme měřit vzdálenost mezi shluky –a tedy jak najdeme dva nejbližší shluky Shlukující hierarchické algoritmy

7 příklad shlukujícího hierarchického klastrování k měření vzdálenosti mezi shluky použijeme funkci d min (∙, ∙) algoritmus jednoduchého propojení (single linkage alg.) –navíc přidáme ukončující podmínku algoritmu algoritmus končí v okamžiku, kdy vzdálenost mezi nejbližšími shluky je větší než daný práh –zavedeme graf vzory představují uzly grafu hrany tvoří cesty mezi uzly v daném shluku –když použijeme funkci d min (∙, ∙) jako vzdálenost mezi shluky => nejbližší shluky jsou určeny dvojicí nejbližších uzlů –sloučení shluků D i a D j odpovídá přidání hrany mezi nejbližším párem uzlů v D i a D j –hrany spojující shluky jdou vždy mezi rozdílními shluky => výsledný graf neobsahuje cykly => algoritmus vytvoří strom kdybychom nechali algoritmus běžet dokud nejsou všechny shluky spojeny => dostaneme minimální kostru grafu Algoritmus nejbližšího souseda

8 příklad –testovací vzory (červené a černé body) byly vygenerovány podle dvou normálních rozdělení vlevo –na data byl použit shlukující algoritmus nejbližšího souseda, který dobře aproximoval normální rozdělení –navíc byly vytvořeny 3 shluky, které obsahovaly po jediném vzoru Algoritmus nejbližšího souseda - příklad vpravo –k vygenerovaným vzorům přidáme další nový bod a algoritmus byl zopakován –vznikl most mezi velkými shluky tedy velké shluky byly spojeny –nedošlo k dobré aproximaci normálních rozdělení => algoritmus je citlivý na šum a změny v poloze bodů

9 příklad shlukujícího hierarchického shlukování k měření vzdálenosti mezi shluky použijeme funkci d max (∙, ∙) algoritmus úplného propojení (complete linkage alg.) –navíc přidáme ukončující podmínku algoritmu algoritmus končí v okamžiku, kdy vzdálenost mezi nejbližšími shluky je větší než daný práh –algoritmus omezuje růst oválných shluků –zavedeme graf vzory představují uzly grafu všechny uzly v daném shluku jsou propojeny –každý shluk vytvoří úplný podgraf vzdálenost mezi 2 shluky je určena nejvzdálenějšími uzly ve shlucích když jsou nejbližší shluky sloučeny => do grafu se přidají hrany mezi uzly z různých shluků Algoritmus nejvzdálenějšího souseda

10 míry, které měří maximum nebo minimum, představují extrémy při měření vzdáleností mezi shluky –jsou citlivé na „bludné vzory“ řešení: –použijeme průměrů d avg (∙, ∙) nebo d mean (∙, ∙) apod –výpočetně nejjednodušší je d mean (∙, ∙) –ostatní metody vyžadují spočtení všech n j ∙n j dvojic vzdáleností ║ x - x’║ Shlukující hierarchické algoritmy - míry

11 shluky se zvětšují tím, že dochází k jejich slučování –vždy se sloučí nejbližší dva shluky když je míra vzdálenosti mezi shluky vybrána libovolně => málokdy můžeme říci, zda výsledné rozdělení odpovídá extrému nějaké kriteriální funkce –algoritmus hierarchického shlukování vytvoří shluky jako výsledek shlukujícího procesu –základní algoritmus hierarchického shlukování lze snadno modifikovat, abychom dostali krokově optimální proces 1. begin initialize c, c’←n, D i ←{x i } i=1,...,n 2. do c’←c’+1 3. najdeme shluky D i a D j, jejichž slitím dojde k nejmenší změně kriteriální funkce 4. sloučíme shluky D i a D j 5. until c=c’ 6. return c shluků 7. end Krokově optimální hierarchické shlukování

12 uvažujme, že kriteriální funkce je J e (součet mocnin chyb) –jak mají vypadat shluky D i a D j, které vedou k nejmenšímu nárůstu J e ? analýza je velmi podobná analýze iterativní optimalizace –v každém kroku najdeme dvojici shluků, jejichž sloučením dojde k nejmenšímu nárůstu J e –to odpovídá dvojici shluků D i a D j, pro kterou je minimální –při výběru shluků, které mají být sloučeny, se uvažuje: počet vzorů v daném shluku vzdálenost mezi shluky vlastnosti funkce d e (∙, ∙) –funkce upřednostňuje slučování malých shluků s velkými shluky –funkce potlačuje slučování středně velkých shluků výsledné dělení nemusí minimalizovat J e, ale typicky poskytne dobrý startovací bod pro dalši optimalizace Krokově optimální hierarchické shlukování

13 jednoduchý shlukovací algoritmus, který se snaží najít c středů ve vstupních datech vstup: –n vzorů a počet výsledných středů c výstup: –výsledné středy μ 1,..., μ c algoritmus: 1. begin initialize n, c, μ 1,..., μ c 2. do klasifikuj n vzorů k jejich nejbližšímu μ i 3. přepočti μ i 4. until žádný μ i se nezměnil 6. return μ 1,..., μ c 7. end složitost: O(ndcT) kde d je dimenze vzorů a T je počet iterací Sekvenční algoritmus k-středů

14 příklad: –uvažujeme 2D vzory a 3 shluky –růžově je iniciální (náhodné) rozdělení středů puntík.... střed shluku čáry... Voronoiova mřížka –vzory v každé z Voronoiových buněk jsou použity pro spočtení nového středu,... –algoritmus na obrázku zkonvergoval v 3 iteracích (červené body a čáry) Sekvenční algoritmus k-středů

15 zatím se všechny algoritmy pokoušely optimalizovat globální kriteriální funkci se známým (nebo předpokládaným) počtem shluků –toto nemusí dát vždy očekávané nebo přiměřené výsledky –často můžeme dostat strukturu shluků, která je velmi citlivá na malé změny kriteriální funkce není stabilní (neustále se mění) –tato citlivost se pak projeví zejména u online učení, kde je nutné doučovat nová a nová data při online učení musí být systém adaptivní –musí být schopen vytvářet nové shluky (když to nová data „potřebují“) problém stability/plasticity –někdy je vytvéřená struktura shluků nestabilní a nová data movou způsobit zásadní reorganizaci struktury => pak je těžké dát nějaký význam vytvářeným shlukům Online shlukování

16 jeden zdroj problémů při online učení spočívá v globální kriterální funkci –každý vzor může mít vliv na pozici shluku (nezávisle na tom, jak daleko daný vzor je) => toto pozorování vede ke vzniku tzv. kompetičního učení –změna parametrů systému při učení je omezena jen na shluky, které jsou nejvíce podobné předloženému vzoru –struktura shluků, které nejsou podobné aktuálnímu vzoru není kompetičním učením nijak dotčena –kompetiční učení je velmi podobné sekvenčnímu algoritmu k-středů na začátku je zvolen počet shluků a jejich středy jsou inicializovány během učení je aktuální vzor klasifikován do jednoho ze shluků následně dojde k aktualizaci nejpodobnějších shluku(ů) (shluky, které jsou „příliš daleko“ nejsou aktualizovány) –nevýhoda kompetiční učení globální kriteriální funkce, která se minimalizuje, nemusí být snadno definovatelná analýza algoritmu je typicky velmi těžká Online shlukování

17 kompetiční učení pochází z oblasti neuronových sítí a tedy převezmeme jejich terminologii předpoklady: –d-dimenzionální vzory jsou rozšířené o x 0 = 1 –vzory jsou normalizované ║x║ = 1 => vzory leží na povrchu (d+1)-dimenzionální koule pro kompetiční učení použijeme neuronovou síť: Kompetiční učení

18 neuronová síť má 2 vrstvy –(d+1) vstupních jednotek –c výstupních (kompetičních) neuronů každý výstupní neuron odpovídá jednomu shluku po předložení vzoru x: –každý výstupní neuron spočte svoji aktivaci net: net j = w T ∙x aktualizují se jen váhy neuronu s největší aktivací na základě předloženého vzoru x..... tzv. vítězný neuron (vítězný shluk) dochází k potlačení aktivity všech neuronů (kromě vítězného neuronu) –tohoto lze dosáhnout implementací kompetice mezi výstupními neurony... červené šipky Kompetiční učení – neuronová síť

19 inicializace vah –váhy výstupních neuronů jsou nastaveny náhodně (váhy musí být normalizovány!) např. váhy se inicializují na hodnoty náhodně vybraných vzorů učení –učení se týká jen vítězného neuronu –při učení je snaha změnit neuron tak, aby se více „podobal“ předloženému vzoru w(t+1) = w(t) + ηx kde η je parametr učení normalizace vah –po aktualizaci vah dojde k normalizaci vah, aby platilo že ║w║ = 1 –normalizace vah zaručí, že aktivace w T x neuronu závisí jen na úhlu mezi w a x a nezávisí na velikosti w –bez normalizace: jedna váha by mohla neustále růst aktivace tohoto neuronu byla stále největší došlo by k tomu, že ostatní shluky by se nemohly učit Kompetiční učení - postup

20 algoritmus kompetičního učení 1. begin initialize η, n, c, k, w 1,..., w c 2. x i ← {1,x i }, i=1,...,n // rozšíření vzorů 3. x i ← x i /║x i ║ i=1,...,n // normování vzorů 4. do náhodně vyber vzor x 5. j ← argmax k w k T∙ x // klasifikace vzoru x 6. w j ← w j + η ∙ x // aktualizace vah 7. w j ← w j / ║w j ║ // normování vah 8. until (během k pokusů nedošlo k žádné významné změně w) 9. return w 1,..., w c 10. end příklad –zobrazeny trajektorie 3 středů shluků podle předkládaných vzorů Kompetiční učení - algoritmus

21 při kompetičním učení nemáme záruku, že algoritmus skončí –a to dokonce i pro konečně vzorů! –řádek 8 v algoritmu nemusí být nikdy splněn a tedy váhy se budou neustále měnit –jednoduchá heuristika parametr učení necháme klesat v čase např. η(t) = η(0) ∙ α t kde 0 < α < 1, t je čas po naučení sítě přidáme další vzor –tento vzor nelze naučit, protože parametr učení je již příliš malý a tedy změna vah bude téměř nulová Kompetiční učení - vlastnosti

22 co když neznáme počet shluků? –1. zkoušíme různé hodnoty c a srovnáváme kriteriální funkce pro daná shlukování (různý počet shluků) když najdeme velkou mezeru v kriteriální funkci => „přirozený“ počet shluků –2. určíme práh, kdy máme vytvořit nový shluk tato metoda je užitečná pro online případy metoda závisí na pořadí vybírání vzorů => shlukovací algoritmus „přechůdce-následník“ (leader-follower clustering) Neznámý počet shluků

23 algoritmus: 1. begin initialize η, θ 2. w 1 ← x 3. do vezmi další vzor x 4. j ← argmin k ║x - w k ║ // nalezení nejbližšího shluku 5. if ║x - w j ║ < θ then 6. w j ← w j + η ∙ x 7. else 8. přidej nové w ← x 9. w ← w / ║w║ // normování vah 10. until (nejsou žádné nové vzory) 11. return w 1,w 2, end Shlukovací algoritmus „přechůdce- následník“

24 hodnota prahu θ implicitně určuje počet shluků –velké θ.... málo shluků –malé θ.... hodně malých shluků pokud nemáme žádnou informaci o datech –pak nelze obecne nic říci o hodnotě θ základní verze algoritmu nijak neslučuje shluky, které jsou velmi podobmé Shlukovací algoritmus „přechůdce- následník“

25 shlukující algoritmus „předchůdce-následník“ je jádrem obecné metody na navrhování samoorganizující se neuronové sítě... tzv. ART-sítě (adaptive resonance theory) ART-teorie byla primárně vyvinuta k modelování biologických procesů –jak by biologické neuronové sítě mohly být schopny rozpoznávat neočekávané vzory a jak by je mohly zapamatovat pro další použití jeden z neočekávaných vzorů se může stát středem nového shluku –jeden z cílů ART je zajistit, aby i málo odlišné instance tohoto vzoru mohly aktualizovat střed shluku, ale přesto aby si shluk zachoval svoje základní vlastnosti Adaptivní rezonance

26 během kompetičního učení může dojít k nestabilitě: –uvažujme situaci dva vzory x 1 a x 2 dva shluky určené váhovými vektory w 1 a w 2 –v čase t = 0 x 1 patří do shluku 1 x 2 patří do shluku 2 –nyní předpokládejme, že vzor x 1 byl několikrát vybrán a předložen síti během kompetičního učení se w 1 „posunul“ směrem k x 1 –nastala situace, že x 1 patří do shluku 1 x 2 patří do shluku 1 a to i když vzor x 2 nebyl vůbec vybrán k aktualizaci Adaptivní rezonance

27 ART lze aplikovat pro různé neuronové sítě –pro jednoduchost budeme uvažovat jen jednoduchou 2-vrstvou strukturu síť má 2 vrstvy –vstupní –výstupní (neurony shluků) Adaptivní rezonance

28 síť má 2 vrstvy –vstupní –výstupní (neurony shluků) vstupní vrstva –je plně propojena s výstupní vrstvou... w –tyto vazby určují středy shluků výstupní vrstva –dostane vstup od vstupní vrstvy a provádí kompetici tedy hledá se neuron, který má největší aktivaci –navíc je výstupní vrstva je propojena s výstupní vrstvou přes zpětné vazby... ŵ Adaptivní rezonance

29 zpětné vazby –slouží ke zjištění skutečné podobnosti předloženého vzoru a rozpoznaného středu shluku –síť používá zpětnou vazbu k tomu, aby poslala informaci o nalezeném středu shluku zpět do vstupní vrstvy –ve vstupní vrstvě se pak měří shoda mezi předloženým vstupem a nalezeným středem shluku kvalita shody –určena parametrem ρ... vigilance –tento parametr zadává uživatel Adaptivní rezonance

30 když je shoda mezi vstupem a nalezeným středem shluku velmi malá –vítězný neuron je dočasně zmrazen pomocí reset-signálu –hledá se další nejpodobnější shluk –tento proces se opakuje => signál rezonuje v síti a hledá se nejvhodnější shluk –když je vhodný shluk nalezen shluk je aktualizován podle předloženého vzoru –když je vhodný shluk není nalezen vytvoří se nový shluk a ten je aktualizován podle předloženého vzoru Adaptivní rezonance

31 zatím jsme uvažovali učení –s učitelem.... známe informaci o požadovaném výstupu –bez učitele.... neznáme informaci o požadovaném výstupu může nastat situace, kdy učitel zná jen informaci, zda nalezená třída je správná nebo není –tzv. učení s kritikou kritika se snadno zabuduje do kompetičního učení a adaptivní rezonance –např. síť nalezne shluk podle předloženého vzoru kritik řekne, zda je shluk zprávný nebo ne pokud je nalezený shluk správný => proběhne standardní učení pokud nalezený shluk není správný => žádné učení neproběhne Učení s kritikou


Stáhnout ppt "Klastrování - II. obsah –hierarchické shlukování algoritmus nejbližšího souseda algoritmus nejvzdálenějšího souseda krokově optimální hierarchické shlukování."

Podobné prezentace


Reklamy Google