馬爾可夫鏈蒙特卡羅法

2022-06-07 02:48:13 字數 2556 閱讀 7069

蒙特卡羅法

思想:假設概率分布的定義已知,然後通過隨機抽樣獲得概率分布的隨機樣本,通過得到的隨機樣本對概率分布的特徵進行分析。

for example:從隨機抽出的樣本中計算出樣本均值,從而得到總體的期望。

蒙特卡羅方法的核心:隨機抽樣

主要有直接抽樣,接受-拒絕抽樣,重要性抽樣

隨機抽樣

接受拒絕抽樣

input:抽樣的目標概率分布的概率密度函式\(p(x)\)

output:概率分布的隨機樣本\(x_1,x_2,...,x_n\)

parameters:樣本數n

建議分布:\(q(x)\),概率分布:\(p(x)\)

\[u<= \frac

\]數學期望估計

樣本均值:\(\hat\)

\[\hat = \frac\sum_^nf(x_i)

\]根據大數定律可知,當樣本容量增大時,樣本均值以概率1收斂於數學期望:

\[\hat -> e_[f(x)]~,~n->\infty

\]\[e_[f(x)] = \frac\sum_^nf(x_i)

\]積分計e算

\[\int_}h(x)dx

\]將\(h(x)\)分解成為乙個函式\(f(x)\)和乙個密度函式\(p(x)\)

\[\int_}h(x)dx = \int_}f(x)p(x)dx = e_[f(x)]

\]summery

一般的蒙特卡羅法中的抽樣分布是獨立的,而馬爾可夫鏈蒙特卡羅法中的抽樣樣本不是獨立的,樣本序列形成馬爾可夫鏈

馬爾可夫鏈

基本定義

馬爾可夫性:

\[p(x_t|x_0,x_1,x_2,...,x_) = p(x_t|x_)~,~t=1,2,...,n

\]馬爾可夫鏈(具有馬爾可夫性的隨機序列)也稱之為馬爾可夫過程:

\[x = \lbrace x_0,x_1,x_2,...,x_t,...\rbrace

\]馬爾可夫鏈的轉移概率分布(決定了馬爾可夫鏈的特性):

\[p(x_t|x_)~,~t=1,2,3,...,n

\]時間齊次的馬爾可夫鏈**移概率分布\(p(x_t|x_)\)與t無關):

\[p(x_|x_) = p(x_t|x_)~,~t=1,2,3,...,n

\]另外,還有n階馬爾可夫鏈,n階馬爾可夫鏈可以轉化成為1階馬爾可夫鏈。

離散狀態馬爾可夫鏈

直觀上,如果馬爾可夫鏈的平穩分布存在,那麼以該平穩分布作為初始分布,而向未來隨機狀態轉移,之後的任何乙個狀態也是平穩狀態。

平穩分布的充分必要條件

\[x_i = \sum_p_x_j

\]\[x_i>=0

\]\[\sum_ix_i=1

\]馬爾可夫鏈x在時刻t的狀態分布,可以由在時刻(t-1)的狀態分布,以及轉移概率決定:

\[\pi(t) = p\pi(t-1)

\]\(\pi(t) = p^t\pi(0)\),這裡的\(p^t\)稱為t步轉移概率矩陣。

連續狀態馬爾可夫鏈

轉移核\(p(x,a)\)定義為:

\[p(x,a) = \int_ap(x,y)dy

\]\[p(x_t = a|x_t-1 = x) = p(x,a)

\]馬爾可夫鏈的額性質

馬爾可夫鏈蒙特卡羅法

基本想法

燃燒期(0~m)

\(\hat = \frac\sum_^nf(x_i)\)

基本步驟

step 1:在隨機變數\(x\)的狀態空間裡構造乙個滿足條件的馬爾可夫鏈,使得其平穩分布為目標分布\(p(x)\)

step 2:從狀態空間的某一點\(x_0\)出發,用構造的馬爾可夫鏈進行隨機遊走,產生樣本序列\(x_0,x_1,x_2,..\)

step 3:應用馬爾可夫鏈的遍歷定理,確定正整數m和n,得到樣本集合\(,...,x_n}\)得到函式的均值\(\hat = \frac\sum_^nf(x_i)\)

important questions:

one:如何定義馬爾可夫鏈,保證馬爾可夫鏈蒙特卡羅法的條件成立

two:如何確定m,保證樣本的無偏性

three:如何確定n,保證遍歷均值的精度

metropolis-hastings演算法

基本原理

metropolis-hastings演算法

input:抽樣的目標分布的密度函式\(p(x)\),函式\(f(x)\)

output:\(p(x)\)的隨機樣本\(x_,..,x_n\),函式樣本的均值

parameters:m,n

單分量metropolis-hastings法

metropolis-hastings演算法需要對多變數分布進行抽樣,有時候對多元變數分布的抽樣是苦難的,可以對多元變數的每乙個變數的條件分布依次進行抽樣,這就是單分量metropolis-hastings法

吉布斯抽樣

基本做法是,從聯合概率分布定義滿條件概率分布,依次對滿條件分布進行抽樣,得到樣本的序列。

強化學習 蒙特卡羅法

從本章起,我們開始解決更貼近實際的問題。前面提到我們接觸過的問題有乙個特點,即我們可以知道環境運轉的細節,具體說就是知道狀態轉移概率 p s s t,a t 對蛇棋來說,我們可以看到蛇棋的棋盤,也就可以了解到整個遊戲的全貌,這時我們相當於站在上帝視角,能夠看清一切情況。在很多實際問題中,我們無法得到...

Python通過蒙特卡羅法計算 值

我們知道以r為半徑的圓的面積是 r2 pi r 2 r2,以r為邊長的正方形的面積是r 2r 2 r2,兩者面積之比即為 pi 的值。具體演算法是模擬乙個邊長為1的正方形,隨機在其中生成n個點,當n趨向於無窮大時,整個正方形就被這n個點所填滿 下圖中藍色區域 在這n個點之中,統計出落入以1為半徑的扇...

馬爾可夫鏈

馬爾可夫鏈,因安德烈 馬爾可夫 a.a.markov,1856 1922 得名,是指數學中具有馬爾可夫性質的離散事件 隨機過程 該過程中,在給定當前知識或資訊的情況下,過去 即當前以前的歷史狀態 對於 將來 即當前以後的未來狀態 是無關的。x1,x2,x3.馬爾可夫鏈 markov chain 描述...