1. 程式人生 > >隨機遊走與馬爾科夫鏈的一些基礎

隨機遊走與馬爾科夫鏈的一些基礎

轉載自:http://blog.csdn.net/assiduousknight/article/details/18150803

這幾天在看一些使用到了隨機遊走的相關文獻,整理一下常用的公式和性質

隨機遊走(random walk)矩陣可以看做是馬爾科夫鏈的一種特例。對於一個G的鄰接矩陣A來說,A中的非零元素描述了圖G中每一條邊的權重(這裡一般要求A的對角線為零)。這個權重描述了節點之間的相似性。如果我們對A進行按行歸一化,即

P=D1A, D是A的度矩陣,是一個對角陣,對角線元素D(i,i)=jA(i,j)。這樣的到的矩陣P就是一個隨機遊走矩陣。每個點與其他所有節點的跳轉概率之和為1,
jP(i,j)=1.

一個隨機遊走矩陣對應的是一個遍歷的馬爾科夫鏈,也就是說任意兩個狀態之間都可以互相到達。從任意狀態at出發,經過一步轉移,下一時刻的概率為

at+1=atP. 這樣一直進行下去,經過一定時間可以到達穩態(equilibirum state)。所謂穩態,就是說狀態的概率分佈不再進行變化: πP=π. 這裡π就是穩態。仔細觀察這個方程,可以看出穩態實際上就是隨機遊走矩陣特徵值1所對應的特徵向量。另外一個計算穩態的方法是 π=D(i,i)/ijA(i,j).

馬爾科夫鏈的基礎矩陣定義為

Z=(IPW)1. 其中I是一個單位陣,P為對應的隨機遊走矩陣,W是將穩態按行堆疊形成的矩陣。對於一個正規的馬爾科夫鏈(即P的任何次方都沒有負值的元素),W可以看做
Pn中n趨於無窮大的情況。通過基礎矩陣,我們可以計算馬爾科夫鏈的很多特性。其中主要包括了各種訪問時間:

1. 從狀態i出發返回狀態i的時間期望:

EiT+i=1/πi

2. 從狀態i出發,回到狀態i之前,訪問狀態j的次數期望:

EiVj(T+i)=πj/πi

3. 從狀態i出發,到達狀態j的時間期望: 

EiTj=EiT+i(Zj,jZi,j)

4. 從狀態j出發,到達狀態i之前,訪問狀態j的次數期望(ij)

EiVj(Tj)=πj(EjTi+EiTj)

5. 從狀態i出發,到達狀態l之前,訪問狀態j的次數期望(il)

EiVj(Tl)=
πj(EiTl+ElTjEiTj)

6. 從穩態出發,到達狀態i的時間期望:

EπTi=EiT+iZi,j

7. 從穩態出發,到達狀態i之前,訪問狀態j的次數:

EπVj(Ti)=EiT+iEjT+jZi,iZi,j

下面給出三個定理

1. 對狀態ij

Pi(Tj<T+j)=1πi(EiTj+EjTi)

2. 對狀態il,jl,

Pi(Tj<Tl)=EiTl+ElTjEiTjEjTl+ElTj

3. 對任意狀態i,

jEiTjEjT+j=jZj,j,

和i無關。

注:上述標記中,上標的加號代表不計算初始時間,也就是如果從狀態i出發經過n步回到狀態i,那麼