Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 1/50 Vytěžování znalostí z dat Pavel Kordík Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague Přednáška 10: SOM BI-VZD, 09/2011 MI-POA Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 2/50 SOM SOM = SelfOrganizingMaps, Prof. TeuvoKohonen, Finsko, TU Helsinki, 1981, od té doby se eviduje několik tisíc vědeckých literárních odkazů. Původní aplikace: fonetický psací stroj.
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 3/50 SOM Kompetiční učení Jedinci (elementy, neurony) spolu soutěží Příklad bezdomovci a kontejnery Pamatuji si, kde byla dobrá kořist Vyhraje ten, kdo přijde dřív Musím být poblíž, aby mě někdo nepředběhl Když se dozvím o novém kontejneru, a mám šanci ho vybrat, musím se přesunout blíže k němu Kdo se to nenaučí, umře hlady Vede na teritoriální uspořádání, reflektující rozmístění kontejnerů a jejich využívanost
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 4/50 Přírodou inspirované Kompetiční učení Nepotřebuji žádného arbitra, který by jedincům stále říkal, kam mají jít učení bez učitele Jedinci se učí z příkladů Systém se v průběhu času organizuje sám samoorganizuje A teď to aplikujeme na shlukovou analýzu
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 5/50 Shluková analýza a kompetice Prozradí nám něco pozice bezdomovců o rozmístění kontejnerů? Co to je shluk? Množina bodů, které jsou si blízko a mají daleko k ostatním. Co to znamená daleko? Viz metriky Bezdomovec reprezentant shluku kontejnerů
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 6/50 SOM Shluky, reprezentanti Obrázek si můžeme představit jako teritoria čtyř bezdomovců -veteránů Každý bezdomovec je reprezentant shluku kontejnerů Sever Západ Východ Jak simulovat pohyb bezdomovců? K-means? Jih
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 7/50 SOM K-means http://www.sund.de/netze/applets/gng/full/gng.html
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 8/50 SOM Jiný pohled na K-means Středy (reprezentanti) soutěží o data Používá strategii vítěz bere vše (Winner Takes All) Všechno jídlo zkonzumuje bezdomovec, který ke kontejneru dorazí první Chyba se počítá jako E= Nebo také = 1, Kde funkce 1 WTA je 1, pokud je i-tý střed nejblíže j-tému vzoru, 0 jinak Tato chyba se také jmenuje kvantizační
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 9/50 SOM Co to je vektorová kvantizace? Cílem kvantizacevektorů (VectorQuantization) je aproximovat hustotu pravděpodobnosti p(x) rozložení reálných vstupních vektorů x є R n pomocí konečného počtu reprezentantů w i є R n. Tedy přesně to, o co se snažíme.
SOM Problém se komplikuje Co se stane, když bezdomovec nestihne kontejner vybrat celý? Zbytek dostanou nejbližší Neplatí vítěz bere vše! Okolí = definuje vzdálenost, ze které se ještě vyplatí přijít. 1 st Velmi malé okolí -vítěz bere vše Velmi velké okolí - komunismus 2 nd 3 rd Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 10/50
SOM Neuronový plyn (perestrojka ) Název berte z rezervou, nepracuje se s neurony, ale spíše s agenty (středy). Pseudokód: Náhodně inicializuj středy, zvol velké okolí Předlož vektor x j Pro všechny středy Spočítej pořadí vzdáleností od vektoru Uprav vzdálenosti (x j - µ i ) v závislosti na pořadí a velikosti okolí - (exp) Přemísti středy opakuj (s menším okolím) Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 11/50
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 12/50 SOM Neuronový plyn
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 13/50 Problémse stále komplikuje Co se stane, když se vítězný bezdomovec rozdělí jen s kamarády? Okolí již neudává vzdálenost v původním prostoru dat, ale v prostoru kamarádství. Velmi malé okolí - individualisté Velmi velké okolí - hippies 2 nd 1 st 3 rd
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 14/50 SOM Samoorganizujícíse mapa (SOM) Kamarádství pro jednoduchost znázorněno mřížkou
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 15/50 Existence okolí! SOM Jak se liší od k-means? g(x) + + - 0 - x Používá se: 1. při učení, 2. někdy k určování vítěze.
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 16/50 SOM inspirace Ne bezdomovci, ale mozek. Řídící centra souvisejících orgánů spolu sousedí.
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 17/50 SOM architektura 1/3 Reprezentant Typicky: 2D pole reprezentantů (také se jim nepřesně říká neurony)
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 18/50 SOM architektura 2/3 2D- uspořádání (do mřížky) je nejtypičtější. Neurony lze ale uspořádat lineárně (1D-dost často), nebo prostorově (3D- velmi výjimečně). Uspořádání slouží k tomu, aby měl neuron definované sousedy ve svém okolí. Kohonenovo doporučení: obdélníková SOM!
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 19/50 SOM SOM architektura 3/3 Každý neuron má vektor vah w, vektory se porovnávají se vstupním vektorem x, vybírá ten se nejpodobnější BMU Neuron, který nejlépe odpovídá (BMU) je reprezentant vektoru přiloženého na vstup
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 20/50 Timo Honkela (Description of Kohonen's Self-Organizing Map)
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 21/50 SOM SOM neuron 1/2 Vyhodnocuje podobnost předloženého vstupní-ho vektoru od (ve vahách w i ) zapamatovaného, reprezentanta, referenčního vektoru. Podobnost = např. Eukleidovská vzdálenost: =arg SOM neuron je tedy reprezentantem shluku.
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 22/50 Učení Kohonenovy sítě 1/3 Nezapomeňte: učicí algoritmus uspořádává neurony v mřížce tak, aby reprezentovaly předložená vstupní data. Otázka k přemýšlení: co se děje s vahami neuronů v průběhu času?
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 23/50 SOM Učení Kohonenovy sítě 2/3 1. Inicializace, 2. předložení vzoru, 3. výpočet vzdálenosti, 4. výběr nejpodobnějšího neuronu, 5. přizpůsobení vah, +1 = + ( ) ( ) 6. goto2. Rozumíte vzorci? Váhy jakých neuronů se přizpůsobují?
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 24/50 SOM Příklad 0.52 X = 0.12 0.27 0.42 0.43 W 1 = W 2 = 0.81 W 3 = 0.70 0.21 d d d 2 2 1 ( x1 w11 ) + ( x2 w21) = = (0.52 0.27) + (0.12 0.81) = 0. 73 2 2 2 ( x1 w12 ) + ( x2 w22 ) = = (0.52 0.42) + (0.12 0.70) = 0. 59 2 2 3 ( x1 w13 ) + ( x2 w23) = = (0.52 0.43) + (0.12 0.21) = 0. 13 Vyhrál třetí neuron je nejblíže 2 2 2 2 2 2
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 25/50 SOM Příklad Přiblížím ho ke vzoru [ ] ( + 1) = ( ) + η( ) ( ) ( ) w t w t t x t w t ij ij i ij w13 = η (t) ( x1 w13 ) = 0.1(0.52 0.43) = 0.01 w23 = η (t)( x2 w23) = 0.1(0.12 0.21) = 0.01 W3 ( p + 1) = W3 ( p) + W3 ( p) = 0.43 0.21 + 0.01 0.01 = 0.44 0.20 Upravil jsem váhy pouze BMU vítěznému neuronu Zde tedy vítěz bere vše!
SOM Takhle to vypadá, když updatuji také okolní neurony Slide by Johan Everts Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 26/50
SOM Učení Kohonenovy sítě 3/3 Velkou roli při učení hraje okolí: topologické uspořádání, vzdálenost sousedů. Okolí se v čase mění: jeho průměr s časem klesá (až k nulovému). změna se realizuje sdruženým učicímparametrem η(t). Takhle to vypadá, když updatuji také okolní neurony Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 27/50
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 28/50 SOM Příklad okolí: Gaussovské η ij * ( t) = α( t) r * j. exp 2 2 σ r i ( t) 2, Člen α(t) představuje učicí krok, druhý člen pak tvar okolí (v tomto případě Gaussova křivka s proměnným tvarem v čase).
SOM Příklad okolí: Gaussovské Distance related learning Slide by Johan Everts Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 29/50
SOM Visualizace: klasická SOM Problém jak zobrazit pozici neuronů (reprezentantů) Dimenze vah = dimenze vstupního vektoru Potřebuji zobrazit ve 2D, jak? U-matice, analýza hlavní komponenty (PCA), Sammonova nelineární projekce. Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 30/50
SOM U-matice (Unified distance) Matice vzdáleností mezi váhovými vektory jednotlivých neuronů, typicky se vizualizuje, vzdáleností vyjádřeny barvou světlá barva = malá vzdálenost. Zobrazuje strukturu vzdáleností v prostoru dat. Poloha BMU odráží topologii dat. Barva neuronu je vzdálenost je váhového vektoru od všech ostatních váhových vektorů Tmavé váhové vektory jsou vzdáleny od ostatních datových vektorů ve vstupním prostoru. Světlé váhové vektory jsou obklopeny cizími vektory ve vstupním prostoru. Kopce oddělují clustery (údolí). Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 31/50
SOM Příklad U-matice Data: Neurony Vzdálenosti mezi sousedními neurony Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 32/50
SOM P-matrix (Pareto density estimation) Zobrazuje počet datových vektorů ze vstupního prostoru, které patří do koule kolem jeho váhového vektoru (s poloměrem nastaveným podle Paretova pravidla). Odráží hustotu dat. Neurony s velkou hodnotou jsou umístěny do hustých oblastí vstupního prostoru. Neurony s malou hodnotou jsou osamělé ve vstupním prostoru. údolí oddělují clustery ( náhorní plošiny ). Doplňuje informace získané z U-matice. Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 33/50
SOM Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 34/50 U*-Matrix Kombinace U-Matice a P-Matice Je to U-matice, korigovaná hodnotami v P-matici. Vzdálenosti mezi sousedními neurony (neurony aa bv mřížce) jsou vypočítány z U-matice a jsou váženy hustotou vektorů kolem neuronu a.
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 35/50 SOM Nevýhody UMAT, PMAT, Zobrazují jen vzdálenosti mezi sousedy Při novém naučení sítě na stejných datech můžou vypadat jinak (můžou být např otočeny o 90 stupňů) Nejsou intuitivně interpretovatelné, pokud nevíte co přesně je barvou kódováno. Jak ale zobrazit n-rozměrná data ve 2D, abychom pokud možno zachovali originální vzdálenosti?
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 36/50 SOM PCA nebo LDA Nové souřadnice vzniknou jako lineární kombinace původních dimenzí Algoritmus se jmenuje Analýza hlavní komponenty (Principal Component Analysis) špatná dobrá
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 37/50 SOM Sammonova projekce Mějme N vektorů v L-dimenzionálním prostoru, které označme x i,i=1,...,n.knimnechťpatříndvoudimenzionálníchvektorů označených y i, i = 1,..., N. Označme dále vzdálenost mezi vektory x i a x j v L-dimenzionálním prostoru D ij a vzdálenost odpovídajících si vektorů y i a y j symbolem d ij. Potom Sammonova projekce mapuje vstupní prostor na výstupní na základě minimalizace této chybové funkce: E sam = N 1 N i< j Dij i< j ( d D ) ij ij D ij 2..
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 38/50 SOM Sammonova projekce Iterativně minimalizuje distorzi vzdáleností mezi daty v původním prostoru a v novém prostoru Jaká je složitost výpočtu s počtem dimenzí a počtem dat? Co se stane, když chceme promítnout nový bod? x 1 y 2 x 3 d( i, j) x 2 E = N 1 N i= 1 j= i+ 1 N 1 1 d( i, j) N i= 1 j= i+ 1 ( * d( i, j) d ( i, j) ) d( i, j) 2 d * ( i, y 1 j)
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 39/50 SOM Aplikace SOMU Aplikace SOMU http://www.generation5.org/content/2007/kohonenimage.asp
SOM Aplikace SOMU Websom Podobnost stránek Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 40/50
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 41/50 ReefSOM http://www.brains-mindsmedia.org/archive/305 SOM Aplikace SOMU
SOM Aplikace SOMU Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 42/50
SOM Aplikace SOMU Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 43/50 SOM vlastnosti VQ vektorovákvantizace, vícevektorůse mapujedo jednohoneuronu(jehováhovéhovektoru), jakpřesně? -> kvantizační chyba. Komprese dimenze vstupního prostoru. Zachování topologie dat sousední(ve vstupním prostoru) vektoryse mapujído sousedních(v mřížce) neuronů, jak kvalitně? -> topografická chyba. SOM má energetickoufunkci, kterouminimalizuje-> zkreslení.
SOM Aplikace SOMU Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 44/50 Zkreslení SOM Průměrnávzdálenostmezikaždýmdatovýmvektorema jeho BMU. Určujepřesnostmapování(vektorovékvantizace) už známe c i je váhovývektorneuronu m j je vektordat h bij je funkceokolí
SOM Aplikace SOMU Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 45/50 Topografická chybasom Počet vstupních vektorů, pro které vítězný neuron a druhý vítězný neuron nejsou sousedi v mřížce. u(ci) je 1, když sousedi nejsou, jinak 0 V procentech počet vzorků, u nichž nebyla zachována topologie.
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 46/50 SOM Aplikace SOMU Software: Zajímavý a hlavně použitelný SW SOM_PAK: http://www.cis.hut.fi/research/som_pak http://service.felk.cvut.cz/courses/36nan + český návod na ovládání Matlab SOM toolbox http://www.cis.hut.fi/projects/somtoolbox/ SOMPAK addon http://neuron.felk.cvut.cz/~jurikm Zooming SOM http://service.felk.cvut.cz/courses/36nan TKM, RSOM http://service.felk.cvut.cz/courses/36nan
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 47/50 Gaussovská směs Gaussovskásměs Mnoharozměrná gaussovskáhustota pravděpodobnosti 1D gaussovská funkce g ( x b) 2c ( x) = ae Vícedimenzionální směs 2 2 M a C? normalizace - pravděpodobnost vážený průměr K gaussovek
Gaussovská směs Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 48/50 Směs gausovských rozdělení M k a C k počítáme např. pomocí EM algoritmu http://www.neurosci.aist.go.jp/~akaho/mixtureem.html Každá gaussovkajeden shluk předpokládá normální rozdělení dat ve shluku
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 49/50 Aplikační oblasti shlukové analýzy Aplikační oblasti shlukové analýzy Hledání podobností v datech Určování významnosti proměnných Detekce odlehlých instancí Redukce dat
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 10 50/50 Demo Demo Shlukování studentů FIT