採樣

--------七月在線機器學習筆記

目錄

 

帶拒絕的採樣分析

對某概率分佈函數進行採樣的意義

 用採樣改造EM算法本身

 馬爾科夫連模型

概率轉移矩陣

馬爾科夫隨機過程的平穩分佈

馬爾科夫隨機過程與採樣

細緻平穩條件

設定接受率

MCMC:Metropolis-Hastings算法

改造MCMC算法

二維Gibbs採樣


帶拒絕的採樣分析

在對某區域f(x,y)≤0抽樣的過程中,若該區域f(x,y)≤0不容易直接求解,則尋找某容易採樣的區域g(x,y)≤0 ,G爲F的上界。當採 樣(x0,y0)∈G且落在F內部時,接收該採樣; 否則拒絕之。

           該例中, f(x,y)≤0是圓, g(x,y)≤0是該圓的外包圍正方形。
           注:區域f(x,y)≤0的可行解集合記做F;區域 g(x,y)≤0的可行解集合記做G;顯然F⊆G

上述方法能夠一定程度的估算圓周率——雖然精度很差。
上述抽樣問題能否用來解決一般概率分佈函數的抽樣問題?如:根據均勻分佈函數得到正態分佈的抽樣。
Rejection sampling:找到目標函數的上界,然後選取一個已知/容易計算的分佈函數(包含整個目標函數)逐點逼近。

對某概率分佈函數進行採樣的意義

根據抽樣結果估算該分佈函數的參數,從而完成參數的學習。

       前提:系統已經存在,但參數未知;

       方法:通過採樣的方式,獲得一定數量的樣本,從而學習該系統的參數。
       例:投硬幣試驗中,進行N次試驗,n次朝上,N-n次朝 下——可以認爲,是進行了N次(獨立)抽樣。
       假定朝上的概率爲p,使用對數似然函數作爲目標函數:

       

 用採樣改造EM算法本身

 在EM算法中,E-Step求出隱變量的條件概率,從而給出期望 Q,M-Step將目標函數Q求極大值,期望Q爲:
                                
 顯然,這仍然可以使用採樣的方式近似得到:
                                
        這種方式的EM算法被稱爲MC-EM算法(Monte Carlo EM)

        MC-EM算法僅改變了E的計算,M的求極值本身沒有變化。
 極限情況:若MC-EM算法的期望Q的估計,僅採樣一個樣本, 則稱之爲隨機EM算法(stochastic EM algorithm)。

 此外,EM算法的M-Step,可以使用MAP而非MLE的方式,從而目標函數最後多一項lnp(θ)。

 馬爾科夫連模型

 採樣:給定概率分佈p(x),如何在計算機中生成它的若干樣本?

 考慮某隨機過程π,它的狀態有n個,用1~n 表示。記在當前時刻t時位於i狀態,它在t+1時刻位於j狀態的概率爲

              P(i,j)=P(j|i):即狀態轉移的概率只依賴於前一個狀態。

         

   舉例

概率轉移矩陣

顯然,第n+1代中處於第j階層的概率爲:

           \large \pi(X_{n+1}=j)=\sum_{i=1}^n\pi(X_{n}=i)\cdot P(X_{n+1}=j|X_n=i),         全概率公式(加和規則)

因此,矩陣P即貝葉斯網絡中描述的(條件)概率轉移矩陣。

         第i行元素表示:在上一個狀態爲i時的分佈概率,行和爲1

重要性質:初始概率\large {\color{Red} \pi}不同,但經過若干次迭代,\large {\color{Red} \pi}最終穩定收斂在某個分佈上。轉移概率矩陣P的性質,而非初始分佈的性 質。事實上,上述矩陣P的n次冪,每行都是 (0.286,0.489,0.225),n>20

馬爾科夫隨機過程的平穩分佈

如果一個非週期馬爾科夫隨機過程具有轉移概率矩陣P,且它的任意兩個狀態都是連通的,

\large \lim_{n \to\infty }P_{ij}^n存在,記做

              \large \lim_{n \to\infty }P_{ij}^n=\pi(j)\Leftrightarrow \lim_{n \to\infty }P^n=\begin{bmatrix} \pi(1) &\pi(2) & ... &\pi(n) \\ \pi(1) &\pi(2) & ... &\pi(n) \\ \vdots & \vdots &\ddots &\vdots \\ \pi(1) &\pi(2) & ... &\pi(n) \end{bmatrix}

同時,若某概率分佈\large \mathbf{\pi} \mathbf{P}=\mathbf{\pi},說明:

            該多項分佈π是狀態轉移矩陣P的平穩分佈;

            線性方程xP=x的非負解爲π,而\large P^n唯一,因此 π是線性方程xP=x的唯一非負解。

馬爾科夫隨機過程與採樣

上述平穩分佈的馬爾科夫隨機過程對採樣帶來很大的啓發:

         對於某概率分佈π,生成一 個能夠收斂到概率分佈π的馬爾科夫狀態轉移矩陣P,則經過有限次迭代,一定可以得到概率分佈π。

         該方法可使用Monte Carlo模擬來完成,稱之爲MCMC(Markov Chain Monte Carlo)。

細緻平穩條件

從穩定分佈滿足\large \mathbf{\pi} \mathbf{P}=\mathbf{\pi}可以抽象出如下定義:

       如果非週期馬爾科夫過程的轉移矩陣P和分佈π(x) 滿足:\large \forall i,j,\pi(i)P(i,j)=\pi(j)P(j,i)

       則\large \pi(x)是馬爾科夫過程的平穩分佈。上式又被稱作細緻平穩條件 (detailed balance condition) (可翻轉的)。

       P(i,j)爲矩陣P的第i行第j列,其意思爲前一個狀態爲i時, 後一個狀態爲j的概率:即P(j|i),因此,有時也寫成P(i—>j)

       細緻平穩的理解:根據定義,對於任意兩個狀態i,j,從i轉移到j的概率和從j轉移到i的概率相等。可直觀的理解成每一個狀態都是平穩的。

設定接受率

假定當前馬爾科夫過程的轉移矩陣爲Q,對於給定分佈p,一般的說,

通過加入因子α的方式,使得上式滿足細緻平穩條件

滿足等式的因子α有很多,根據對稱性,可以取:\large \alpha(i,j)=p(j)q(j,i),\alpha(j,i)=p(i)q(i,j)

根據接受率α改造轉移矩陣Q:

          

MCMC:Metropolis-Hastings算法

根據需要滿足的細緻平穩條件

若令α(j,i)=1,則有:

從而:

將接受率置爲恆小於1,從而

改造MCMC算法

分析MCMC: 

       需要事先給定馬爾科夫過程的轉移矩陣P; 

       有一定的拒絕率。

若需要採樣二維聯合分佈p(x,y),固定x,得

  

若固定y,可得到對偶的結論。

二維Gibbs採樣算法

很容易得到二維Gibbs採樣算法:

        隨機初始化(X,Y)=(x0,y0)

        對t=0,1,2…,循環採樣:

               

推廣到n維即得前面LDA中的Gibbs Sampling採樣更新策略。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章