蒙特卡羅法
思想:假設概率分布的定義已知,然後通過隨機抽樣獲得概率分布的隨機樣本,通過得到的隨機樣本對概率分布的特徵進行分析。
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 描述...