GoBack
4. Učení bez učitele. Shlukování., EM. Hierarchické.. Kohonenovy mapy. Petr Pošík Katedra kybernetiky ČVUT FEL P. Pošík c 29 Aplikace umělé inteligence 1 / 53
Obsah P. Pošík c 29 Aplikace umělé inteligence 2 / 53
Opakování: Objekty jsou popsány vektorem příznaků x. Narozdíl od učení s učitelem k objektům není připojen štítek y. Učení bez učitele vytváří nové syntetické příznaky: Shlukování vytváří indikátor skupiny, do níž objekt patří, hledá potenciálně užitečné definice tříd. Kvantizace vektoru hledá prototypy, redukuje objem dat. Detekce odlehlých hodnot hledá objekty, které jsou neobvyklé (málo pravděpodobné). Redukce dimenzí promítá mnoho vstupních proměnných na několik málo nových syntetických proměnných. Extrakce příznaků odvozuje nové atributy na základě vstupních příznaků. Intuice: Při učení bez učitele chceme na základě struktury nalezené v datech odvodit nějaké nové závislé proměnné, ale obvykle nevíme, co by těmi závislými proměnnými mělo být. P. Pošík c 29 Aplikace umělé inteligence 3 / 53
Shlukování Aplikace Shlukování vs. klasifikace Podobnost Minkowského metrika Metriky: vlastnosti Vzdálenost mezi dvěma shluky P. Pošík c 29 Aplikace umělé inteligence 4 / 53
Shlukování (clustering) Shlukování Aplikace Shlukování vs. klasifikace Podobnost Minkowského metrika Metriky: vlastnosti Vzdálenost mezi dvěma shluky Cíl: nalézt v datech strukturu (výsledkem nemusí nutně být pravidla pro zařazení objektu do shluku) Shluk (cluster) je množina objektů, Problémy: 1. které si jsou vzájemně hodně podobné a 2. které se zároveň hodně liší od objektů v ostatních shlucích. Co znamená hodně podobné a hodně liší? Jaký je správný počet shluků? studuje algoritmy pro: formování shluků (cluster formation): jde o reprezentaci struktury, rozřazení dat do shluků segmentaci (segmentation): jde o popis struktury, nalezení hranic nebo středů shluků štítkování (cluster labeling): jde o definici struktury, přiřazení smysluplných jmen k jednotlivým shlukům P. Pošík c 29 Aplikace umělé inteligence 5 / 53
Aplikace Shlukování Aplikace Shlukování vs. klasifikace Podobnost Minkowského metrika Metriky: vlastnosti Vzdálenost mezi dvěma shluky Biologie Vytvoření taxonomie rostlin a živočichů na základě jejich vlastností; nalezení skupim genů s podobnými vzory exprese Marketing Skupiny zákazníků s podobným chováním Analýza obrazu Rozdělení obrazu na regiony usnadňuje detekci hranic a objektů Pojišt ovnictví Identifikace podvodného chování WWW Uspořádání dokumentů, weblogů podle zaměření; na webových mapách sdružování značek ke snížení jejich počtu na mapě Požadavky: Škálovatelnost Zpracování různých typů atributů Nalezení shluků libovolných tvarů Schopnost vypořádat se s šumem a odlehlými hodnotami Robustnost vůči pořadí vstupních dat Interpretovatelnost a použitelnost P. Pošík c 29 Aplikace umělé inteligence 6 / 53
Shlukování vs. klasifikace Shlukování Aplikace Shlukování vs. klasifikace Podobnost Minkowského metrika Metriky: vlastnosti Vzdálenost mezi dvěma shluky Klasifikace: Shlukování: podobná data tvoří třídy podobná data tvoří shluky štítek y je znám štítek y není znám podobnost na základě štítku y podobnost na základě vektoru x Klasifikace a po lineární transformaci souřadnic: 4 4 3 3 2 2 1 1 1 2 3 4 6 4 2 2 4 6 1 2 3 4 6 4 2 2 4 6 4 3 2 1 1 2 3 4 6 4 2 2 4 6 4 3 2 1 1 2 3 4 6 4 2 2 4 6 P. Pošík c 29 Aplikace umělé inteligence 7 / 53
Co je podobnost? Shlukování Aplikace Shlukování vs. klasifikace Podobnost Minkowského metrika Metriky: vlastnosti Vzdálenost mezi dvěma shluky Podobnost se obvykle převádí na vzdálenost: Minkowského metrika: d(x 1, x 2 ) = ( D i=1 x 1,i x 2,i q ) 1 q (1) q = 1: L 1, Manhattan, city-block, pošt ácká metrika q = 2: L 2, Euklidovská vzdálenost q = : L Kosinová (úhlová) metrika: např. pro posouzení podobnosti dvou dokumentů (četnost slov) d(x 1, x 2 ) = x 1 T x 2 x 1 x 2 (2) Mahalanobisova vzdálenost: metrika řízená daty d(x 1, x 2 ) = (x 1 x 2 ) T Σ 1 (x 1 x 2 ) (3) P. Pošík c 29 Aplikace umělé inteligence 8 / 53
Minkowského metrika Shlukování Aplikace Shlukování vs. klasifikace Podobnost Minkowského metrika Metriky: vlastnosti Vzdálenost mezi dvěma shluky Body ve vzdálenosti 1 od počátku: 1 L 1 L 2 L 3 L 5 L 1.5 L.5 1 1.5.5 1 Invariantní vůči rotaci je pouze Euklidovská metrika L 2 P. Pošík c 29 Aplikace umělé inteligence 9 / 53
Metriky: vlastnosti Shlukování Aplikace Shlukování vs. klasifikace Podobnost Minkowského metrika Metriky: vlastnosti Vzdálenost mezi dvěma shluky Ovlivňují tvar výsledných shluků: některé objekty mohou být blízko sebe pro jednu metriku a daleko od sebe pro jinou metriku Euklidovská: dobrá pro izotropické prostory špatná při obecných lineárních transformacích (kromě posunutí a otočení) Mahalanobisova: dobrá, pokud je dostatek dat dobrá, pokud za rozptyl a korelace v datech mohou náhodné procesy špatná, pokud za rozptyl v datech mohou skryté třídy Vyberte takovou metriku, která je invariantní vůči transformacím, které se běžně vyskytují u řešeného problému. P. Pošík c 29 Aplikace umělé inteligence 1 / 53
Vzdálenost mezi dvěma shluky Shlukování Aplikace Shlukování vs. klasifikace Podobnost Minkowského metrika Metriky: vlastnosti Vzdálenost mezi dvěma shluky Některé algoritmy neposuzují jen podobnost dvou objektů, ale také podobnost dvou shluků. Single-linkage, connectedness, minimum method Vzdálenost dvou shluků je rovna nejkratší vzdálenosti objektu v prvním shluku k objektu ve druhém shluku Complete-linkage, diameter, maximum method Vzdálenost dvou shluků je rovna nejdelší vzdálenosti objektu v prvním shluku k objektu ve druhém shluku Average-linkage Vzdálenost dvou shluků je průměrná vzdálenost objektu v prvním shluku k objektu ve druhém shluku Median-linkage Vzdálenost dvou shluků je medián vzdáleností objektu v prvním shluku k objektu ve druhém shluku Wardovo kritérium Zvýšení rozptylu po spojení shluků V-linakge Pravděpodobnost, že oba shluky pocházejí ze stejného rozdělení... P. Pošík c 29 Aplikace umělé inteligence 11 / 53
Divizivní P. Pošík c 29 Aplikace umělé inteligence 12 / 53
Divizivní Hierarchické (hierarchichal) algoritmy hledají shluky postupně, využívají již dříve nalezených shluků (bottom-up) Divizivní (top-down) Rozdělovací (partitional) algoritmy určují všechny shluky najednou ISODATA fuzzy C-means pro směs Gaussiánů Metody založené na teorii grafů Minimální kostra grafu Spektrální Na základě spektra matice vzdáleností redukují počet dimenzí, probíhá v prostoru s méně dimenzemi Kohonenovy mapy P. Pošík c 29 Aplikace umělé inteligence 13 / 53
Divizivní Algoritmus [Mac67] Je třeba předem stanovit počet shluků k Algoritmus: 1. Zvol v prostoru k centroidů 2. Přiřad objekty k tomu centroidu, ke kterému jsou nejblíž 3. Spočti novou pozici centroidů jako průměr k nim přiřazených bodů 4. Pokud se pozice centroidů změnila, jdi na 2. Algoritmus hledá minimum funkce (vnitroskupinový rozptyl): J = k j=1 n j xi,j c j 2 i=1 (4) Je rychlý, při každém spuštění může konvergovat k jinému lokálnímu optimu J [Mac67] J. B. MacQueen. Some methods for classification and analysis of multivariate observations. In Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and Probability, volume 1, pages 281 297, Berkeley, 1967. University of California Press. P. Pošík c 29 Aplikace umělé inteligence 14 / 53
Ilustrace Divizivní 1 9 8 7 6 5 4 3 2 1 K means clustering: iteration 1 2 4 6 8 1 P. Pošík c 29 Aplikace umělé inteligence 15 / 53
Ilustrace Divizivní 1 9 8 7 6 5 4 3 2 1 K means clustering: iteration 2 2 4 6 8 1 P. Pošík c 29 Aplikace umělé inteligence 16 / 53
Ilustrace Divizivní 1 9 8 7 6 5 4 3 2 1 K means clustering: iteration 3 2 4 6 8 1 P. Pošík c 29 Aplikace umělé inteligence 17 / 53
Ilustrace Divizivní 1 9 8 7 6 5 4 3 2 1 K means clustering: iteration 4 2 4 6 8 1 P. Pošík c 29 Aplikace umělé inteligence 18 / 53
Ilustrace Divizivní 1 9 8 7 6 5 4 3 2 1 K means clustering: iteration 5 2 4 6 8 1 P. Pošík c 29 Aplikace umělé inteligence 19 / 53
Ilustrace Divizivní 1 9 8 7 6 5 4 3 2 1 K means clustering: iteration 6 2 4 6 8 1 P. Pošík c 29 Aplikace umělé inteligence 2 / 53
Divizivní Gaussovo rozdělení: N(x µ, Σ) = 1 (2π) D 2 Σ 1 2 exp{ 1 2 (x µ)t Σ 1 (x µ)} (5) Maximálně věrohodné (maximum likelihood, ML) odhady parametrů: µ ML = 1 N Σ ML = 1 N N x n (6) n=1 N (x n µ ML )(x n µ ML ) T (7) n=1 Směs Gaussovských rozdělení (GMM, Gaussian mixture model): P(x) = K α k N(x µ k, Σ k ) (8) k=1 Normalizace a požadavek pozitivity: K k=1 α k = 1 α k 1 P. Pošík c 29 Aplikace umělé inteligence 21 / 53
: Příklad Divizivní 5 x 1 3 4 5 3 2 1 1 1 2 3 4 2 3 1 4 2 P. Pošík c 29 Aplikace umělé inteligence 22 / 53
Divizivní Funkce věrohodnosti parametrů GMM: L(α, µ, Σ) = P(X α, µ, Σ) = N n=1 K α k P(x n µ k, Σ k ) (9) k=1 Logaritmus funkce věrohodnosti pro GMM (logaritus je rostoucí funkce, pozice extrémů se nemění): ln L(α, µ, Σ) = N K ln α k P(x n µ k, Σ k ) (1) n=1 k=1, Dempster, Laird, Rubin (1977) [DLR77] odhad parametrů GMM metodou maximální věrohodnosti (α, µ, Σ ) = arg max ln L(α, µ, Σ) α,µ,σ Neexistuje explicitní řešení (α =..., µ =..., Σ =... ) opakuje 2 kroky: 1. Expectation 2. Maximization [DLR77] Arthur P. Dempster, Nan M. Laird, and Donald B. Rubin. Maximum likelihood from incomplete data via the EM algorithm. Journal of the Royal Statistical Society, 39(1):1 38, 1977. P. Pošík c 29 Aplikace umělé inteligence 23 / 53
(neformálně) Divizivní Porovnání s :, 1. krok: ke kterému centroidu má daný bod nejblíž? EM alg., krok E: s jakou pravděpodobností byl daný bod vygenerován k-tou Gaussovskou složkou (někdy se těmto číslům říká responsibilities)? n, k, n (1,..., N), k (1,..., K) : γ k (x n ) = α kp(x n µ k, Σ k ) K i=1 α ip(x n µ i, Σ i ) Interpretace: koeficienty směsi α k se dají interpretovat jako apriorní pravděpodobnosti: (11) p(x) = K k=1 p(k) α k N(x µ k, Σ k ) p(x k) Odpovídající posteriorní pravděpodobnosti: p(k x) = p(k)p(x k) p(x) = α kp(x µ k, Σ k ) K i=1 α ip(x µ i, Σ i ) = γ k(x) (12) P. Pošík c 29 Aplikace umělé inteligence 24 / 53
(neformálně) Divizivní Porovnání s :, 2. krok: úprava souřadnic centroidů pro jednotlivé shluky na základě aktuálního přiřazení objektů do shluků EM alg., krok M: úprava parametrů GMM na základě aktuálně platných responsibilities: k (1,..., K) : α k = 1 N N γ k (x n ) (13) n=1 µ k = N n=1 γ k(x n )x n N n=1 γ k(x n ) (14) Σ k = N n=1 γ k(x n )(x n µ k )(x n µ k ) T N n=1 γ k(x n ) (15) P. Pošík c 29 Aplikace umělé inteligence 25 / 53
Příklad: Zdrojová data Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 26 / 53
Příklad: Vstup do EM algoritmu Divizivní 5 4 3 2 1 1 2 5 4 3 2 1 1 2 3 P. Pošík c 29 Aplikace umělé inteligence 27 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 28 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 29 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 3 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 31 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 32 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 33 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 34 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 35 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 36 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 37 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 38 / 53
Příklad: Iterace EM algoritmu Divizivní 5 4 3 2 1 1 2 4 3 2 1 1 2 3 4 P. Pošík c 29 Aplikace umělé inteligence 39 / 53
Příklad: Skutečnost a odhad EM algoritmu 5 5 4 4 3 3 2 2 1 1 1 1 2 4 3 2 1 1 2 3 4 Skutečnost a odhad si jsou velice blízké: 2 4 3 2 1 1 2 3 4 Máme dostatek dat Známe správný počet shluků Měli jsme štěstí, že EM alg. zkonvergoval do správného lokálního optima funkce věrohodnosti P. Pošík c 29 Aplikace umělé inteligence 4 / 53
Divizivní S.C.Johnson, 1967 [Joh67] N objektů, N N matice vzdáleností Algoritmus: 1. Vytvoř N shluků, každý s 1 bodem 2. Najdi nejbližší (nejpodobnější) dvojici shluků a spoj je do jednoho 3. Vypočti vzdálenosti mezi nově vzniklým shlukem a ostatními shluky 4. Opakuj 2 a 3, dokud existuje více než 1 shluk Využívá vzdálenost mezi dvěma shluky [Joh67] Stephen Johnson. Hierarchical clustering schemes. Psychometrika, 32(3):241 254, 1967. P. Pošík c 29 Aplikace umělé inteligence 41 / 53
Ilustrace Divizivní Acura Olds Chrysler Dodge VW Honda Pontiac Mitsub. Nissan Audi Mercedes BMW Saab Volvo Mazda Toyota Buick Ford Isuzu Eagle Corvette Porsche Str. diagram pro 22 případů Úplné spojení Euklid. vzdálenosti Řez stromem pro 5 shluků Řez stromem pro 4 shluky 1 2 3 4 5 6 7 8 Vzdálen. spojení P. Pošík c 29 Aplikace umělé inteligence 42 / 53
Ilustrace 5 Výsledek metodou hierarchického spojování Divizivní Faktor 2 4 3 2 1 Mazda Toyota Eagle Porsche Corvette Audi MercedesSaab Volvo Honda Buick BMW Chrysler VW Pontiac DodgeNissan Ford Mitsub. Acura Isuzu -1 Olds -2-5 -4-3 -2-1 1 2 3 4 Faktor 1 P. Pošík c 29 Aplikace umělé inteligence 43 / 53
Divizivní Divizivní 1. Zařad všechny body do jednoho shluku. 2. Rozděl shluk na několik (na 2?) menších shluků, např. algoritmem k-means. 3. Pro každý shluk, který je možné a vhodné dále dělit, pokračuj bodem 2. P. Pošík c 29 Aplikace umělé inteligence 44 / 53
Co je kompetitivní učení? Kohonenova mapa Algoritmus učení Funkce sousedství Ukázky činnosti P. Pošík c 29 Aplikace umělé inteligence 45 / 53
Co je kompetitivní učení? Co je kompetitivní učení? Kohonenova mapa Algoritmus učení Funkce sousedství Ukázky činnosti obecný princip využívající soutěž mezi elementy učení bez učitele systém se sám organizuje Aplikováno na úlohu : neurony jsou typickými představitely dat ( centroidy ) ukážeme-li síti nový bod, neurony soutěží o to, který z nich bude jeho reprezentantem soutěž probíhá na základě podobnosti neuronu a bodu P. Pošík c 29 Aplikace umělé inteligence 46 / 53
Kohonenova mapa Kohonenova mapa (self-organising map, SOM; self-organising feature map, SOFM) je jednovrstvá neuronová sít, kde všechny vstupy x i jsou propojeny do všech neuronů u j, neurony u j jsou uspořádány v nějaké mřížce (tj. mají souřadnice v mřížce a každý neuron ví, které další neurony jsou jeho sousedé), x 1 x 2 x 3 x 4 3 3 3 3 w ji u j neurony u j leží ve stejném prostoru jako trénovací body x i, jejich pozice je dána váhovými vektory w j. Kohonenova mapa realizuje učení bez učitele (redukci dimenzí, ) vektory x excitují neurony u j, které jsou v prostoru blízko nich (d(x, w j ) je malá) vektory x 1 a x 2, které jsou v prostoru blízko sebe, velmi pravděpodobně excitují stejné neurony a tyto neurony jsou v mřížce blízko u sebe váhy w j představují prototyp ( střed shluku ); představují diskrétní aproximaci rozdělení trénovacích případů x i více neuronů se po naučení sítě nachází v oblastech s vyšší koncentrací trénovacích příkladů a opačně P. Pošík c 29 Aplikace umělé inteligence 47 / 53
Algoritmus učení Co je kompetitivní učení? Kohonenova mapa Algoritmus učení Funkce sousedství Ukázky činnosti 1 2 3 4 5 Algoritmus 1: Učení SOM begin Inicializuj váhové vektory w j neuronů. Vyber trénovací vektor x. Najdi v mapě neuron u j, pro který je d(w j, x) minimální. Označ jej BMU (Best matching unit). Uprav váhy neuronů podle w j w j + h t BMU (j) (x w j) (16) 6 7 Inkrementuj počítadlo t a opakuj od kroku 3, dokud je t < t max end Velká role okolí při učení: topologické uspořádání (řetězec, mřížka,... ) vzdálenost sousedů (kolik kroků v mřížce musím udělat) mění se v čase jeho průměr postupně klesá je realizováno tzv. funkcí sousedství hbmu t (j) P. Pošík c 29 Aplikace umělé inteligence 48 / 53
Funkce sousedství Co je kompetitivní učení? Kohonenova mapa Algoritmus učení Funkce sousedství Ukázky činnosti hbmu t (j) je funkce sousedství, časově proměnné jádro: klesající funkce vzdálenosti mezi neuronem u j a BMU měřená v prostoru mřížky, např. Gaussovská: h t BMU (j) = α(t) exp ( d grid(u BMU, u j ) 2 σ(t) 2 kde α(t) (, 1) je rychlost učení (learning rate) a σ(t) je směrodatná odchylka Gaussiánu. Jak α(t), tak σ(t) monotónně klesají s přibývajícím časem. ) (17) BMU 1.9.8.7.6.5.4.3.2.1 σ(t) 3 2 1 1 2 3 P. Pošík c 29 Aplikace umělé inteligence 49 / 53
Ukázky činnosti Co je kompetitivní učení? Kohonenova mapa Algoritmus učení Funkce sousedství Ukázky činnosti Klasické http://www.neuroinformatik.ruhr-uni-bochum.de/vdm/research/gsn/demogng/gng.html Kohonenova mapa ve 3D http://www.nnwj.de/sample-applet.html Problém obchodního cestujícího http://www.htw-dresden.de/~iwe/belege/boerner/ P. Pošík c 29 Aplikace umělé inteligence 5 / 53
Shrnutí Reference P. Pošík c 29 Aplikace umělé inteligence 51 / 53
Shrnutí Shrnutí Reference je jednou z podoblastí učení bez učitele. Rozdělovací většinou je nutné zadat počet vytvářených shluků (některé algoritmy, např. ISODATA, umí počet shluků stanovit, ale potřebují dodatečné informace) : rychlá konvergence k lokálnímu optimu ztrátové funkce, snadno se implementuje pro směs Gaussiánů: obecný algoritmus, stále ještě poměrně jednoduchý algoritmus s rychlou konvergencí, je schopný vypořádat se s chybějícími daty Počet shluků lze volit až na základě dendrogramu Nutno předem zvolit typ vzdálenosti shluků (nevíme, který funguje lépe) P. Pošík c 29 Aplikace umělé inteligence 52 / 53
Reference Shrnutí Reference [DLR77] [Joh67] [Mac67] Arthur P. Dempster, Nan M. Laird, and Donald B. Rubin. Maximum likelihood from incomplete data via the EM algorithm. Journal of the Royal Statistical Society, 39(1):1 38, 1977. Stephen Johnson. Hierarchical clustering schemes. Psychometrika, 32(3):241 254, 1967. J. B. MacQueen. Some methods for classification and analysis of multivariate observations. In Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and Probability, volume 1, pages 281 297, Berkeley, 1967. University of California Press. P. Pošík c 29 Aplikace umělé inteligence 53 / 53