Łańcuchy Markowa

Transkrypt

Łańcuchy Markowa
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Wstęp do sieci neuronowych, wykład 12
Łańcuchy Markowa
M. Czoków, J. Piersa
2012-01-10
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
1
Definicja Łańcucha Markowa
Definicja
Własności
Zastosowania
Symulowanie MC
2
Stan stacjonarny
Istnienie
Szukanie stanu stacjonarnego
3
Zadania
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
1
Definicja Łańcucha Markowa
Definicja
Własności
Zastosowania
Symulowanie MC
2
Stan stacjonarny
Istnienie
Szukanie stanu stacjonarnego
3
Zadania
M. Czoków, J. Piersa
Definicja
Własności
Zastosowania
Symulowanie MC
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Łańcuch Markowa (jednorodny)
wydział
P
dom
dom
0.1
wydział
0.4
stołówka 0.5
klub
1.0
klub
dom
wydział
0.5
0
0.2
0
stołówka
0.4
0.3
0
0
stołówka
X0 = dom, X1 = w, X2 = s, X3 = w, X4 = d, X5 = s, ...
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
klub
0
0.3
0.3
0
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Definicja (nieformalna)
Łańcuch Markowa, ang. Markov Chain (MC)
Dane mamy:
przestrzeń stanów Σ,
macierz przejścia P,
Pi,j — prawdopodobieństwo przejścia ze stanu i-tego do j-tego
w jednym kroku,
P
j Pi,j = 1 (ma to być prawdopodobieństwo),
stan początkowy p0 (lub rozkład P0 , z którego ma pochodzić
stan początkowy),
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Definicja (nieformalna)
Dynamika:
jako stan w kroku t = 0 wybieramy stan początkowy p0 (lub
losujemy go z rozkładu P0 ),
w kroku t > 0 jesteśmy w stanie i,
stan dla kroku t + 1 wybieramy losowo, ale zgodnie z tablicą
przejść, tj.
stan 1-szy z prawdopodobieństwem Pi,1 ,
stan 2-gi z prawdopodobieństwem Pi,2 ,
stan i-ty z prawdopodobieństwem Pi,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... (własność Markowa).
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Definicja (formalna)
Łańcuch Markowa, ang. Markov Chain (MC)
jest to proces stochastyczny (tj. ciąg zminnych losowych), taki
że
prawdopodobieństwo znalezienia się w kroku t-ym w stanie x
zależy tylko od stanu łańcucha w kroku t − 1 -ym:
P(Xt = x|Xt−1 = xt−1 , Xt−2 = xt−2 , ..., X0 = x0 ) =
= P(Xt = x|Xt−1 = xt−1 ).
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Interpretacja
Peprezentacja MC w postaci (ważonego) grafu skierowanego :
wierzchołkami są wszystkie stany Σ,
jeżeli prawdopodobieństwo bezpośredniego przejścia z i do j jest
dodatnie Pij > 0, to dodajemy krawędź (i, j) do grafu (z wagą
Pij ),
krawędzie nie muszą być symetryczne,
wagi krawędzi wychodzących z wierzchołka sumują się do
jedynki,
w/w własność nie musi zachodzić dla krawędzi wchodzących.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Interpretacja
wydział
P
dom
dom
0.1
wydział
0.4
stołówka 0.5
klub
1.0
klub
dom
wydział
0.5
0
0.2
0
stołówka
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
stołówka
0.4
0.3
0
0
klub
0
0.3
0.3
0
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Stan przechodni
a
stan a jest przechodni, jeżeli istnieje
ścieżka wychodząca z a bez powrotu
b
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
c
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Stan porwacający
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
M. Czoków, J. Piersa
b
WSN 2011/2012 Wykład 12
c
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Klasa rekursji
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,
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Klasa rekursji
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,
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Łańcuch nieprzywiedlny
a
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
M. Czoków, J. Piersa
b
WSN 2011/2012 Wykład 12
c
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Stan okresowy / nieokresowy
Stan a jest nieokresowy (ang. aperiodic), jeżeli z każdego stanu da
się dojść do wszystkich innych oraz
gcd{i : P(a →
| ··· →
{z · · · →} a) > 0} = 1
w i krokach
d
a
b
c
a
b
c
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Stan okresowy / nieokresowy
Stan a jest nieokresowy (ang. aperiodic), jeżeli z każdego stanu da
się dojść do wszystkich innych oraz
gcd{i : P(a →
| ··· →
{z · · · →} a) > 0} = 1
w i krokach
d
a
c
b
a
b
c
okresowy
nieokresowy
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Błądzenie losowe
20
10
0
-10
-20
-30
-40
0
200
400
M. Czoków, J. Piersa
600
800
WSN 2011/2012 Wykład 12
1000
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Zastosowania
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-Hastingsa),
algorytmy typu symulowanego wyżarzania (następy wykład).
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Losowanie z rozkładu dyskretnego
x1p=0.04
dane niech będzie n kategorii
z przypisanymi
prawdopodobieństwami
p1 , .., pn .
chcemy wylosować jedną
z kategorii z odpowiadającym
jej prawdopodobieństwem
P(X = i) = pi
x7p=0.26
x3p=0.25
x4p=0.01
x5p=0.09
M. Czoków, J. Piersa
x8p=0.11
x2p=0.09
WSN 2011/2012 Wykład 12
x6p=0.15
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Algorytm naiwny
P(X = i) = pi
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 do sn można liczyć na bieżąco w trakcie działania pętli.
Jeżeli losowanie będzie wielokrotnie powtarzane, to zapamiętujemy je
w tablicy.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Algorytm podziału odcinka
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
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Definicja
Własności
Zastosowania
Symulowanie MC
Algorytm generowania
wylosuj u1 ∼ Ex(p1 ), u2 ∼ Ex(p2 )..., un ∼ Ex(pn )
np. algorytmem odwracania dystrybuanty, Ex(λ)
wylosuj T ∼ U(0,1)
zwróć −1
λ ln(T )
znajdź indeks i, taki że ui = min(u1 , ..., un )
zwróć i
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
1
Definicja Łańcucha Markowa
Definicja
Własności
Zastosowania
Symulowanie MC
2
Stan stacjonarny
Istnienie
Szukanie stanu stacjonarnego
3
Zadania
M. Czoków, J. Piersa
Istnienie
Szukanie stanu stacjonarnego
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Twierdzenie
(n)
Niech Pij = (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.
P
Wtedy istnieje wektor probabilistyczny πi , i πi = 1, ∀i πi > 0, taki
że
(n)
lim Pij = πj .
n→+∞
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Rozkład stacjonarny
rozkład π nazywany jest rozkładem stacjonarnym łańcucha
Markowa,
odpowiednio długo symulowany MC zbiega do swojego rozkładu
stacjonarnego (o ile go posiada).
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Rozkład stacjonarny
Interpretacja
po dłuższym czasie obserwator może stwierdzić, że łańcuch
popadł 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ć,
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Jak znalźć rozkład stacjonarny
Dane: łańcuch Markowa opisany przez macierz przejścia P.
Cel: chcemy znaleźć rozkład stacjonarny π.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Obserwacja
przyp. Pij = 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) = Pik Pkj
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) =
M. Czoków, J. Piersa
Pik Pkj
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Obserwacja
przyp. Pij = 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) = Pik Pkj
prawdopodobieństwo przejścia z i do j w dokładnie dwóch
krokach, ale przez dowolny wierzchołek pośredni
X
Pik Pkj
P(i → → j) =
k
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Obserwacja
prawdopodobieństwo przejścia z i do j w dokładnie dwóch
krokach przez dowolny wierzchołek pośredni
X
P(i →2kroki j) =
Pik Pkj
k
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 .
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
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.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Sposób 1

0.10
 0.40
P=
 0.30
1.00

0.60
0.00
0.30
0.00
0.30
0.20
0.00
0.00
0.34 0.15 0.15
 0.50 0.30 0.12
2
P =
 0.55 0.18 0.15
0.10 0.60 0.30

0.00
0.40 

0.40 
0.00

0.36
0.08 

0.12 
0.00
M. Czoków, J. Piersa


0.30 0.33 0.19 0.15
 0.39 0.23 0.15 0.21 

P4 = 
 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 

P8 = 
 0.38 0.27 0.16 0.17 
0.36 0.28 0.17 0.17
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu 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,
za prawdopodobieństwo przyjęcia stanu i przyjmujemy
πi :=
ilość kroków, w których łańcuch był w stanie i-tym
N
Czasem się go określa jako MCMC = Markov Chain Monte Carlo.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Sposób 2
400
350

0.10
 0.40
P=
 0.30
1.00
T = 379

0.00
0.40 

0.40 
0.00
288 149 184
0.60
0.00
0.30
0.00
0.30
0.20
0.00
0.00
300
250
200
150
100
50
0
0
M. Czoków, J. Piersa
1
2
WSN 2011/2012 Wykład 12
3
4
5
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Sposób 2
Problem:
Kiedy zakończyć wstępną symulację?
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
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
sklejają 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.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Sposób 2
a
Uwaga! istnieją łańcuchy Markowa, dla
których ten algorytm się zapętli (ale dla
takich nie istnieje rozkład stacjonarny —
nie spełniają założeń twierdzenia!).
M. Czoków, J. Piersa
b
a b c
a 0 1 0
b 0.5 0 0.5
c 0 1 0
WSN 2011/2012 Wykład 12
c
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Istnienie
Szukanie stanu stacjonarnego
Za tydzień
Wykorzystanie MC do konstrukcji stochastycznej dynamiki
w sieci neuronowej (maszyna Boltzmanna).
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Pytania
Co to jest łańcuch Markowa? Podaj przykład.
Podaj przykłady przywiedlnego i nieprzywiedlnego MC.
Podaj przykłady okresowego i nieokresowego MC.
Dla zadanej macierzy przejścia MC narysuj odpowiadający graf.
Czy podany łańcuch Markowa zadany przez graf jest
nieprzywiedlny / aperiodyczny?
Czy podany łańcuch Markowa zadany przez macierz przejścia
jest nieprzywiedlny / aperiodyczny?
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12
Definicja Łańcucha Markowa
Stan stacjonarny
Zadania
Zadania
Zaimplementuj algorytm symulujący MC o zadanej macierzy
przejść P.
Znajdź (numerycznie) rozkład stacjonarny zadanego łańcucha
Markowa.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 12

Podobne dokumenty