隨機遊走與馬爾科夫鏈的一些基礎
阿新 • • 發佈:2019-02-13
轉載自:http://blog.csdn.net/assiduousknight/article/details/18150803
這幾天在看一些使用到了隨機遊走的相關文獻,整理一下常用的公式和性質
隨機遊走(random walk)矩陣可以看做是馬爾科夫鏈的一種特例。對於一個圖G的鄰接矩陣A來說,A中的非零元素描述了圖G中每一條邊的權重(這裡一般要求A的對角線為零)。這個權重描述了節點之間的相似性。如果我們對A進行按行歸一化,即
P=D−1A, D是A的度矩陣,是一個對角陣,對角線元素D(i,i)=∑jA(i,j)。這樣的到的矩陣P就是一個隨機遊走矩陣。每個點與其他所有節點的跳轉概率之和為1,一個隨機遊走矩陣對應的是一個遍歷的馬爾科夫鏈,也就是說任意兩個狀態之間都可以互相到達。從任意狀態at出發,經過一步轉移,下一時刻的概率為
at+1=atP. 這樣一直進行下去,經過一定時間可以到達穩態(equilibirum state)。所謂穩態,就是說狀態的概率分佈不再進行變化: πP=π. 這裡π就是穩態。仔細觀察這個方程,可以看出穩態實際上就是隨機遊走矩陣特徵值1所對應的特徵向量。另外一個計算穩態的方法是 π=D(i,i)/∑i∑jA(i,j).馬爾科夫鏈的基礎矩陣定義為
Z=(I−P−W)−1. 其中I是一個單位陣,P為對應的隨機遊走矩陣,W是將穩態按行堆疊形成的矩陣。對於一個正規的馬爾科夫鏈(即P的任何次方都沒有負值的元素),W可以看做1. 從狀態i出發返回狀態i的時間期望:
EiT+i=1/πi2. 從狀態i出發,回到狀態i之前,訪問狀態j的次數期望:
EiVj(T+i)=πj/πi3. 從狀態i出發,到達狀態j的時間期望:
EiTj=EiT+i⋅(Zj,j−Zi,j)4. 從狀態j出發,到達狀態i之前,訪問狀態j的次數期望(i≠j):
EiVj(Tj)=πj(EjTi+EiTj)5. 從狀態i出發,到達狀態l之前,訪問狀態j的次數期望(i≠l):
EiVj(Tl)=6. 從穩態出發,到達狀態i的時間期望:
EπTi=EiT+i⋅Zi,j7. 從穩態出發,到達狀態i之前,訪問狀態j的次數:
EπVj(Ti)=EiT+iEjT+jZi,i−Zi,j下面給出三個定理
1. 對狀態i≠j,
Pi(Tj<T+j)=1πi(EiTj+EjTi)2. 對狀態i≠l,j≠l,
Pi(Tj<Tl)=EiTl+ElTj−EiTjEjTl+ElTj3. 對任意狀態i,
∑jEiTjEjT+j=∑jZj,j,和i無關。
注:上述標記中,上標的加號代表不計算初始時間,也就是如果從狀態i出發經過n步回到狀態i,那麼