Klastrování - II.

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

Grafové algoritmy.
Diskrétní matematika Opakování - příklady.
Aplikace teorie grafů Základní pojmy teorie grafů
Problematika a metody zpracování biomed. dat z pohledu jejich klasifikace Marcel Jiřina.
Topologie neuronových sítí (struktura, geometrie, architektura)
Třídění Seminář IVT. Definice uspořádání skupiny dat (záznamů) dle daného klíče vzestupně (od nejmenší do největší hodnoty klíče) sestupně (od největší.
Plošná interpolace (aproximace)
Varianty Turingova stroje Výpočet funkcí pomocí TS
ADT Strom.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Optimalizace v simulačním modelování. Obecně o optimalizaci  Optimalizovat znamená maximalizovat nebo minimalizovat parametrech (např. počet obslužných.
Vzpěrné délky, a optimalizace průřezů v oceli
64. Odhady úplných chyb a vah funkcí BrnoLenka Bocková.
Neuronové sítě Jakub Krátký.
SÍŤOVÁ ANALÝZA.
Shlukovací algoritmy založené na vzorkování
Shluková analýza.
Rozšíření dotazu a vývoj tématu v IR Jiří Dvorský Jan Martinovič Václav Snášel.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
METODA KONEČNÝCH PRVKŮ
IGrid index Roman Krejčík. Obsah Motivace Prokletí dimenze Míry podobnosti IGrid, IGrid+ Experimentální porovnání.
Nelineární klasifikátory
Shluková analýza.
1 Kognitivní inspirace třídění na základě závislostí atributů Jan Burian Eurfomise centrum – Kardio, Ústav informatiky AV ČR Článek je dostupný na WWW:
Dokumentace informačního systému
STROMY Datová struktura sestávající z uzlů
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
SHLUKOVÁNÍ David Zeman FIT VUT UIFS Získávání znalostí z databází Modelování shlukové analýzy v systému SAS Enterprise Miner TM.
Rozpoznávání vzorů bez učitele (klastrování)
Jedno-indexový model a určení podílů cenných papírů v portfoliu
Reprezentace klasifikátoru pomocí „diskriminant“ funkce
Klasifikace klasifikace: matematická metoda, kdy vstupní objekty X(i) jsou rozřazovány do tříd podle podobnosti metody klasifikace bez učitele: podoba.
Rozhodovací stromy.
Odhad metodou maximální věrohodnost
Dvojčinné výkonové zesilovače
Experimentální fyzika I. 2
Vektorová kvantizace (VQ) (Vector Quantization)
Zablokování (deadlock, smrtelné objetí, uváznutí)
Jedna z největších světových firem v oblasti logistiky 20 leté zkušenosti po celém světě Konzultantské služby.
Rozpoznávání v řetězcích
Gradientní metody Metoda největšího spádu (volný extrém)
hledání zlepšující cesty
Klastrování - III.
W i ref (t+1) = W i ref (t) + h ci (t) [X(t) - W i ref (t)], i Nc h ci (t) 0, t  proces konverguje Algoritmy a struktury neuropočítačů ASN – P3 SOM algoritmus.
Směrování -RIP. 2 Základy směrování  Předpoklady:  Mějme směrovač X  Směrovač nemůže znát topologii celé sítě  X potřebuje určit směrovač pro přístup.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Vyhledávání vzorů (template matching)
Radim Farana Podklady pro výuku
Algoritmy a struktury neuropočítačů ASN - P14 Hopfieldovy sítě Asociativní paměti rekonstrukce původních nezkreslených vzorů předkládají se neúplné nebo.
Martin Langhammer Antonín Wimberský. ÚVOD PŘEDPOKLADY Jednotný vstup Zadní SPZ Stejný úhel a vzdálenost záběru Pouze vodorovné záběry značek Obdélníkové.
Vícerozměrné statistické metody Vícerozměrné statistické rozdělení a testy, operace s vektory a maticemi Jiří Jarkovský, Simona Littnerová.
Neuronové sítě.
Využití technik dataminingu při rozpoznávání znaků Marek Kukačka Květen 2006.
Algoritmizace a programování Algoritmy 1 - Úvod. Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis.
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
Korelace. Určuje míru lineární vazby mezi proměnnými. r < 0
Úvod do databázových systémů
Základní pojmy v automatizační technice
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Konstrukce trojúhelníku
Klasifikace a rozpoznávání
Neuronové sítě.
Konstrukce trojúhelníku
Toky v sítích.
Neuronové sítě.
ANALÝZA A KLASIFIKACE DAT
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Klastrování - II

Klastrování - II 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

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

Hierarchické klastrování 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

Shlukující hierarchické algoritmy základní algoritmus shlukujícího klastrování c je požadovaný počet výsledných shluků 1. begin initialize c, c’←n, Di←{xi} i=1,...,n 2. do c’←c’+1 3. najdeme nejbližší shluky Di a Dj 4. sloučíme shluky Di a Dj 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(cn2d) a typicky n>>c zbývá určit, jak budeme měřit vzdálenost mezi shluky a tedy jak najdeme dva nejbližší shluky

Algoritmus nejbližšího souseda příklad shlukujícího hierarchického klastrování k měření vzdálenosti mezi shluky použijeme funkci dmin(∙, ∙) 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 dmin(∙, ∙) jako vzdálenost mezi shluky => nejbližší shluky jsou určeny dvojicí nejbližších uzlů sloučení shluků Di a Dj odpovídá přidání hrany mezi nejbližším párem uzlů v Di a Dj 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 - 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 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ů

Algoritmus nejvzdálenějšího souseda příklad shlukujícího hierarchického shlukování k měření vzdálenosti mezi shluky použijeme funkci dmax(∙, ∙) 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ů

Shlukující hierarchické algoritmy - míry 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ů davg(∙, ∙) nebo dmean(∙, ∙) apod výpočetně nejjednodušší je dmean(∙, ∙) ostatní metody vyžadují spočtení všech nj∙nj dvojic vzdáleností ║ x - x’║

Krokově optimální hierarchické shlukování 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, Di←{xi} i=1,...,n 2. do c’←c’+1 3. najdeme shluky Di a Dj, jejichž slitím dojde k nejmenší změně kriteriální funkce 4. sloučíme shluky Di a Dj 5. until c=c’ 6. return c shluků 7. end

Krokově optimální hierarchické shlukování uvažujme, že kriteriální funkce je Je (součet mocnin chyb) jak mají vypadat shluky Di a Dj, které vedou k nejmenšímu nárůstu Je? 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 Je to odpovídá dvojici shluků Di a Dj, 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 de(∙, ∙) 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 Je, ale typicky poskytne dobrý startovací bod pro dalši optimalizace

Sekvenční algoritmus k-středů 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ů 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)

Online shlukování 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í 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á

Kompetiční učení 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 x0 = 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í – neuronová síť 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: netj = wT∙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í - postup 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 wTx 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í - algoritmus algoritmus kompetičního učení 1. begin initialize η, n, c, k, w1,..., wc 2. xi ← {1,xi}, i=1,...,n // rozšíření vzorů 3. xi ← xi/║xi║ i=1,...,n // normování vzorů 4. do náhodně vyber vzor x 5. j ← argmaxk wkT∙x // klasifikace vzoru x 6. wj ← wj + η∙x // aktualizace vah 7. wj ← wj / ║wj║ // normování vah 8. until (během k pokusů nedošlo k žádné významné změně w) 9. return w1,..., wc 10. end příklad zobrazeny trajektorie 3 středů shluků podle předkládaných vzorů

Kompetiční učení - vlastnosti 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á

Neznámý počet shluků 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)

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

Shlukovací algoritmus „přechůdce-následník“ 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é

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

Adaptivní rezonance 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 síť má 2 vrstvy vstupní vrstva výstupní vrstva 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 zpětné vazby kvalita shody 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 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

Učení s kritikou 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