Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21
1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3
Łańcuch Markova Definicja Własności Losowanie z rozkładu dyskretnego wydział klub dom stołówka
Łańcuch Markova Definicja Własności Losowanie z rozkładu dyskretnego wydział klub P dom wydział stołówka klub dom 0.1 0.5 0.4 0 wydział 0.4 0 0.3 0.3 stołówka 0.5 0.2 0 0.3 klub 1.0 0 0 0 dom stołówka
Łańcuch Markova Definicja Własności Losowanie z rozkładu dyskretnego wydział klub P dom wydział stołówka klub dom 0.1 0.5 0.4 0 wydział 0.4 0 0.3 0.3 stołówka 0.5 0.2 0 0.3 klub 1.0 0 0 0 dom stołówka X 0 = dom, X 1 = w, X 2 = s, X 3 = w, X 4 = d, X 5 = s,...
Definicja (nieformalna) Definicja Własności Losowanie z rozkładu dyskretnego Dane mamy: przestrzeń stanów Σ, macierz przejścia P, P i,j oznacza prawdopodobieństwo przejścia ze stanu i-tego do j-tego w jednym kroku, ma to być prawdopodobieństwo więc j P i,j = 1, ponadto mamy zadany pewien stan początkowy p 0 (lub rozkład P 0, z którego ma pochodzić stan początkowy),
Definicja (nieformalna) Definicja Własności Losowanie z rozkładu dyskretnego Dynamika: jako stan w kroku t = 0 wybieramy stan początkowy p 0 (lub losujemy go z rozkładu początkowego),
Definicja (nieformalna) Definicja Własności Losowanie z rozkładu dyskretnego Dynamika: jako stan w kroku t = 0 wybieramy stan początkowy p 0 (lub losujemy go z rozkładu początkowego), jeżeli w kroku t > 0 jesteśmy w stanie i to jako stan dla kroku t + 1 wybieramy losowy, ale zgodnie z tablicą przejść, tj. stan 1-szy z prawdopodobieństwem P i,1, stan 2-gi z prawdopodobieństwem P i,2, stan i-ty z prawdopodobieństwem P i,i, itd.
Definicja (nieformalna) Definicja Własności Losowanie z rozkładu dyskretnego Dynamika: jako stan w kroku t = 0 wybieramy stan początkowy p 0 (lub losujemy go z rozkładu początkowego), jeżeli w kroku t > 0 jesteśmy w stanie i to jako stan dla kroku t + 1 wybieramy losowy, ale zgodnie z tablicą przejść, tj. stan 1-szy z prawdopodobieństwem P i,1, stan 2-gi z prawdopodobieństwem P i,2, stan i-ty z prawdopodobieństwem P i,i, itd. Jeżeli znamy stan w chwili t, to przejście do roku t + 1 nie zależy od stanu w krokach t 1, t 2...
Interpretacja Definicja Własności Losowanie z rozkładu dyskretnego Łańcuch Markowa można wygodnie reprezentować jako graf skierowany wierzchołkami są wszystkie stany Σ, jeżeli prawdopodobieństwo bezpośredniego przejścia z i do j jest dodatnie P ij > 0, to dodajemy krawędź (i, j) do grafu (z wagą P ij ), krawędzie nie muszą być symetryczne,
Interpretacja Definicja Własności Losowanie z rozkładu dyskretnego Łańcuch Markowa można wygodnie reprezentować jako graf skierowany wierzchołkami są wszystkie stany Σ, jeżeli prawdopodobieństwo bezpośredniego przejścia z i do j jest dodatnie P ij > 0, to dodajemy krawędź (i, j) do grafu (z wagą P ij ), krawędzie nie muszą być symetryczne, wagi krawędzi wychodzących z danego wierzchołka sumują się do jedynki, ta własność nie musi zachodzić dla krawędzi wchodzących.
Interpretacja Definicja Własności Losowanie z rozkładu dyskretnego wydział klub P dom wydział stołówka klub dom 0.1 0.5 0.4 0 wydział 0.4 0 0.3 0.3 stołówka 0.5 0.2 0 0.3 klub 1.0 0 0 0 dom stołówka
Stan przechodni Definicja Własności Losowanie z rozkładu dyskretnego stan a jest przechodni, jeżeli istnieje ścieżka wychodząca z a bez powrotu
Stan przechodni Definicja Własności Losowanie z rozkładu dyskretnego a stan a jest przechodni, jeżeli istnieje ścieżka wychodząca z a bez powrotu b c
Stan porwacający Definicja Własności Losowanie z rozkładu dyskretnego stan a jest powracający (rekurencyjny), jeżeli każda ścieżka wychodząca z a kiedyś może powrócić z powrotem do a
Stan porwacający Definicja Własności Losowanie z rozkładu dyskretnego a stan a jest powracający (rekurencyjny), jeżeli każda ścieżka wychodząca z a kiedyś może powrócić z powrotem do a b c
Klasa rekursji Definicja Własności Losowanie z rozkładu dyskretnego klasa rekursji maksymalny zbiór stanów powracających, pomiędzy którymi można swobodnie przechodzić, może być więcej niż jedna klasa rekursji, klasy rekursji można znaleźć algorytmami BFS lub DFS wyszukując silnie spójne składowe w grafie skierowanym,
Klasa rekursji Definicja Własności Losowanie z rozkładu dyskretnego klasa rekursji maksymalny zbiór stanów powracających, pomiędzy którymi można swobodnie przechodzić, może być więcej niż jedna klasa rekursji, klasy rekursji można znaleźć algorytmami BFS lub DFS wyszukując silnie spójne składowe w grafie skierowanym,
Łańcuch nieprzywiedlny Definicja Własności Losowanie z rozkładu dyskretnego jeżeli z wszystkich stanów da się dojść do wszystkich innych (jest tylko jedna klasa rekursji która obejmuje wszystkie stany), to łańcuch nazywamy nieprzywiedlnym b a c
Stan okresowy / nieokresowy Definicja Własności Losowanie z rozkładu dyskretnego Stan a jest nieokresowy, jeżeli z każdego stanu da się dojść do wszystkich innych oraz gcd{i : P(a w i krokach a)} = 1
Stan okresowy / nieokresowy Definicja Własności Losowanie z rozkładu dyskretnego Stan a jest nieokresowy, jeżeli z każdego stanu da się dojść do wszystkich innych oraz gcd{i : P(a w i krokach a)} = 1 d a b c a b c
Stan okresowy / nieokresowy Definicja Własności Losowanie z rozkładu dyskretnego Stan a jest nieokresowy, jeżeli z każdego stanu da się dojść do wszystkich innych oraz gcd{i : P(a w i krokach a)} = 1 d a b c a b c okresowy nieokresowy
Losowanie z rozkładu dyskretnego Definicja Własności Losowanie z rozkładu dyskretnego dane niech będzie n kategorii prawdopodobieństwa p 1,.., p n. chcemy wylosować jedną z kategorii, ale z odpowiadającym jej prawdopodobieństwem P(X = i) = p i
Losowanie z rozkładu dyskretnego Definicja Własności Losowanie z rozkładu dyskretnego dane niech będzie n kategorii prawdopodobieństwa p 1,.., p n. x 2 p=0.09 x 1 p=0.04 x 8 p=0.11 chcemy wylosować jedną z kategorii, ale z odpowiadającym jej prawdopodobieństwem x 3 p=0.25 x 7 p=0.26 P(X = i) = p i x 4 p=0.01 x 5 p=0.09 x 6 p=0.15
Algorytm naiwny Definicja Własności Losowanie z rozkładu dyskretnego P(X = i) = p i oblicz s i := i j=1 p j dla i = 1..n wylosuj u U (0,1) I := 1 while (s i < u) I + + return I
Algorytm naiwny Definicja Własności Losowanie z rozkładu dyskretnego P(X = i) = p i oblicz s i := i j=1 p j dla i = 1..n wylosuj u U (0,1) I := 1 while (s i < u) I + + return I Wartości s 1 do s n można liczyć na bieżąco w trakcie pętli. Jeżeli losowanie będzie wielokrotnie powtarzane, to lepiej będzie je zapamiętać w tablicy.
Algorytm podziału odcinka Definicja Własności Losowanie z rozkładu dyskretnego wygeneruj u U (0,1) l := 0 r := n do c := (l + r)/2 if (u > s c ) l := c else r := c while (l < r 1) return r
Algorytm generowania Definicja Własności Losowanie z rozkładu dyskretnego wylosuj u 1 Ex(p 1 ), u 2 Ex(p 2 )..., u n Ex(p n ) np. algorytmem odwracania dystrybuanty, Ex(λ) wylosuj T U (0,1) zwróć 1 λ ln(t ) znajdź indeks i, taki że u i = min(u 1,..., u n ) zwróć i
Twierdzenie Niech P (n) ij = (P n ) ij = prawdopodobieństwo przejścia z i do j w dokładnie n krokach. Ponadto niech łańcuch Markowa opisywany przez P będzie nieprzywiedlny i nieokresowy.
Twierdzenie Niech P (n) ij = (P n ) ij = prawdopodobieństwo przejścia z i do j w dokładnie n krokach. Ponadto niech łańcuch Markowa opisywany przez P będzie nieprzywiedlny i nieokresowy. Wtedy istnieje wektor probabilistyczny π i, i π i = 1, i π i > 0, taki że lim n + P(n) ij = π j.
Szkic dowodu Rozważmy stany początkowe i, i. Z obu wypuszczamy dwa łańcuchy, które ewoluują zgodnie z macierzą P, ale gdy się spotkają z pewnym stanie j w tej samej chwili, sklejają się i dalej ewoluują wspólnie. Mamy: Pij n Pi n j P(agenci jeszcze się nie skleili) A to zanika wraz z n do zera (por. rzucanie dwiema kośćmi do gry do czasu uzyskania pary tych samych wyników). To prawdopodobieństwo nie zależy od wyboru i, możemy zatem je oznaczyć P n µj prawdopodobieństwo dojścia do j po n kokach startując z losowego stanu.
Szkic dowodu 1 jest wartością własną P, więc istnieje wektor π taki, że πp = 1 π. π nie ma wartości ujemnych. Przypuśćmy przeciwnie. Niech π + = max(0, π) po współrzędnych. Elementy P są nieujemne (z założenia) więc mamy (rachunki po współrzędnych): π + P π + oraz πp > π Z drugiej strony P zachowuje prawdopodobieństwo j π j = j (πp) j, więc mamy sprzeczność. π nie może mieć współrzędnych ujemnych.
Szkic dowodu Zatem π możemy przyjąć, że π jest rozkładem probabilistycznym. lim n + (Pn i j Pn ij ) = 0 lim n + (Pn µj Pij n ) = 0 lim n + Pn ij = π j
Rozkład stacjonarny Rozkład π nazywany jest rozkładem stacjonarnym łańcucha Markowa. Odpowiednio długo symulowany MC (Markov Chain) zbiega do swojego rozkładu stacjonarnego.
Rozkład stacjonarny Interpretacja po dłuższym czasie obserwator może stwierdzić, że łańcuch podadł w rutynę, lokalnie nadal zachowuje się zgodnie z zadaną tablicą przejść, w szerszym oknie czasowym, ilość czasu spędzona w poszczególnych stanach zaczyna się stabilizować,
Jak znalźć rozkład stacjonarny Dane: łańcuch Markowa opisany przez macierz przejścia P.
Jak znalźć rozkład stacjonarny Dane: łańcuch Markowa opisany przez macierz przejścia P. Cel: chcemy znaleźć rozkład stacjonarny π.
Obserwacja przyp. P ij = prawdopodobieństwo przejścia z i do j w jednym kroku
Obserwacja przyp. P ij = prawdopodobieństwo przejścia z i do j w jednym kroku prawdopodobieństwo przejścia z i do j w dwóch krokach, przechodząc przez k wynosi zatem P(i k j) = P ik P kj
Obserwacja przyp. P ij = prawdopodobieństwo przejścia z i do j w jednym kroku prawdopodobieństwo przejścia z i do j w dwóch krokach, przechodząc przez k wynosi zatem P(i k j) = P ik P kj prawdopodobieństwo przejścia z i do j w dokładnie dwóch krokach, ale przez dowolny wierzchołek pośredni P(i k j) = P ik P kj
Obserwacja przyp. P ij = prawdopodobieństwo przejścia z i do j w jednym kroku prawdopodobieństwo przejścia z i do j w dwóch krokach, przechodząc przez k wynosi zatem P(i k j) = P ik P kj prawdopodobieństwo przejścia z i do j w dokładnie dwóch krokach, ale przez dowolny wierzchołek pośredni P(i j) = k P ik P kj
Obserwacja cd. prawdopodobieństwo przejścia z i do j w dokładnie dwóch krokach przez dowolny wierzchołek pośredni P(i 2kroki j) = k P ik P kj
Obserwacja cd. prawdopodobieństwo przejścia z i do j w dokładnie dwóch krokach przez dowolny wierzchołek pośredni P(i 2kroki j) = k P ik P kj zatem jest opisywane przez macierz P P = P 2,
Obserwacja cd. prawdopodobieństwo przejścia z i do j w dokładnie dwóch krokach przez dowolny wierzchołek pośredni P(i 2kroki j) = k P ik P kj zatem jest opisywane przez macierz P P = P 2, przez indukcję prawdopodobieństwo przejścia w krokach ze stanu i do j w k krokach jest opisywane przez macierz P k.
Sposób 1 oblicz macierz P i, gdzie i jest wysoką potęgą,
Sposób 1 oblicz macierz P i, gdzie i jest wysoką potęgą, zwróć jeden z wierszy otrzymanej macierzy,
Sposób 1 oblicz macierz P i, gdzie i jest wysoką potęgą, zwróć jeden z wierszy otrzymanej macierzy, UWAGA: algorytmu nie należy stosować z wyjątkiem sytuacji gdy P jest mała
Sposób 1 P = P 2 = 0.10 0.60 0.30 0.00 0.40 0.00 0.20 0.40 0.30 0.30 0.00 0.40 1.00 0.00 0.00 0.00 0.34 0.15 0.15 0.36 0.50 0.30 0.12 0.08 0.55 0.18 0.15 0.12 0.10 0.60 0.30 0.00
Sposób 1 P = P 2 = 0.10 0.60 0.30 0.00 0.40 0.00 0.20 0.40 0.30 0.30 0.00 0.40 1.00 0.00 0.00 0.00 0.34 0.15 0.15 0.36 0.50 0.30 0.12 0.08 0.55 0.18 0.15 0.12 0.10 0.60 0.30 0.00 P 4 = P 8 = 0.30 0.33 0.19 0.15 0.39 0.23 0.15 0.21 0.37 0.23 0.16 0.23 0.49 0.24 0.13 0.12 0.37 0.26 0.16 0.18 0.38 0.27 0.16 0.17 0.38 0.27 0.16 0.17 0.36 0.28 0.17 0.17
Sposób 2 Algorytm: symulujemy wstępnie dużą ilość kroków łańcucha, tak by zbiegł do rozkładu stacjonarnego,
Sposób 2 Algorytm: symulujemy wstępnie dużą ilość kroków łańcucha, tak by zbiegł do rozkładu stacjonarnego, od określonego punktu przez N kolejnych iteracji zliczamy ilości stanów jakie przyjął łańcuch,
Sposób 2 Algorytm: symulujemy wstępnie dużą ilość kroków łańcucha, tak by zbiegł do rozkładu stacjonarnego, od określonego punktu przez N kolejnych iteracji zliczamy ilości stanów jakie przyjął łańcuch, za prawdopodobieństwo przyjęcia stanu i przyjmujemy ilość kroków w których łańcuch był w stanie i-tym π i := N
Sposób 2 Algorytm: symulujemy wstępnie dużą ilość kroków łańcucha, tak by zbiegł do rozkładu stacjonarnego, od określonego punktu przez N kolejnych iteracji zliczamy ilości stanów jakie przyjął łańcuch, za prawdopodobieństwo przyjęcia stanu i przyjmujemy ilość kroków w których łańcuch był w stanie i-tym π i := N Czasem się go określa jako MCMC = Markov Chain Monte Carlo.
Sposób 2 P = 0.10 0.60 0.30 0.00 0.40 0.00 0.20 0.40 0.30 0.30 0.00 0.40 1.00 0.00 0.00 0.00
Sposób 2 P = 0.10 0.60 0.30 0.00 0.40 0.00 0.20 0.40 0.30 0.30 0.00 0.40 1.00 0.00 0.00 0.00 T = [ 379 288 149 184 ]
Sposób 2 400 P = 0.10 0.60 0.30 0.00 0.40 0.00 0.20 0.40 0.30 0.30 0.00 0.40 1.00 0.00 0.00 0.00 T = [ 379 288 149 184 ] 350 300 250 200 150 100 50 0 0 1 2 3 4 5
Sposób 2 Problem: Kiedy zakończyć wstępną symulację?
Sposób 2 Algorytm: oznaczmy T wstępną ilość kroków,
Sposób 2 Algorytm: oznaczmy T wstępną ilość kroków, w kroku 0 z każdego ze stanów wypuszczamy osobną ewoluującą po sieci kopię łańcucha,
Sposób 2 Algorytm: oznaczmy T wstępną ilość kroków, w kroku 0 z każdego ze stanów wypuszczamy osobną ewoluującą po sieci kopię łańcucha, jeżeli w pewnym kroku dwie kopie spotkają się w jednym stanie skejają się i dalej ewoluują razem (równoważnie usuwamy jedną z kopii),
Sposób 2 Algorytm: oznaczmy T wstępną ilość kroków, w kroku 0 z każdego ze stanów wypuszczamy osobną ewoluującą po sieci kopię łańcucha, jeżeli w pewnym kroku dwie kopie spotkają się w jednym stanie skejają się i dalej ewoluują razem (równoważnie usuwamy jedną z kopii), jeżeli w kroku T wszystkie łańcuchy zostały sklejone do jednego, to kończymy etap, jeżeli nie to przyjmujemy T :=2T i kontynuujemy.
Sposób 2 Uwaga! istnieją łańcuchy Markova, dla których ten algorytm się zapętli (ale dla takich nie istnieje rozkład stacjonarny nie spełniają założeń twierdzenia!).
Sposób 2 Uwaga! istnieją łańcuchy Markova, dla których ten algorytm się zapętli (ale dla takich nie istnieje rozkład stacjonarny nie spełniają założeń twierdzenia!). a b c a b c a 0 1 0 b 0.5 0 0.5 c 0 1 0
Błądzenie losowe 20 10 0-10 -20-30 -40 0 200 400 600 800 1000
błądzenie losowe, modelowanie procesów biologicznych, fizycznych, społecznych etc. narzędzia statystyczne, symulowanie rynków finansowych, rozumowanie przy niepewnej wiedzy, np. w sieciach bayesowskich, algorytm generowania z dowolnego rozkładu (alg. Metropolisa-Hastlingsa) algorytmy typu symulowanego wyżarzania (następy wykład)