Wprowadzenie do Sieci Neuronowych — Łańcuchy Markowa

Transkrypt

Wprowadzenie do Sieci Neuronowych — Łańcuchy Markowa
Wprowadzenie do Sieci Neuronowych — Łańcuchy Markowa
M. Czoków, J. Piersa
2011-01-04
1
Przypomnienie
Łańcuch Markowa jest procesem stochastycznym (ciągiem zmiennych losowych), w którym rozkład zmiennej
w chwili t zależy wyłącznie od wartości łańcucha w ktoku poprzednim tj. od Xt−1 i nie zależy od Xt−2 , Xt−3 ...
X0 .
P(Xt = k|Xt−1 = xt−1 , Xt−2 ...X0 ) = P(Xt = k|Xt−1 = xt−1 )
Jeżeli prawdopodobieństwa przejść między stanami nie zmieniają się w czasie to łańcuch nazywamy jednorodnym.
∀t≥1 P(Xt = k|Xt−1 = x) = P(Xt+1 = k|Xt = x)
Prawdopodobieństwa przejść będziemy oznaczać poprzez pij = P X1 = j|X0 = i. Wówczas dynamika przejść
jest jednoznacznie zdefiniowana przez macierz kwadratową P = [pij ]ni,j=1 , gdzie n jest ilością możliwych stanów.
Do tego potrzebny jest rozkład stanu łańcucha w kroku zerowym P0 = [p1 ..pk ], gdzie pi = P(X0 = k).
wydział
klub
stołówka
dom
(a) Reprezentacja grafowa łańcucha
P
dom
dom
0.1
wydział
0.4
stołówka 0.5
klub
1.0
wydział
0.5
0
0.2
0
stołówka
0.4
0.3
0
0
klub
0
0.3
0.3
0
(b) Odpowiadająca tablica przejść
Rysunek 1: Przykładowy łańcucha Markowa.
Łańcuch jest nieprzywiedlny (rekurencyjny) jeżeli z każdego stanu da się dojść do każdego innego.
Nieprzywiedlny łańcuch nazywamy nieokresowym (aperiodycznym) jeżeli
gcd{i : P(a → w i krokach → a)} = 1
Tj. stany nie są pogrupowane w „fazy” np. jeżeli numer kroku jest parzysty to łańcych może być tylko w stanie
S0 albo S2 .
1
d
a
a
b
c
b
c
(a) Łańcuch okresowy
(b) Łańcuch nieokresowy
Rysunek 2: Przykład łańcucha okresowego i nieokresowego.
Fakt
że
Łańcuch Markowa, który jest nieprzywiedlny i nieokresowy posiada swój rozkład stacjonarny π, taki
P · πt = πt .
To jest łańcuch, który już jest w stanie stacjonarnym, w tymże stanie już pozostanie.
2
Symulacja
2.1
Symulowanie łańcucha Markowa
• wylosuj stan w kroku zerowym t = 0 X0 zgodnie z rozkładem początkowym P0 tj. P (X0 = Si ) = pi ,
• zwiększ krok t o jeden,
• wylosuj stan w kroku t-tym Xt z rozkładu pochodzącego z Xt−1 -go wiersza macierzy P , to jest. jeżeli np
Xt−1 = Si , to P(Xt = Sj ) = pSi ,Sj
2.2
Losowanie z rozkładu dyskretnego, sposób 1
Niech P(X = i) = pi .
x1p=0.04
x8p=0.11
x2p=0.09
x7p=0.26
x3p=0.25
x4p=0.01
x5p=0.09
x6p=0.15
Rysunek 3: Reprezentacja graficzna rokładu dyskretnego.
• oblicz si :=
Pi
j=1
pj dla i = 1..n
• wylosuj u ∼ U(0,1)
• I := 1
• while (si < u)
– I ++
• return I
Wartości s1 , ..., sn można liczyć na bieżąco w trakcie pętli. Jeżeli losowanie ma być wielokrotnie powtarzane,
to lepiej jest zapamiętać je w tablicy.
2
2.3
Losowanie z rozkładu dyskretnego, sposób 2
Niech P(X = i) = pi . Niech si =
Pi
j=1
pj — do obliczenia raz na symulację.
• wygeneruj u ∼ U(0,1)
• l := 0
• r := n
• do
– c := b(l + r)/2c
– if (u > sc )
∗ l := c
else
∗ r := c
while (l < r − 1)
• return r
3
Zadania
Zadania przeznaczone do wykonania na zajęciach / w domu do samodzielnej pracy. Zadanie nie są punktowane.
3.1
Zadanie 0 (na rozgrzewkę)
Oblicz liczbe π za pomocą Monte Carlo, tj. losuj punkt z kwadratu [−1, +1] × [−1, +1], jezeli wpadl w kolo o
ilość trafień
promieniu r = 1 i środku S = (0, 0), to zwiększ licznik trafień. Zwroć 4 · ilość
iteracji
3.2
Zadanie 1
Zasymuluj łancuch Markowa z zadaną macierzą P i iloscią kroków N . Łancuch powinien zwrócić tablicę / listę
stanów jakie byly przyjmowane w kolejnych krokach. Stan poczatkowy można przyjąć jako zadany z góry.
3.3
Zadanie 2
Znajdź rozkład stacjonarny łańcucha o zadanej macierzy przejścia P . Poprzez odpowienio długie symulowanie
i zliczenie sumarycznej liczby odwiedzeń (MCMC). W miarę możliwości wyświetl wyniki w formie graficznej.
3.4
Zadanie 3
Porownaj wyniki otrzymane w zadaniu 2-gim z wynikiem otrzymanym przez iteracyjne mnożenie przez siebie
P.
3.5
Zadanie 4
Wykonaj symulację z zadania 2 na następujących macierzach przejścia. Czy i w tym wypadku wynik nie zależy
od wyboru stanu początkowego?


0 .3 .4 .3
 1 0 0 0 

P2 = 
 1 0 0 0 
1 0 0 0


0 .3 .6999 .0001
 1 0
0
0 

P3 = 
 1 0
0
0 
0 0
0
1

.7
 1

P4 = 
0
0
.3
0
0
0
3
0
0
.8
.5

0
0 

.2 
.5