Základy vytěžování dat předmět A7Bb36vyd Vytěžování dat Filip Železný, Miroslav Čepek, Radomír Černoch, Jan Hrdlička katedra kybernetiky a katedra počítačů ČVUT v Praze, FEL Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Odhady pravděpodobnostních rozdělení Odkaz na výukové materiály: https://cw.felk.cvut.cz/doku.php/courses/a7b36vyd/moduly/start (oddíl 2) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Vytěžování dat, přednáška 2: Pravděpodobnostní rozdělení Filip Železný Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 24 Pravděpodobnostní rozdělení
Odhad rozdělení Úloha: Vstup: data D = { x 1, x 2,... x m }, x i X (1 i m), m N náhodně, navz. nezávisle vybraná z rozdělení P X na X Výstup: vzor h L reprezentující odhad P X, tj. generativní model dat 2 / 24 Pravděpodobnostní rozdělení
Odhad rozdělení: příklad úlohy 2 druhy bonbónů v balíčku Vybíráme náhodně (poslepu), dostaneme. Jaký je poměr (pravděpodobnost) zelených bonbónů v balíčku? 3 / 24 Pravděpodobnostní rozdělení
Odhad rozdělení: příklad úlohy (pokr.) X = {.,. } P X lze reprezentovat jedním číslem θ P(. ) = θ, P(. ) = 1 θ Tedy prostor vzorů je reálný interval L = [0; 1] Pozn.: ve skutečnosti konečná podmnožina [0; 1], neboť reálná čísla se reprezentují konečným počtem číslic. 4 / 24 Pravděpodobnostní rozdělení
Odhad dle četnosti Data D = {. } (m = 10) Odhad dle relativní četnosti: P(. ) = θ 9 10 Odůvodnění: četnost konverguje k pravděpodobnosti pro m. 5 / 24 Pravděpodobnostní rozdělení
Odhad dle maximální věrohodnosti Obecnější metoda odhadu. Používá podmíněnou pravděpodobnost P(D θ) tj.: má-li parametr hodnotu θ, budeme data D pozorovat s touto pravděpodobností. Nazývá se věrohodnost (likelihood). Parametr odhadneme tak, že věrohodnost maximalizujeme θ = arg max P(D θ) θ Data x i D jsou vybírána navzájem nezávisle, tedy: P(D θ) = Π m i=1p(x i θ) 6 / 24 Pravděpodobnostní rozdělení
Věrohodnost: příklad D = {. } (m = 10) Pro θ = P(. ) = 0.6 P(D θ) = P(. 0.6) 9 P(. 0.6) 1 = 0.6 9 0.4 0.004 Pro θ = P(. ) = 0.8 P(D θ) = P(. 0.8) 9 P(. 0.8) 1 = 0.8 9 0.2 0.027 Tedy θ = 0.8 je věrohodnější než θ = 0.6. Obecně: jak najít θ, které věrohodnost maximalizuje? 7 / 24 Pravděpodobnostní rozdělení
Logaritmus věrohodnosti Pro snazší výpočet používáme logaritmus věrohodnosti tedy L(D θ) = log P(D θ) V příkladě s bonbóny: L(D θ) = log Π m i=1p(x i θ) = m log P(x i θ) i=1 L(D θ) = log θ z + log(1 θ) c = c log θ + z log(1 θ) kde c a z je počet červených resp. zelených bonbónů v datech 8 / 24 Pravděpodobnostní rozdělení
Hledání maxima věrohodnosti θ maximalizuje věrohodnost právě tehdy, když maximalizuje její logaritmus. Hledáme maximum L(D θ), tedy položíme V příkladě s bonbóny: Řešení: d dθ L(D θ) = 0 d dθ (c log θ + z log(1 θ)) = c θ z 1 θ = 0 θ = c c + z = c m Tedy stejný výsledek jako u odhadu dle relativní četnosti. Metoda maximální věrohodnosti je ale obecnější - uvidíme dále. 9 / 24 Pravděpodobnostní rozdělení
Omezená množina vzorů Tentokrát víme, že se vyrábí jen 5 typů balíčků: 1. 100% zelených 2. 75% zelených, 25% červených 3. 50% zelených, 50% červených 4. 25% zelených, 75% červených 5. 100% červených Každý typ představuje jeden vzor pro generování dat (losování bonbónů), označme je po řadě L = {h 1, h 2, h 3, h 4, h 5 }. 10 / 24 Pravděpodobnostní rozdělení
Vzor s maximální věrohodnostní Odhad dle četností již není použitelný, metoda maximální věrohodnosti je. P(D h 1 ) = 1 z + 0 c P(D h 1 ) = 0.75 z + 0.25 c P(D h 3 ) = 0.5 z + 0.5 c P(D h 4 ) = 0.25 z + 0.75 c P(D h 5 ) = 0 z + 1 c (z, c... počet zelených resp. červených bonbónů v datech) Dostáváme samé zelené: D = {. nejvěrohodnější?...}, který vzor je 11 / 24 Pravděpodobnostní rozdělení
Apriorní pravděpodobnosti Marginální rozdělení pravděpodobnosti P L (h i ) vzorů může být známo před obdržením dat. Např: 1. 100% zelených 10% výroby 2. 75% zelených, 25% červených 20% výroby 3. 50% zelených, 50% červených 40% výroby 4. 25% zelených, 75% červených 20% výroby 5. 100% červených 10% výroby Tedy P L (h 1 ) = 0.1, P L (h 2 ) = 0.2, P L (h 3 ) = 0.4, P L (h 4 ) = 0.2, P L (h 5 ) = 0.1 Tyto pravděpodobnosti se nazývají apriorní. 12 / 24 Pravděpodobnostní rozdělení
Aposteriorní pravděpodobnost Známe-li rozdělení P L a (po obdržení dat) P(D h i ) pro každý vzor h i můžeme podle Bayesova pravidla spočítat P(h i D) = P(D h i)p L (h i ) P(D) P(h i D) je aposteriorní pravděpodobnost vzoru h i po obdržení dat D. Jmenovatel L P(D) = P(D h j )P(h j ) j=1 nezávisí na h i. Z tohoto důvodu arg max P(h i D) = arg max P(D h i )P L (h i ) h i h i 13 / 24 Pravděpodobnostní rozdělení
Odhad dle MAP Metoda maximální aposteriorní pravděpodobnosti (MAP) vybírá vzor h h = arg max P(h i D) = arg max P(D h i )P L (h i ) h i h i Srov. s metodou maximální věrohodnosti, kde h = arg max h i P(D h i ) MAP tedy bere navíc úvahu informaci nesenou apriorním rozdělením P L (h i ). Ta je významná pro malé množství dat, ale s rostoucím množstvím dat její význam klesá: arg max P(D h i )P L (h i ) m arg max P(D h i ) h i h i 14 / 24 Pravděpodobnostní rozdělení
Aposteriorní pravděpodobnost jako funkce množství dat.1.p(h 1 d).p(h 2 D).P(h 3 D).P(h 4 D).P(h 5 D).P L (h 3 ).D = {....}.(dostáváme samé zelené).p L (h 2 ) = P L (h 4 ).P L (h 1 ) = P L (h 5 )..m.0.10 15 / 24 Pravděpodobnostní rozdělení
Odhad parametrů normálního rozdělení Data D = {x 1, x 2,... x m } vybrána navz. nezávisle z rozdělení P X (x) = 1 e (x µ)2 2σ 2 2πσ Z dat odhadujeme parametry µ, σ. Aplikace metody max. věrohodnosti: L(D µ, σ) = m log P(x i µ, σ) = m( log m (x i µ) 2 2π log σ) 2σ 2 i=1 i=1 d dµ L(D θ) = 1 σ 2 d dσ L(D θ) = m σ + 1 σ 3 m m i=1 (x i µ) = 0 µ = x i m i=1 m m (x i µ) 2 i=1 = 0 σ = (x i µ) 2 m i=1 16 / 24 Pravděpodobnostní rozdělení
Směs normálních rozdělení (pokr.) pohlaví výška žena 171 žena 164 muž 182 žena 169 muž 178 muž 184 X = P V = {muž, žena} R + D = { x 1, x 2, x 3,...} = {(p 1, v 1 ), (p 2, v 2 ), (p 3, v 3 ),...} = {(žena, 171), (žena, 164), (muž, 182),...} 17 / 24 Pravděpodobnostní rozdělení
Směs normálních rozdělení (pokr.) Rozdělení výšek je součtem dvou normálních rozdělení (muži, ženy) Každé má svoji střední hodnotu a rozptyl Rozdělení P X na X lze vyjádřit jako P X ( x) = P X ([p, v]) = P P (muž)p V P (v muž)+p P (žena)p V P (v žena) 1 P V P (v muž) = exp ( (x µ muž) 2 ) 2πσmuž 2σ 2 muž 1 P V P (v žena) = exp ( (x µ žena) 2 ) 2πσžena 2σ 2 žena 18 / 24 Pravděpodobnostní rozdělení
Směs normálních rozdělení (pokr.) Odhady dle maximální věrohodnosti, zvlášť pro každé pohlaví: pohlaví výška žena 171 žena 164 žena 169 m i=1 µ žena x i m = 504 3 = 168 3 σ žena 2 + 4 2 + 1 2 2.94 3 pohlaví výška muž 182 muž 173 muž 188 m i=1 µ muž x i m = 543 3 = 181 1 σ muž 2 + 8 2 + 7 2 6.16 3 19 / 24 Pravděpodobnostní rozdělení
Skrytá proměnná Víme, že v populaci jsou muži a ženy, ale proměnná (příznak) pohlaví v datech není. pohlaví výška žena 171 žena 164 muž 182 žena 169 muž 178 muž 184 Jak nyní odhadnout P X, tedy parametry µ muž, σ muž, µ žena, σ žena a P(žena)? 20 / 24 Pravděpodobnostní rozdělení
Algoritmus EM 1. Nastřel počáteční hodnoty parametrů, např. µ žena = 150, σ žena = 10 µ muž = 200, σ muž = 10 P(žena) = 0.5, P(muž) = 0.5 2. Krok E (expectation): Se stanovenými parametry spočti pravděpodobnosti hodnot skryté proměnné pro každou instanci, např. P(žena 171) = P(171 žena)p(žena)/p(171) = 1 exp ( (171 µ žena) 2 ) 0.5/P(171) 2πσžena 2σ 2 žena = 0.01391 0.5/P(171) 21 / 24 Pravděpodobnostní rozdělení
Algoritmus EM (pokr.) 2. Krok E (pokr.) P(muž 171) = P(171 muž)p(muž)/p(171) = 1 exp ( (171 µ muž) 2 ) 0.5/P(171) 2πσmuž 2σ 2 muž = 0.00188 0.5/P(171) P(žena 171) + P(muž 171) = 1 0.01391 0.5 P(žena 171) = 0.01391 0.5 + 0.00188 0.5 = 0.88 P(muž 171) = 1 0.88 = 0.12 22 / 24 Pravděpodobnostní rozdělení
Algoritmus EM (pokr.) 3. Krok M (maximization): Se spočtenými pravděpodobnostmi pro hodnoty skrytých proměnných znovu odhadni parametry rozdělení σ žena 1 N žena µ žena 1 N žena m P(žena v i )v i i=1 m P(žena v i )(v i µ žena ) 2 i=1 P(žena) 1 m m P(žena v i ) N žena = m i=1 P(žena v i)... normalizační konstanta, zaručuje, že součet P(žena v i ) přes všechny instance je 1. Analogicky spočteme pro muže. 4. Opakuj krokem 2 (dokud změny nejsou dostatečně malé) 23 / 24 Pravděpodobnostní rozdělení i=1
Algoritmus EM (pokr.) Konvergence algoritmu EM iterace µ žena µ muž 0 150.000 200.000 1 167.007 181.972 2 167.951 181.956 (správné hodnoty) 168 181 24 / 24 Pravděpodobnostní rozdělení
Vytěžování dat, přednáška 3: Grafické pravděpodobnostní modely Filip Železný Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 25 Grafické pravděpodobnostní modely
Mnoharozměrné rozdělení Minulá přednáška: odhad rozdělení pro data s jedním příznakem x = x resp. dvěma příznaky x = (x 1, x 2 ) jednorozměrné resp. dvourozměrné rozdělení P( x) V této přednášce: odhadujeme rozdělení pro více příznaků (rozměrů) P( x) = P(x1, x 2,... x n ) Příklad: x 1 : x 2 : x 3 : x 4 : Věk Pohlaví Kuřák Rakovina 56 muž + + 32 žena 48 žena + + 60 muž + + 2 / 25 Grafické pravděpodobnostní modely
Značení náhodných veličin Věk Pohlaví Kuřák Rakovina 56 muž + + 32 žena 48 žena + + 60 muž + + Vektorové/maticové značení x 3 = (48, žena,, ) x 3,2 = žena Pomocí prvních písmen příznaků (= náhodných veličin) Obor hodnot (V 3, P 3, K 3, R 3 ) = (48, žena,, ) P 3 = žena X = V P K R = {1, 2,... 100} {muž, žena} {+, -} {+, -} 3 / 25 Grafické pravděpodobnostní modely
Odvozování ze sdruženého rozdělení Známe-li sdružené rozdělení všech příznaků, můžeme odvodit rozdělení (sdružené i podmíněné) přes kteroukoliv podmnožinu příznaků. Např. pravděpodobnost, že osoba je muž - kuřák P P,K (muž, +) = v V P V,P,K,R (v, muž, +, r) r R pravděpodobnost, že kouřící muž má rakovinu P R P,K (+ muž, +) = P R,P,K(+, muž, +) P P,K (muž, +) v V = P V,P,K,R(v, muž, +, +) v V r R P V,P,K,R(v, muž, +, r) 4 / 25 Grafické pravděpodobnostní modely
Reprezentace sdruženého rozdělení Parametrická: např. mnoharozměrné normální rozdělení s parametry: vektor µ středních hodnot a matice Σ tzv. kovariancí. (Mimo rozsah tohoto předmětu) Neparametrická: jedno číslo [0; 1] pro každou kombinaci hodnot příznaků. V našem příkladě tedy: V P K R = 100 2 2 2 = 800 (Odpovídá 4-rozměrné kontingenční tabulce.) Ve skutečnosti stačí 799 čísel. Proč? P V,P,K,R (v, p, k, r) = 1 v V p P k K r R tedy jednu pravděpodobnost dopočítáme z ostatních. 5 / 25 Grafické pravděpodobnostní modely
Kombinatorická exploze Problémy s neparametrickým sdruženým rozdělelním: Paměťová náročnost. I kdyby všechny příznaky byly pouze binární, potřebujeme pro reprezentaci sdruženého rozdělení 2 n 1 čísel, kde n je počet příznaků. Exponenciální nárůst! Např. pro n = 40, jedno číslo - float - 4 bajty potřebujeme přes 4 TB Datová náročnost. Pro odhad každého čísla (pravděpodobnosti) z relativní četnosti, např. P V,P,K,R (30, muž, -, -) počet 30-letých zdravých nekuřáků v datech počet dat roste potřebný počet dat také exponenciálně. (Pro danou spolehlivost odhadu) Jak z toho ven? 6 / 25 Grafické pravděpodobnostní modely
Využití nezávislosti Kdyby byly všechny příznaky navzájem nezávislé, tak P V,P,K,R = P V P P P K P R a stačí tak znát jen 4 marginální rozdělení, zde tedy (100 1) + (2 1) + (2 1) + (2 1) = 102 čísel (místo původních 799). Obecně pro binární příznaky: n čísel místo 2 n 1 čísel. Většinou ale všechny příznaky navzájem nezávislé nejsou! 7 / 25 Grafické pravděpodobnostní modely
Využití nezávislosti (pokr.) I nezávislost jedné veličiny na ostatních znamená značné ulehčení: Věk Pohlaví Kuřák Rakovina Měsíc narození 56 muž + + 7 32 žena 2 48 žena + + 12 60 muž + + 6 P V,P,K,R,M } {{ } = P V,P,K,R P M } {{ } 100 2 2 2 12 1=9599 čísel 800 1+12 1=810 čísel Ale ani nezávislost jediné veličiny nelze obvykle předpokládat. 8 / 25 Grafické pravděpodobnostní modely
Podmíněná nezávislost Pozorování: výskyt rakoviny R je závislý na pohlaví P, tj. P R P P R, ekvivalentně: P P R P P ale pouze proto, že muži častěji kouří. Tedy jakmile víme, zda osoba kouří, na pohlaví už nezáleží P R P,K = P R K, ekvivalentně: P P R,K = P P K R a P jsou tedy podmíněně nezávislé, přičemž podmínkou je K. Totéž jinými slovy: V celé populaci mají častěji rakovinu muži: P R P (+ muž) > P R (+) U kuřáků už na pohlaví nezáleží: P R P,K (+ muž, +) = P R K (+ +) Totéž u nekuřáků: P R P,K (+ muž, ) = P R K (+ ) 9 / 25 Grafické pravděpodobnostní modely
Grafické znázornění podmíněných nezávislostí Pro dané rodiče uzlu je uzel podmíněně nezávislý na všech uzlech, které nejsou jeho potomky..v..p.k.r Orientovaný graf bez cyklů Pro dané rodiče uzlu je uzel podmíněně nezávislý na všech uzlech, které nejsou jeho potomky. Kouření (K) závisí na všech ostatních příznacích. Výskyt rakoviny (R) závisí na kouření (K) a věku (V), ale pro dané K a V nezávisí na pohlaví P. 10 / 25 Grafické pravděpodobnostní modely
Výpočet sdruženého rozdělení.v..p..k.r P R,K,V,P =P R K,V,P P K,V,P =P R K,V P K,V,P =P R K,V P K V,P P V,P =P R K,V P K V,P P V P P (nezávislost V a P) 11 / 25 Grafické pravděpodobnostní modely
Výpočet sdruženého rozdělení (pokr.).v.p..k.r Obecně pro příznaky X = X 1 X 2... X n : P X = Π n i=1p Xi rodiče(x i ) rodiče(x i ): v nezávislostním grafu, např. rodiče(r) = {K, V} 12 / 25 Grafické pravděpodobnostní modely
Příklad s binárními příznaky V: vloupání do domu Z: zemětřesení A: ozval se alarm P: volá soused Pepa M: volá sousedka Marie.V.Z.A..P.M 13 / 25 Grafické pravděpodobnostní modely
Podmíněné nezávislosti.v.z.a..p.m V nezávisí na Z. Z nezávisí na V. A závisí na všech ostatních. A závisí na všech ostatních. Při daném A nezávisí P na V ani Z. Při daném A nezávisí P na V, Z ani M. Při daném A nezávisí M na V, Z, ani P. 14 / 25 Grafické pravděpodobnostní modely
Výpočet sdruženého rozdělení.v.z.a..p.m P X = Π n i=1p Xi rodiče(x i ) P V,Z,A,P,M = P P A P M A P A V,Z P V P Z 15 / 25 Grafické pravděpodobnostní modely
Tabulky podmíněných pravděpodobností P V,Z,A,P,M = P P A P M A P A V,Z P V P Z P V,Z,A,P,M jsme dekomponovali na rozdělení P P A, P M A, P A V,Z, P V, P Z. Každé z nich popíšeme tabulkou podmíněných pravděpodobností (TPP). P P A (+ a) a 0.90 + 0.05 P V (+) 0.001 P M A (+ a) a 0.70 + 0.01 P Z (+) 0.002 P A V,Z (+ v, z) v z 0.95 + + 0.94 + 0.29 + 0.001 10 čísel (místo 2 5 = 32) 16 / 25 Grafické pravděpodobnostní modely
Bayesovská síť. P V (+) 0.001.V.Z. PZ(+) 0.002. P A V,Z (+ v, z) v z 0.95 + + 0.94.A. + 0.29 + 0.001. PP A (+ a) a 0.70 + 0.01.P.M. PM A (+ a) a 0.90 + 0.05 Graf + TPP = Bayesovská síť 17 / 25 Grafické pravděpodobnostní modely
Příčinné vztahy v BS Hrany v tomto grafu odpovídají příčinným (kauzálním) vzahům mezi uzly. Příčinnost = vodítko pro návrh grafu BS Graf BS ale obecně nemusí odpovídat příčinnosti!.v.z.a..p.m 18 / 25 Grafické pravděpodobnostní modely
Sestavení grafu BS Algoritmus pro sestavení grafu BS bez znalosti příčinných vztahů 1. Zvol pořadí příznaků X 1, X 2,... X n /* šťastná volba kompaktní síť */ 2. Pro i = 1 až n: přidej X i jako uzel do grafu vyber co nejmenší množinu rodičů z X 1,... X i 1 tak, že P Xi rodiče(x i ) = P Xi X 1,...X i 1 vyveď hrany z rodičů do X i 19 / 25 Grafické pravděpodobnostní modely
Příklad sestavení grafu BS Bez znalosti příčinných vztahů volíme např. pořadí M, P, A, V, Z.M.P.A..V.Z žádné rodiče P P M = P P? Ne, M musí být rodičem. P A P,M = P A P nebo P A P,M = P A M nebo P A P,M = P A? Ne, M i P musí být rodiči. P V A,P,M = P V? Ne. P V A,P,M = P V A? Ano. P Z V,A,P,M = P Z? Ne. P Z V,A,P,M = P Z A? 20 / 25 Grafické pravděpodobnostní modely
Ekvivalentní BS Dvě BS. Různé grafy, různé TPP. Reprezentují totéž sdružené rozdělení..v.z.a..p.m Graf sestaven na základě příčinných vztahů. TPP vyžadují 1 + 1 + 4 + 2 + 2 = 10 čísel..m.p.a..v.z Graf sestaven obecným algoritmem. TPP vyžadují 1 + 2 + 4 + 2 + 4 = 13 čísel. 21 / 25 Grafické pravděpodobnostní modely
Odvozování z BS Příklad: Volá Pepa, Marie nevolá, nevíme, zda zvonil alarm, zemětřesení není. Jaká je pravděpodobnost vloupání? P V Z,P,M (+, +, ) = P V,Z,P,M(+,, +, ) P Z,P,M (, +, ) = αp V,Z,P,M (+,, +, ) = α P V,Z,A,P,M (+,, a, +, ) a {+, } dosadíme dle P V,Z,A,P,M = P P A P M A P A V,Z P V P Z = αp V (+)P Z ( ) P P A (+ a)p M A ( a)p A V,Z (a +, ) a {+, } = α 0.001 0.998 (0.90 0.30 0.94 + 0.05 0.99 0.06) α 0.00025 22 / 25 Grafické pravděpodobnostní modely
Odvozování z BS (pokr.) Analogicky P V Z,P,M (, +, ) = αp V ( )P Z ( ) P P A (+ a)p M A ( a)p A V,Z (a, ) a {+, } = α 0.999 0.998 (0.90 0.30 0.001 + 0.05 0.99 0.999) α 0.00520 Protože P V Z,P,M (+, +, ) + P V Z,P,M (, +, ) = 1, máme: P V Z,P,M (+, +, ) = α 0.00025 α 0.00025 + α 0.00520 0.046 Apriorní pravděpodobnost vloupání je 0.001, ale volá-li soused Pepa a není zemětřesení, vzroste na 0.046. 23 / 25 Grafické pravděpodobnostní modely
Příklad využití BS: Diagnóza poruchy auta [Russel, Norvig] červený uzel: počáteční příznak, zelené: testovatelné příznaky, oranžové: opravitelné příznaky, šedivé: skryté příznaky - zjednodušují graf, snižují potřebný počet parametrů. battery age alternator broken fanbelt broken battery dead no charging battery meter battery flat no oil no gas fuel line blocked starter broken lights oil light gas gauge car won t start dipstick 24 / 25 Grafické pravděpodobnostní modely
Příklad využití BS: Pojištění auta [Russel, Norvig] Age GoodStudent RiskAversion SeniorTrain SocioEcon Mileage VehicleYear ExtraCar DrivingSkill MakeModel DrivingHist Antilock DrivQuality Airbag CarValue HomeBase AntiTheft Ruggedness Accident OwnDamage Theft Cushioning OtherCost OwnCost MedicalCost LiabilityCost PropertyCost 25 / 25 Grafické pravděpodobnostní modely
Vytěžování dat, cvičení 3: EM algoritmus Radomír Černoch Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 13 EM algoritmus
Ochutnávka EM http://demonstrations.wolfram.com/ ExpectationMaximizationForGaussianMixtureDistributions Bishop: Pattern Recognition and Machine Learning, str. 437 2 / 13 EM algoritmus
Gaussovské rozdělení Hustota pravděpodobnosti: P(x µ, σ) = ( 1 x µ exp 2 π σ 2 2 σ 2 Odhad parametrů: Střední hodnota z aritmetického průměru: ˆµ = 1 N N n=1 Variance ze střední kvadratické odchylky: ˆσ 2 = 1 N x n N (x n ˆµ) 2 Vygenerujte si v Matlabu náhodné vzorky z P(x µ = 10, σ 2 = 5) pomocí normpdf a zpětně odhadněte jejich parametry, tentokrát použití bez mean a var. 3 / 13 EM algoritmus n=1 ) 2
Směs Gaussovských rozdělení (GMM) Mějme 2 normální rozdělení: P(x µ m = 180, σ m = 10) a P(x µ z = 170, σ z = 8) s následujícímí směsnými koeficienty: P(m) = 0.9 a P(z) = 0.1 Výsledná hustota pravděpodobnosti: P(x...) = P(m) P(x µ m, σ m ) + P(z) P(x µ z, σ z ) Zkuste si z této distribuce vygenerovat vzorky pomocí randn a zobrazit je v histogramu pomocí hist. 4 / 13 EM algoritmus
GMM: Odhady parametrů Dokáži ze své výšky odhadnout, jestli jsem muž nebo žena? Souhlasíte s následující úvahou: P(m x) P(m) P(x µ m, σ m )? (pro P(z x) obdobně) Aby platil součet P(m x) + P(z x) = 1, používá se normalizační konstanta (jmenovatel je stejný pro P(m x) i P(z x)): P(m x) = P(m) P(x µ m, σ m ) P(m) P(x µ m, σ m ) + P(z) P(x µ z, σ z ) Zjistěte, zda platí P(m x = 160) > P(z x = 160) (pozn.: normalizační konstantu lze pro účel porovnání vynechat). 5 / 13 EM algoritmus
EM algoritmus Inicializace Expectation Maximization 6 / 13 EM algoritmus
EM: 3 fáze 1. Inicializace náhodně nastaví parametry P(m), P(z), µ m, σ z,... 2. Expectation přiřadí instance oběma normálním rozdělením. 3. Maximization odhadne parametry rodělení na základě přiřazení z E fáze: µ z 1 N P(z x n ) x n N z σ 2 z 1 N z P(z) 1 N n=1 N n=1 P(z x n ) (x n µ z ) 2 N P(z x n ) n=1 N z = N n=1 P(z x n)... normalizační konstanta 7 / 13 EM algoritmus
Úloha (1/3) 1. Seznamte se s daty v souboru height.csv, který obsahuje tělesnou výšku vzorku 100 lidí, Američanů ve věku mezi 20 a 29 lety. Kromě výšky lidí (1. sloupec) obsahují data i jejich pohlaví (2. sloupec). Každý záznam tvoří jeden řádek tabulky. 2. Prohlédněte si dokumentaci k přiložené funkci dataplot(data), která načtená data vykreslí do grafu: >> data = csvread('height.csv'); dataplot(data); 8 / 13 EM algoritmus
Úloha (2/3) 4. Implementujte EM algoritmus pro maximum-likelihood optimalizaci parametrů směsi dvou normalních rozdělení. Popis algoritmu naleznete ve třetí přednášce (str. 21-24). Vstupem algorimu bude první sloupec načtených dat (druhý sloupec můžete použít pro zpětnou kontrolu). Vhodně zvolte počáteční parametry obou rozložení. Pokud Váš algoritmus vrátí matici 2 2 ve formátu ( ) µženy σ params = ženy µ muži σ muži můžete pro vykreslení obou rozdělení použít příkaz >> dataplot(data, params); 9 / 13 EM algoritmus
Úloha (3/3) 5. Vyvořte protokol o rozsahu cca. 1 strany A4, která shrne Vaši práci a analyzuje výsledky. Doporučený obsah: grafy obou gaussovských rozložení v několika počátečních iteracích algoritmu a stav po konvergenci počet iterací algoritmu (dochází-li k velkému rozptylu hodnot pro různá počáteční nastaveni, spustťe algoritmus několikrat a výsledek vyhodnoťte statisticky) diskuze o vlivu prvotního přiřazení parametrů na jejich výsledné hodnoty. rozbor, zda lze mezi výškou mužů a žen pozorovat statisticky významný rozdíl (využijte druhý sloupec vstupních dat a závěry z předchozích bodů) poznámky k implementaci 6. Protokol odevzdejte do upload systému do 10.10.2011. Zdrojové kódy není nutné do systému nahrávat, ale můžete být požádáni o jejich ukázku a předvedení během následujícího cvičení. 10 / 13 EM algoritmus
Úloha: Možný výsledek (1/3) Frequency in population [%] 40 35 30 25 20 15 10 5 Iteration 25 0 140 150 160 170 180 190 200 Height of a person [cm] 11 / 13 EM algoritmus
Úloha: Možný výsledek (2/3) Frequency in population [%] 40 35 30 25 20 15 10 5 Iteration 423 0 140 150 160 170 180 190 200 Height of a person [cm] 12 / 13 EM algoritmus
Úloha: Možný výsledek (3/3) Frequency in population [%] 40 35 30 25 20 15 10 5 Iteration 114 0 140 150 160 170 180 190 200 Height of a person [cm] 13 / 13 EM algoritmus
Vytěžování dat, cvičení 4: Bayesovské sítě Radomír Černoch Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 14 Bayesovské sítě
Modelový příklad Consider the following situation. You have a new burglar alarm installed at home. It is fairly reliable at detecting a burglary, but also responds on occasion to minor earthquakes. 1 You also have two neighbors, John and Mary, who have promised to call you at work when they hear the alarm. John always calls when he hears the alarm, but sometimes confuses the telephone ringing with the alarm and calls then, too. Mary, on the other hand, likes rather loud music and sometimes misses the alarm altogether. Given the evidence of who has or has not called, we would like to estimate the probability of a burglary. Zdroj: AIMA 1 This example is due to Judea Pearl, a resident of Los Angeles; hence the acute interest in earthquakes. 2 / 14 Bayesovské sítě
Krok 1: Vytvoření struktury Bayesovské sítě Mějme 4 náhodné proměnné: Burglary, Earthquake, Alarm, JohnCalls, MaryCalls. Základní princip: Šipka vede od X do Y právě tehdy když X má přímý vliv na Y. Navrhněte vazby mezi proměnnými! Applet: http://www.cs.cmu.edu/~javabayes/ 3 / 14 Bayesovské sítě
Krok 1: Správná odpověď 4 / 14 Bayesovské sítě
Krok 3: Zadání parametrů 5 / 14 Bayesovské sítě
Krok 3: Data P(Burglary = true) = 1% P(Earthquake = true) = 0.2% P(Alarm = true Burglary = true, Earthquake = true) = 95% P(Alarm = true Burglary = true, Earthquake = false) = 94% P(Alarm = true Burglary = false, Earthquake = true) = 29% P(Alarm = true Burglary = false, Earthquake = false) = 0.1% P(JohnCalls = true Alarm = true) = 90% P(JohnCalls = true Alarm = false) = 5% P(MaryCalls = true Alarm = true) = 70% P(MaryCalls = true Alarm = false) = 1% 6 / 14 Bayesovské sítě
Krok 4: Evidence 7 / 14 Bayesovské sítě
Krok 4: Výpočet podm. p. 8 / 14 Bayesovské sítě
Krok 5: Ruční výpočet (1/3) P(MaryCalls Earthquake = true) = P(M E) = P(M, E) = A = A = A P(M, E) P(E) =... (1) P(B, E, A, M, J) (2) B J P(B) P(E) P(A B, E) P(M A) P(J A) (3) B = = P(E) A = P(E) A J P(M A) B P(B) P(E) P(A B, E) P(J A) (4) J P(M A) B P(M A) B P(B) P(A B, E) P(J A) (5) J P(B) P(A B, E) (6) Tahák: X P(X) = 1; X P(X, Y) = P(Y); P(M, E) = P(E) P(M E); Y f(x) g(y) = f(x) Y f(y). 9 / 14 Bayesovské sítě
Krok 5: Ruční výpočet (2/3) P(MaryCalls Earthquake = true) = P(M, E = true) P(E = true) = = P(E = true) A P(M A) B P(B) P(A B, E = true) P(E = true) = P(M A) P(B) P(A B, E = true) A B = P(M A) ( ) A true 0.01 B = true false false 0.99 true 0.95 0.05 A B B = false 0.29 0.71 = P(M A) A true false true 0.0095 0.0005 A B B = false 0.2871 0.7029 = A P(M A) true false A 0.2966 0.7034 10 / 14 Bayesovské sítě
Krok 5: Ruční výpočet (2/3) = A = A P(M A) M = A true false 0.2966 0.7034 A true false true 0.75 0.01 false 0.30 0.99 = A true false true 0.22245 0.007034 A M = false 0.08898 0.696366 ( ) true 0.229484 = M = false 0.785346 A true false 0.2966 0.7034 11 / 14 Bayesovské sítě
Úloha: Popis dat Alt Bar Fri Hun Pat Price Rain Res Type Est Wait Yes No No Yes Some 3 No Yes French 0-10 Yes Yes No No Yes Full 1 No No Thai >30 No No Yes No No Some 1 No No Burger 0-10 Yes Yes No Yes Yes Full 1 No No Thai 10-30 Yes Yes No Yes No Full 3 No Yes French >30 No No Yes No Yes Some 2 Yes Yes Italian 0-10 Yes No Yes No No None 1 Yes No Burger 0-10 No No No No Yes Some 2 Yes Yes Thai 0-10 Yes No Yes Yes No Full 3 No Yes Italian >30 No Yes Yes Yes Yes Full 3 No Yes Italian >30 No No No No No None 1 No No Thai 0-10 No Yes Yes Yes Yes Full 1 No No Burger >30 Yes 12 / 14 Bayesovské sítě
Úloha: Legenda 1. Alt: whether there is a suitable alternative restaurant nearby. 2. Bar: whether the restaurant has a comfortable bar area to wait in. 3. Fri: true on Fridays and Saturdays. 4. Hun: whether we are hungry. 5. Pat: how many people are in the restaurant (values are None, Some, and Full). 6. Price: the restaurant s price range ($, $$, $$$). 7. Rain: whether it is raining outside. 8. Res: whether we made a reservation. 9. Type: the kind of restaurant (French, Italian, Thai, or Burger). 10. Est: the wait estimated by the host (0-10 minutes, 10-30, 30-60, >60). 11. Wait: whether we decided to wait 13 / 14 Bayesovské sítě
Úloha: Zadání 1. Navrhněte strukturu Bayesovské sítě. Snažte se respektovat kauzální vazby mezi náhodnými proměnnými. 2. Z dodaných dat vypočtěte podmíněné pravděpodobnosti, které odpovídají struktuře BS. 3. Pomocí počítače vypočtěte následující pravděpodobnosti z Bayesovské sítě: 3.1 P(Est) 3.2 P(Est Pat) 3.3 P(Rain) 3.4 P(Rain Fri) 4. Podmíněnou pravděpodobnost 4 vypočtěte navíc ručně. 5. Porovnejte výsledky 1 s 2 a dále 3 s 4. Ovlivňuje dotazovanou proměnou informace o proměnné v podmínce? 6. Proč nelze počítat podmíněné pravděpodobnosti přímo z dat a je dobré využít mezikrok podmíněných pravděpodobností BS? 14 / 14 Bayesovské sítě