- 計算智能算法及其生產(chǎn)調度應用
- 任劍鋒
- 8405字
- 2024-06-28 19:12:25
2.2 概率圖模型
概率圖模型是通過以圖為工具表達變量關系的概率模型,一般一個節(jié)點表示一個或一組隨機變量,變量之間的概率關系通過節(jié)點間的邊表示。概率圖模型可以通過有向無環(huán)圖和無向圖表示變量間的依賴關系,前者稱為有貝葉斯網(wǎng)或有向圖模型,后者稱為馬爾可夫網(wǎng)或無向圖模型。
2.2.1 隱馬爾可夫模型
馬爾可夫過程表示數(shù)學中具有馬爾可夫性質的離散隨機過程,在該過程中,下一時刻的狀態(tài)只與當前狀態(tài)有關,與上一時刻狀態(tài)無關。最簡單的馬爾可夫過程就是一階過程,每一個狀態(tài)的轉移只依賴其之前的那一個狀態(tài)。
假定一天的天氣狀況有晴(高溫狀態(tài))、陰(低溫狀態(tài))、雨(涼爽狀態(tài))三種,這三件事按圖2.1所示的方向轉移:

圖2.1 天氣狀態(tài)轉換
這個過程就是一個簡單的馬爾可夫過程,但馬爾可夫過程和確定性系統(tǒng)不同,狀態(tài)之間的轉移是有概率的,天氣的狀態(tài)是經(jīng)常變化的,而且會在兩個狀態(tài)間任意切換,如圖2.2所示。

圖2.2 天氣變換概率
圖2.2中箭頭表示天氣從一個狀態(tài)切換到另一個狀態(tài)的概率,保持晴天的概率是0.5,由晴天轉為陰天的概率為0.4,由晴天轉為下雨的概率為0.1。
當前狀態(tài)的轉移依賴之前的n個狀態(tài),當n為1時即為馬爾可夫假設;并由此可以得出馬爾可夫鏈的如下定義:
馬爾可夫鏈是一組具有馬爾可夫性質的離散隨機變量的集合S={St∶t>0},隨機變量的所有可能取值的集合被稱為狀態(tài)空間,St的值則是在時間t的狀態(tài)。若St+1對于過去狀態(tài)的條件概率分布僅是St的一個函數(shù),即稱S為馬爾可夫鏈。

這里定義的馬爾可夫鏈是離散時間馬爾可夫鏈,具有連續(xù)指數(shù)集的情形稱為馬爾可夫過程。
隱馬爾可夫模型是描述含有隱含未知參數(shù)的馬爾可夫過程,從可觀察的參數(shù)中確定隱含參數(shù),然后利用這些參數(shù)來做進一步的統(tǒng)計與預測,是最簡單的貝葉斯網(wǎng),多用于動態(tài)時序數(shù)據(jù)建模,被建模的系統(tǒng)被認為是一個馬爾可夫過程與未觀測到的(隱藏的)狀態(tài)統(tǒng)計。
隱馬爾可夫模型包含兩個狀態(tài)集合,分別為可觀測的狀態(tài)集和隱藏的狀態(tài)集,通過可觀測狀態(tài)預測隱藏狀態(tài),如圖2.3所示。

圖2.3 可觀測和隱藏狀態(tài)
由此可以通過觀測狀態(tài)溫度、大氣壓和降水等觀測狀態(tài)O={OT,OA,OR}來判斷隱藏狀態(tài)S={SF,SC,SR}。在晴天狀態(tài)下,觀測到溫度高的概率高,觀測到氣壓低的概率低,觀測到降水的概率低;如果觀測到溫度低的概率高,氣壓低的概率高,降水的概率較低的時候,則大概率是陰天的狀態(tài);如果觀測到溫度低的概率低,氣壓低的概率低,降水的概率高的時候,則大概率是下雨的狀態(tài)。由此可知,天氣可觀測的狀態(tài)序列和隱藏的狀態(tài)序列是概率相關的,則可以將此類型的過程建模為一個隱藏的馬爾可夫過程和一個與之概率相關的可觀測狀態(tài)集合,即隱馬爾可夫模型。
隱馬爾可夫模型可以通過混淆矩陣表示,矩陣的行表示隱藏狀態(tài),每一行的概率值之和為1,列表示可觀測狀態(tài),圖2.3的混淆矩陣為:

上述問題的狀態(tài)轉移矩陣為:

隱馬爾可夫模型可以用5元組{N,M,π,A,B}表示,N表示隱藏狀態(tài)的數(shù)量,M表示可觀測狀態(tài)的數(shù)量,π={πi}表示初始隱藏狀態(tài)的概率,A表示隱藏狀態(tài)的轉移矩陣,B表示混淆矩陣。
圖2.3中隱藏狀態(tài)N=3,可觀測狀態(tài)M=3。
在實際應用中,給定狀態(tài)轉移矩陣、混淆矩陣和初始狀態(tài)概率可確定隱馬爾可夫模型,可按照如下過程產(chǎn)生相應的觀測序列:
(1)設置時間步為1,根據(jù)初始狀態(tài)的概率選擇初始狀態(tài)值;
(2)根據(jù)當前狀態(tài)值和觀測概率選擇觀測變量;
(3)根據(jù)當前狀態(tài)值和狀態(tài)轉移矩陣選擇下一時間步的狀態(tài)值;
(4)直至滿足確定的時間步要求。
常見的和隱馬爾可夫模型相關問題如下:
(1)給定隱馬爾可夫模型的初始狀態(tài)、狀態(tài)轉移矩陣和混淆矩陣,計算產(chǎn)生給定觀測序列的概率。即根據(jù)已有的觀測序列推測當前時刻最可能出現(xiàn)的觀測值。
(2)給定隱馬爾可夫模型的初始狀態(tài)、狀態(tài)轉移矩陣、混淆矩陣和觀測序列。計算與之對應的隱藏狀態(tài)序列,即根據(jù)觀測信號推斷最大可能的隱藏狀態(tài)序列。
(3)根據(jù)給定的觀測序列,計算隱馬爾可夫模型的參數(shù),且使得出現(xiàn)給定序列的概率最大,常用于通過學習樣本來得到模型參數(shù),以便更好地描述觀測數(shù)據(jù)。
2.2.2 貝葉斯網(wǎng)絡
貝葉斯網(wǎng)絡也稱信念網(wǎng)絡或有向無環(huán)圖模型,是一種概率圖模型,于1985年由Judea Pearl首先提出,是一種模擬人類推理過程中因果關系的不確定性處理模型。有向無環(huán)圖可表示其網(wǎng)絡拓撲結構,圖中的節(jié)點表示隨機變量,可以表示可觀察到的變量、隱變量、未知參數(shù)等。有因果關系或非條件獨立的變量和命題在有向無環(huán)圖中通過箭頭對表示“因”和“果”的兩個節(jié)點進行連接,連接在一起的兩個節(jié)點會產(chǎn)生一個條件概率值。例如,假定節(jié)點A直接影響到節(jié)點B,通過A→B來表示,可用從節(jié)點A指向節(jié)點B的箭頭來構建A到B的有向弧(A,B),權值可用條件概率來表示,用圓圈表示隨機變量,用箭頭表示變量之間的條件依賴,如圖2.4所示。

圖2.4 條件概率表示
將某系統(tǒng)中涉及的全部隨機變量,根據(jù)變量之間是否條件獨立表示在一個有向圖中,用來表示隨機變量之間的條件依賴,即構成了貝葉斯網(wǎng)絡。G=(I,E)表示有向無環(huán)圖,式中I表示有向無環(huán)圖中所有的節(jié)點的集合,E表示有向連接弧的集合,假設X=(Xj),j∈I表示圖2.4中的某節(jié)點j表示的隨機變量,則節(jié)點X的聯(lián)合概率可以表示為

X即為相對于有向無環(huán)圖G的貝葉斯網(wǎng)絡。
概率的先驗獨立性和條件獨立性如下:
先驗獨立性:P(X,Y)=P(X)×P(Y)
條件獨立性:
采用多個條件概率的乘積來計算聯(lián)合概率的方法叫作鏈式法則,每一個貝葉斯網(wǎng)絡都對應了一套鏈式法則來計算聯(lián)合概率,同時每一個鏈式法則在忽略弱依賴關系時,對于任意隨機變量,聯(lián)合概率可由各局部條件概率分布相乘求得:

簡單貝葉斯網(wǎng)絡如圖2.5所示:

圖2.5 簡單貝葉斯網(wǎng)絡
因為A導致B,A和B導致C,所以有下式:

貝葉斯網(wǎng)絡共有三種結構形式,分別為head-to-head、tail-to-tail和head-to-tail。
貝葉斯網(wǎng)絡如圖2.6所示。
從圖2.6可以比較直觀地看出:
x1,x2,…,x7的聯(lián)合分布為:
(1);

圖2.6 貝葉斯網(wǎng)絡
(2)x1、x2獨立;
(3)x4和x5在x6給定的條件下獨立。
拓撲結構1:匯連結構(head-to-head)。匯連結構形式如圖2.7所示:

圖2.7 匯連結構
則有成立,化簡可得:

可得:

在x7未知的條件下,x1、x2是被阻斷的,稱為head-to-head條件獨立。
拓撲結構2:分連結構(tail-to-tail)。分連結構形式如圖2.8所示:

圖2.8 分連結構
考慮C未知和C已知這兩種情況:
在x6未知時,有,此時無法得到p(x4,x5)=p(x4)p(x5),即x6未知時,x4、x5不獨立。
在x6已知時,有,將p(x4,x5,x6)=
代入式中,可以得到:
即x6已知時,x4、x5獨立。因此,當x6已知時,x4、x5是被阻斷的,稱為tail-to-tail條件獨立,即x4和x5在x6給定的條件下獨立。
拓撲結構3:直連結構(head-to-tail)。直連結構形式如圖2.9所示:

圖2.9 直連結構
當x6未知時,有,無法推出p(x1,x4)=p(x1)p(x4),即x6未知時,x1、x4不獨立。
當x6已知時,有,根據(jù)p(x1,
,可得:

即在x6已知時,x1、x4被阻斷(blocked),稱為head-to-tail條件獨立。
顯然,head-to-tail其實就是一個鏈式網(wǎng)絡,在x6給定的條件下,x4的分布和x1條件獨立,也就是x4的分布狀態(tài)只和x6有關,和其他變量條件獨立。即當前狀態(tài)只跟上一狀態(tài)有關,這一隨機過程叫作馬爾可夫鏈。
例2.1:煤炭是工業(yè)的食糧,是人類的生產(chǎn)生活必不可缺的能量來源之一,煤炭的供應也關系到各國的工業(yè)乃至整個社會發(fā)展的穩(wěn)定。造成煤炭價格波動的因素較為復雜,同時煤炭價格的波動也會影響其他相關行業(yè)的健康發(fā)展。當煤炭的價格上漲時,有80%的可能性會引起當?shù)仉妰r的上漲,并且有40%的可能性會帶來失業(yè)率的上升;如果煤炭價格穩(wěn)定,引起電價上漲和失業(yè)率提高的可能性只有10%。若煤炭的產(chǎn)量持續(xù)增加且不出現(xiàn)長期的高溫天氣,煤炭有70%的可能性保持價格穩(wěn)定;如果產(chǎn)量下降或出現(xiàn)持續(xù)高溫天氣,煤炭有60%的可能性保持價格穩(wěn)定。當產(chǎn)量下降的同時又伴隨持續(xù)高溫,則煤炭只有30%的可能性保持價格穩(wěn)定。根據(jù)統(tǒng)計數(shù)據(jù)得知,煤炭產(chǎn)量持續(xù)增加的可能性為50%,同時有20%的可能性出現(xiàn)持續(xù)高溫天氣。
上述問題可以通過圖2.10有向無環(huán)圖表示,橢圓節(jié)點表示變量,有向邊表示變量之間的依賴關系,起始節(jié)點表示父節(jié)點,終止節(jié)點為子節(jié)點,比如圖2.10中Y節(jié)點是C節(jié)點的父節(jié)點,C節(jié)點為Y節(jié)點的子節(jié)點。每個節(jié)點的概率值以條件概率表的形式給出。條件概率表是在父節(jié)點約束下的子節(jié)點條件分布,變量以二值的形式取值,比如Y節(jié)點取值T時表示煤炭產(chǎn)量穩(wěn)定,取值為F時表示產(chǎn)量不穩(wěn)定,則該問題各變量的聯(lián)合概率分布為P(Y,H,C,E,R)。根據(jù)條件概率公式和變量的獨立性,可以得到如下的等量變換:


圖2.10 有向無環(huán)圖
2.2.3 貝葉斯網(wǎng)絡推理
貝葉斯網(wǎng)絡推理算法一般分為精確推理算法和近似推理算法。其中精確推理算法希望能計算出目標變量的邊際分布或條件分布的精確值,但此類算法的計算復雜度隨著極大團規(guī)模的增長呈指數(shù)增長,不適用于規(guī)模較大的貝葉斯網(wǎng)絡,因此當貝葉斯網(wǎng)絡的規(guī)模較大時,一般采用近似推理,以便在較低時間復雜度下獲得問題的近似解。常見的貝葉斯精確推理算法有:多樹傳播(Polytree Propagation)推理算法;團樹傳播(Clique Tree Propagation)推理算法,比如聯(lián)結樹(Junction Tree Propagation)推理算法;基于組合優(yōu)化的求解算法,如符號推理(Symbolic ProbabilisticInference)和桶消元推理(Bucket Elemination Inference)算法。近似推理算法主要有:基于搜索的(Search-Based)方法、Monte Carlo算法等。
2.2.3.1 精確推理
貝葉斯網(wǎng)絡精確推理的常用方法有變量消元法、枚舉推理法等,本質上是通過動態(tài)規(guī)劃算法來計算目標概率值,通過給定的證據(jù)變量計算查詢變量的后驗概率分布。變量消元法是一種基于變量的條件獨立性的精確推理算法,通過計算邊際概率消去非計算目標的概率值,如圖2.11所示。

圖2.11 變量消元法
變量消元法就是對聯(lián)合概率求和消去其他變量得到邊緣分布,如圖2.11首先把z消元,得到僅含x和y的表,然后再對y進行求和得到只含x的概率表。
以圖2.12中的貝葉斯網(wǎng)為例,計算P(D2),則有:

為了降低推理計算的復雜度,可以分解聯(lián)合分布的因子。與變量A有關的因子是P(A)和,與變量B有關的因子是
和
,與變量C有關的因子是
和
,因此,有:

消元變量A只涉及自身和變量B,消元變量B只涉及自身和變量C,消元變量D1只涉及自身和變量C,消元變量C只涉及自身和變量D2,因此可以通過局部運算有效降低推理的復雜度,可以如下描述消元法的算法。
(1)設貝葉斯網(wǎng)中概率分布的集合為Ω,有:

(2)將集合Ω中含變量A的因子P(A)和合并求和得到新因子:

并將新因子f1(B)加入集合Ω,同時消去因子P(A)和,達到消元變量A的目的,得到更新的集合Ω:

(3)將集合Ω中含變量B的因子f1(B)和合并求和得到新因子:

并將新因子f2(C)加入集合Ω,同時消去因子f1(B)和,達到消元變量B的目的,得到更新的集合Ω:

(4)將集合Ω中含變量D1的因子計算得到新因子:

并將新因子f(C)加入集合Ω,同時消去因子f1(B)和,達到消元變量D1的目的,得到更新的集合Ω:

(5)將集合Ω中含變量C的因子f2(C)、f3(C)和合并求和得到新因子:

達到消元變量C的目的。
(6)返回f4(D2),即問題的目標P(D2),如圖2.12所示。

圖2.12 消元順序
變量消元法計算的復雜度和消元的順序有關系,而最優(yōu)的消元順序是NP-hard問題,所以實際計算中一般采取啟發(fā)式的規(guī)則進行計算,常用的算法有最大勢搜索和最小缺邊搜索。
圖2.13是包含8個節(jié)點的無向圖,最大勢搜索是對圖中所有節(jié)點按照如下規(guī)則進行編號,在t步中選擇具有最多已編號相鄰節(jié)點的未編號節(jié)點,若有多個則選擇其中一個并將編號定為8-t+1。當所有節(jié)點被編號后,按照從小到大的順序排序節(jié)點,即可得到變量消元順序。

圖2.13 無向圖
如圖2.13,任意選擇節(jié)點H,并編號為8。下一可選節(jié)點為有1個已編號鄰接節(jié)點H的E、F或G,任意選擇節(jié)點F,并編號為7。下一節(jié)點則只能選擇有2個已編號鄰接節(jié)點H和F的E,編號為6。下一節(jié)點選擇有2個已編號鄰接節(jié)點E和H的G,編號為5。下一可選節(jié)點有1個已編號鄰接節(jié)點的C、D或A,任意選擇節(jié)點A,并編號為4。下一節(jié)點選擇有2個已編號鄰接節(jié)點A和E的D,編號為3。下一節(jié)點選擇有2個已編號鄰接節(jié)點D和E的C,編號為2。最后將節(jié)點B編號為1,得到最終的消元順序為<B,C,D,A,G,E,F,H>。
變量消元算法的缺點主要表現(xiàn)在需要計算多個邊緣分布,多次執(zhí)行變量消元算法,中間會有很多結果可以復用,但是變量消元算法需計算多次,導致效率低下。
2.2.3.2 近似推理
精確推理需要大量的計算開銷,在實際應用中面對較大規(guī)模的問題時近似推理更為常用。近似推理的核心思想是通過隨機采樣得到相應的樣本集,進而通過樣本的頻率來逼近查詢概率。蒙特卡洛方法也被稱為統(tǒng)計模擬方法、統(tǒng)計試驗法、隨機抽樣技術等,該方法于20世紀40年代由美國在第二次世界大戰(zhàn)中研制原子彈的“曼哈頓計劃”的成員S.M.烏拉姆和J.馮·諾伊曼首先提出,馮·諾伊曼用賭城摩納哥的Monte Carlo來命名。廣泛應用于人工智能、金融工程學、宏觀經(jīng)濟學、生物醫(yī)學、計算物理學,諸如粒子輸運計算、量子熱力學計算、空氣動力學計算、核工程等領域。常見的采樣方法有直接采樣方法、接受—拒絕采樣方法、重要性采樣方法、MCMC采樣方法、Metropolis-Hastings采樣方法等。
(1)直接采樣方法。
蒙特卡洛方法是通過隨機模擬的方式求解不太容易求解的和或者積分問題,使用采樣+平均核心思想估計無法計算的值。
直接采樣的方法是根據(jù)概率分布進行采樣。對一個已知概率密度函數(shù)與累積概率密度函數(shù)的概率分布,我們可以直接從累積分布函數(shù)進行采樣。
在例2.1中,考慮如下推理問題:假設觀察到失業(yè)率提高,計算該結果由于煤炭產(chǎn)量下降引起的概率是多少。針對此問題,首先可以根據(jù)煤炭產(chǎn)量和高溫天氣的先驗概率生成一個樣本,并記錄樣本的取值;其次以樣本的取值為條件,按照煤炭價格上漲的條件概率生成樣本,并記錄樣本的取值;最后根據(jù)獨立向分別計算在煤炭價格為條件時生成電價和失業(yè)率的樣本。產(chǎn)生大量樣本后,統(tǒng)計取值<*,r,*,y,*>和<*,r,*,*,*>的樣本個數(shù),分別記為N(*,r,*,y,*)和N(*,r,*,*,*),根據(jù)概率的定義,當采集的樣本量較大時,則N(*,r,*,y,*)/N(*,r,*,*,*)即可作為近似結果輸出,當樣本總量趨于無窮時,結果即為問題的概率。在實際應用中,由于很多分布無法寫出概率密度函數(shù)與累積分布函數(shù),因此直接采樣方法的適用范圍較窄。
例2.2:應用蒙特卡洛方法求圓周率,如圖2.14所示。圓的半徑為r=1,正方形的邊長為1,根據(jù)圓面積的計算公式可知圓的面積為πr2=π,同時正方形內部的相切圓的面積為整個圓面積的1/4,也就是。正方形的面積為1。然后向正方形中隨機打點,則點就會以一定的概率落在1/4圓中,而點落在1/4圓中的概率為:

圖2.14 用蒙特卡洛方法求解圓周率
圓的面積/正方形面積=,
然后即可推出圓周率的計算公式為:

(2)接受—拒絕采樣方法。
接受—拒絕采樣方法用于累積分布函數(shù)未知的問題。如圖2.15所示,p(z)是希望采樣的分布,很多實際問題中,p(z)因太復雜在程序中沒法直接采樣,需要借助其他的手段來采樣,因此設置提議的程序可抽樣分布q(z),比如高斯分布,且kq(z)>p(z)。在kq(z)中按照直接采樣的方法采樣,然后判斷這個樣本的取值是否符合給定觀測,不符合給定觀測的樣本予以拒絕,符合給定觀測的樣本予以接受,最終得到符合p(z)的N個樣本。樣本量越大,得到的查詢概率越接近真實值,當樣本量區(qū)域無窮大時得到的查詢概率和真實值嚴格相等。接受—拒絕采樣方法因為在采樣過程中要丟棄大量不符合觀測值的樣本,所以計算效率不高。

圖2.15 接受—拒絕采樣
(3)重要性采樣方法。
接受—拒絕采樣解決了累積分布函數(shù)未知的采樣問題,但采樣的效果取決于提議分布的選擇,如果提議分布選擇得不好,則會出現(xiàn)計算效率低下且難以得到符合觀測值的樣本。與直接采樣與接受—拒絕采樣將每個樣本默認相同的權重不同,重要性采樣給予每個樣本不同的權重,使用加權平均的方法來計算期望。

通過從提議分布q(z)中采樣樣本z1,z2,…,zn,每個樣本的權重是,通過加權平均的方式計算期望,如:

(4)MCMC抽樣方法。
馬爾可夫鏈是概率論和數(shù)理統(tǒng)計中具有馬爾可夫性質且存在于離散的指數(shù)集和狀態(tài)空間內的隨機過程,也就是通過時間串聯(lián)的一系列隨機變量,可通過轉移矩陣和轉移圖定義。馬爾可夫鏈可被應用于蒙特卡洛方法中,形成馬爾可夫鏈蒙特卡洛采樣方法,即MCMC方法。
舉例說明馬爾可夫鏈。按照十年河東十年河西的說法,窮人和富人之間會在一定概率下相互轉變。為便于計算,假定窮人人口和富人人口每年會發(fā)生一次轉變,且轉變概率是固定的。假定每年富人轉變?yōu)楦F人的概率是4%,窮人轉變?yōu)楦蝗说母怕适?%。如果某一年,某區(qū)域的富人和窮人的人口分別是5000和35000,那么該區(qū)域下一年窮人和富人的分布如何呢?
首先構造轉移矩陣:

則富人和窮人的分布為:

因此,每個人作為一個個體,其個人的窮富狀態(tài)其實根據(jù)個人的奮斗情況在轉變:比如t=1時,是窮人;t=2時,經(jīng)過奮斗則會變成富人。馬爾可夫鏈就是生成這樣一段狀態(tài)序列的隨機過程,其中城市和農(nóng)村互相流動的矩陣,叫作遷移矩陣。馬爾可夫鏈的這個隨機過程滿足馬爾可夫性質,也就是某一個狀態(tài)的值,只跟前一個狀態(tài)相關,即一階齊次馬爾可夫鏈。用公式表示就是:

在遷移矩陣中,每一個元素對應一個條件概率值,經(jīng)過一定階段的迭代之后,最終窮人和富人的人數(shù)相對固定了,富人是26667,窮人是13333。對于該區(qū)域而言,只要總人口是40000,無論初始的窮人和富人比例如何,最終都會收斂到富人是26667,窮人是13333。簡單分析原因,窮人經(jīng)過奮斗會變得富有,而富人如果墮落則會變得窮困。隨著時間的推移,窮人逐漸減少,而富人逐漸增加,但最終窮人變富和富人變窮的數(shù)量是相等的,即兩類人群的流入和流出是相等的,達到一種相對平穩(wěn)的分布,這個分布就是馬爾可夫鏈的平穩(wěn)分布。
馬爾可夫鏈收斂于平穩(wěn)分布π,π是方程πP=π唯一非負解。把這個解用向量方式表示,即:

且,。
因此,對于一個非周期的馬爾可夫鏈轉移矩陣P,其任何兩個狀態(tài)是連通的,存在,并且與i獨立,記為
,則有:
π是方程πP=π唯一非負解:

且,π=[π(1),π(2),…,π(j),…],
則π成為馬爾可夫鏈的平穩(wěn)分布。
MCMC方法的核心是對于任意給定的目標分布,找到以該目標分布為穩(wěn)態(tài)分布的馬爾可夫鏈,并基于馬爾可夫鏈采樣方法對其近似采樣。
(5)Metropolis-Hastings采樣方法。
若要基于給定的概率分布高效生成對應的樣本,由于馬爾可夫鏈可以收斂到平穩(wěn)分布,最直觀的需要是構造一個轉移矩陣為P的馬爾可夫鏈,使得該馬爾可夫鏈的平穩(wěn)分布是π(x),則從任何一個初始狀態(tài)均可以得到相應的轉移序列,收集馬爾可夫鏈在收斂之后的樣本。
所以,基于馬爾可夫鏈采樣的關鍵問題是構造轉移矩陣,使得轉移矩陣滿足一定的條件,使平穩(wěn)分布恰好是目標分布P(x)。
轉移矩陣需要滿足的這個條件就是細致平穩(wěn)條件,細致平穩(wěn)條件是指對于給定的馬爾可夫鏈的轉移矩陣P和分布π,以及馬爾可夫鏈中的任意兩個狀態(tài)x和x*,如果有:

則分布π即為該馬爾可夫鏈的平穩(wěn)分布。
簡單分析細致平穩(wěn)條件,對于條件中等式兩側關于狀態(tài)x求和,則有:

則有,可得到平穩(wěn)分布的條件πP=π,即滿足細致平穩(wěn)條件的目標分布是基于轉移矩陣P的馬爾可夫鏈平穩(wěn)分布。
Metropolis-Hastings采樣方法提供了找到滿足細致平穩(wěn)條件的轉移矩陣P的思路。
在一般情況下,對于給定的目標概率π,任意轉移矩陣P不滿足π(x),即此時的轉移矩陣不滿足細致平穩(wěn)條件,Metropolis-Hastings方法試圖通過引入α(x,x*)和α(x*,x)因子來滿足細致平穩(wěn)條件,即:

為方便表示,將記為p(x,x*),將
記為p(x*,x)。為了使上式成立,按照對稱性,只需:

于是具備了設置因子α(x,x*)和α(x*,x)的可能性,從而等式π(x)p(x,x*)α(x,x*)=π(x*)p(x*,x)α(x*,x)可以得到滿足,對其進行如下改寫:

則有:

于是就將原轉移矩陣改造成了轉移矩陣Q,且Q滿足細致平穩(wěn)條件,引入的因子被稱為接受率,物理意義是以此接受率為概率接受轉移。以接受率α(x,x*)為例,當從狀態(tài)x轉移到狀態(tài)x*時,以α(x,x*)為概率接受這個轉移,則新的馬爾可夫鏈的轉移概率由原來的p(x,x*)變?yōu)?span id="w9la2og" class="emphasis_italic">p(x,x*)α(x,x*)。如圖2.16(a)所示。

圖2.16 狀態(tài)轉換圖
狀態(tài)2以0.4的概率向狀態(tài)1轉變,以0.5的概率向狀態(tài)3轉變,以0.1的概率保持在狀態(tài)2。疊加上接受率α(2,1)=0.6和α(2,3)=0.8之后,如圖2.16(b)所示。
疊加上接受率之后圖示的轉移概率發(fā)生了改變,狀態(tài)2到狀態(tài)1的轉移概率原為0.4,因為疊加了接受率α(2,1)=0.6,則狀態(tài)2到狀態(tài)1的轉移概率變?yōu)?.4×0.6=0.24,有0.4×0.4=0.16的概率仍保留在狀態(tài)2;狀態(tài)2到狀態(tài)3的轉移概率原為0.5,因為疊加了接受率α(2,3)=0.8,則狀態(tài)2到狀態(tài)3的轉移概率變?yōu)?.5×0.8=0.4,有0.5×0.2=0.1的概率仍保留在狀態(tài)2;而保留狀態(tài)2的概率則由原來的概率0.1增大到0.36(0.1+0.16+0.1=0.36)。
在馬爾可夫鏈蒙特卡洛方法中的Metropolis-Hastings方法中進一步明確了接受概率α的表達式:

以圖2.16為例,假定接受率α(2,1)=0.1和α(2,3)=0.2,在實際采樣過程中效率會很低,這是因為在等式π(x)p(x,x*)×0.1=π(x*)p(x*,x)×0.2中等號兩端的接受率過小,此時如果對等號兩端的接受率等比例放大,比如:

顯然仍滿足細致平穩(wěn)條件,而采樣的效率可以得到大幅提高。
- Ansible Configuration Management
- 大學計算機信息技術導論
- PIC單片機C語言非常入門與視頻演練
- 數(shù)據(jù)挖掘實用案例分析
- Apache Hive Essentials
- iClone 4.31 3D Animation Beginner's Guide
- Arduino &樂高創(chuàng)意機器人制作教程
- Java Web整合開發(fā)全程指南
- Excel 2007終極技巧金典
- 網(wǎng)站規(guī)劃與網(wǎng)頁設計
- 基于Quartus Ⅱ的數(shù)字系統(tǒng)Verilog HDL設計實例詳解
- PowerPoint 2003中文演示文稿5日通
- 案例解說虛擬儀器典型控制應用
- 探索中國物聯(lián)網(wǎng)之路
- Arduino創(chuàng)意機器人入門:基于Mixly