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

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

Iterativní algoritmy pro Gaussovské grafické modely Implementace do SW Mathematica Vladislav Chýna.

Podobné prezentace


Prezentace na téma: "Iterativní algoritmy pro Gaussovské grafické modely Implementace do SW Mathematica Vladislav Chýna."— Transkript prezentace:

1 Iterativní algoritmy pro Gaussovské grafické modely Implementace do SW Mathematica Vladislav Chýna

2 Základní pojmy Výpočet varianční matice Interativní algoritmy Implementace do SW Mathematica

3 Grafické modely nUžitečný nástroj statistické analýzy –Umožňuje zkoumat struktury podmíněných nezávislostí v souborech proměnných nIdea: Reprezentovat data pomocí grafu –Vrcholy = proměnné –Chybějící hrana = proměnné jsou podmíněně nezávislé nOmezení příspěvku: Gaussovské grafické modely nHlavní problém: Popsat rozdělení s danými marginály Základní pojmy

4 Definice z teorie grafů nKompletní graf: Graf nebo podgraf je kompletní, pokud je každý jeho vrchol spojen se všemi ostatními vrcholy. nKlika: Klika je množina vrcholů, která indukuje úplný graf, ale která po přidání dalšího vrcholu indukuje graf, který již není kompletní. nMatice sousednosti: Matice sousednosti A G = (a ij ) grafu G = (V,E) je čtvercová matice definovaná: a ij = 1 pokud {v i, v j }  E. a ij = 0 jinak. Základní pojmy

5 Definice z teorie grafů 2 nKomplementární graf: Graf CG je komplementární k grafu G = (V,E), pokud má množinu vrcholů V a množinu hran CE, pro kterou platí {v i, v j }  CE pokud v i  v j a {v i, v j }  E.. nAntiklika: Antiklika je klika komplementárního grafu. Základní pojmy

6 Příklad G CG Základní pojmy

7 Výpočet varianční matice Interativní algoritmy Implementace do SW Mathematica

8 Výpočet varianční matice nBayesovský přístup nVěrohodnostní rovnice pro Gaussovské grafické modely X 1,X 2,...,X N náhodný výběr z mnohorozměrného normálního rozdělení N(0,K), kde D = K -1 pokud vrcholy i a j nejsou spojené v grafu G pokud podmnožina a vrcholů v G tvoří kliku. (S znamená výběrovou varianční matici.). Výpočet varianční matice

9 Jak řešit věrohodnostní rovnice nPřímý výpočet nIterativní algoritmus nI – Divergence I-divergence dvou pozitivně definitních matic A a B je definována: Výpočet varianční matice

10 Základní pojmy Výpočet varianční matice Interativní algoritmy Implementace do SW Mathematica

11 I. algoritmus nProbíhá v cyklu po antiklikách ac nStop pravidlo testuje, zda mimodiagonální prvky K -1 ac,ac jsou nulové. 1. K 0 = S 2. a = ac 1,...,ac m, b = V \ {a}, n = n´ mod m Iterativní algoritmus

12 II. algoritmus nProbíhá v cyklu po klikách c nStop pravidlo testuje, zda K c,c = S c,c 1. K 0 = I 2. a = ac 1,...,ac m, b = V \ {a}, n = n´ mod m Iterativní algoritmus

13 Základní pojmy Výpočet varianční matice Interativní algoritmy Implementace do SW Mathematica

14 Vstupy Vstup: S Matice sousednosti G Výpočet klik funkce novygraf Implementace do SW Mathematica

15 novygraf nIdea Pokud vynecháme jednu hranu z kliky, dostaneme 2 kliky, v jejichž zápisu chybí vždy jeden vrchol z vynechané hrany nProblém –Graf má 2 nebo více klik –Kliky nemají prázdný průnik {1,2,3} {2,3}, {1,3}  {1,3,4} {1,3,4} {1,3,4} Implementace do SW Mathematica

16 Kód podmnozina[mnozina_, prvek_] := Module[{vp}, vp = Map[( Intersection[prvek, #]) &, mnozina]; MemberQ[vp, prvek]]; neobsazena[m1_, m2_] := Complement[m2, Select[m2, (submnozina[m1, #]) &]]; novygraf[graf_, hrana_] := Module[{klikys, klikybez, bez1, bez2, bezduplicit}, klikys = Select[graf, MemberQ[#, hrana[[1]]] && MemberQ[#, hrana[[2]]] &]; klikybez = Complement[graf, klikys]; bez1 = DeleteCases[klikys, edge[[1]], 2]; bez2 = DeleteCases[klikys, edge[[2]], 2]; bezduplicit = neobsazena[klikybez, Union[bez1, bez2]]; Union[klikybez, bezduplicit]]; clique = {Range[kk]}; vektorvynechhran = Select[Position[maticesousednosti, 0], (#[[1]] > #[[2]]) &]; Map[(clique = novygraf[clique, vektorvynechhran [[#]]]) &, Range[Length[vektorvynechhran]]]; Implementace do SW Mathematica

17 Generování K n Vstup: S Matice sousednosti G Výpočet klik novygraf Generování K n Implementace do SW Mathematica

18 Generování K n Implementace do SW Mathematica

19 Kód a = clique[[Mod[iter, Length[clique]] + 1]]; iter = iter + 1; b = Complement[Range[kk], a]; knova[[a, a]] = s[[a, a]]; knova[[a, b]] = s[[a, a]].Inverse[kold[[a, a]]]. kstara[[a, b]]; knova[[b, a]] = kstara[[b, a]].Inverse[ kstara[[a, a]]].s[[a, a]]; knova[[b, b]] = kstara[[b, b]] - kstara[[b, a]]. Inverse[kstara[[a,a]]]. (IdentityMatrix[Length[a]] - s[[a,a]]. Inverse[kstara[[a, a]]]).s[[a, b]]; kstara = knova; Implementace do SW Mathematica

20 Stop pravidlo Vstup: S Matice sousednosti G Výpočet klik novygraf Generování K n Test K c,c = S c,c ano Tisk výsledků ne Implementace do SW Mathematica

21 Kód While[ stop < Length[Flatten[clique]],………………… Map[(If[Max[Abs[Flatten[knova[[clique[[#]], clique[[#]]]] - s[[clique[[#]], clique[[#]]]]]]] < , stop = stop + 1, stop = 0]) &, Range[Length[clique]]];]; Needs["DiscreteMath`Combinatorica`"] ShowLabeledGraph[g = MakeGraph[Range[kk], (MemberQ[Position[mon + Transpose[mon], 1], {#1, #2}]) &]]; Implementace do SW Mathematica

22 Příklad iterací 0,07 sekund Implementace do SW Mathematica

23 Otázky ? ?!?


Stáhnout ppt "Iterativní algoritmy pro Gaussovské grafické modely Implementace do SW Mathematica Vladislav Chýna."

Podobné prezentace


Reklamy Google