採樣方法調研

參考


採樣在特徵學習中是重要的:論述採樣在特徵學習中的重要性,有實驗證明

機器學習採樣方法大全

採樣方法(Sampling Method)

不錯的講義:以下基礎部分主要參考這個文獻

蒙特卡洛採樣:蒙特卡洛採樣基礎參考這部分

Machine Learning_ A Probabilistic Perspective:MH算法的有效性證明參見本書24.3.6

馬爾可夫鏈及吉布斯抽樣 入門詳解(Markov Chain Monte Carlo and Gibbs Sampling):這個對於Gibbs採樣的想法說得很清楚

動機


給定某個分佈,如何生成足夠多的樣本?實際上,這是一箇中間問題,因爲有很多應用問題需要這一步進行近似推斷。

我們更需要關注如何應用採樣方法解決實際問題,而不是算法的證明。站在巨人的肩膀上,先理解如何熟練應用。一開始想着做本質改進,一般連最基礎的理解都達不到。

函數變換


如果uU(0,1)u\sim U(0,1)f1(u)ff^{-1}(u)\sim f,理由如下:
P(f1(u)<x)=P(u<f(x))=f(x)P(f^{-1}(u)<x)=P(u<f(x))=f(x)

即,f1(u)f^{-1}(u)的概率分佈函數爲ff,概率密度函數爲ff^{\prime}.

拒絕採樣


Alt
對於p(z),假設其非正規化版本p~(z)\tilde{p}(z)更容易得到。我們找到一個常數kk和一個已知分佈q(z)q(z)使得總有
p~(z)kq(z)\tilde{p}(z)\leq kq(z)

那麼,我們可以通過重複以下步驟進行採樣:

  • 生成一個q(z)q(z)的樣本z0z_0
  • 生成一個U(0,kq(z0))U(0,kq(z_0))的樣本u0u_0
  • 如果u0p~(z0)u_0\leq \tilde{p}(z_0)就保留z0z_0,作爲一個所求樣本,否則捨棄z0z_0,繼續上述步驟

重要性採樣


應用在對隨機變量期望的估計。期望爲
Alt
一般對分佈p(z)p(z)採取LL個樣本z(l),l=1,,Lz^{(l)}, l=1, \cdots, L,使用
Alt
進行估計。

但是,我們可以使用另外更加容易採樣的分佈q(z)q(z)來做估計。對q(z)q(z)採取LL個樣本z(l)z^{(l)},然後使用下式
Alt

蒙特卡洛採樣

這裏我們只簡單表達它的思想和算法,證明去看Machine Learning_ A Probabilistic Perspective

馬爾科夫蒙特卡洛採樣算法(MCMC)的基本想法是,找到轉移概率,使得所採樣分佈爲對應馬爾科夫鏈的平穩分佈。

MH採樣算法

如果分佈p(x)p(x)滿足
p(x)t(xx)=p(x)t(xx)p(x)t(x^{\prime}|x)=p(x^{\prime})t(x|x^{\prime})

時,p(x)p(x)就是轉移概率t(xx)t(x^{\prime}|x)對應的馬爾科夫鏈的平穩分佈。

但是,這樣的轉移概率分佈是不容易的,我們使用一個先驗的轉移概率分佈

p~(x)\tilde{p}(x)爲非正規化分佈,選擇一個先驗的轉移概率分佈p(xx)p(x^{\prime}|x),通過一個接受率rr來進行修正。
Alt

Gibbs採樣算法

對於n>1n>1元分佈p(x1,,xn)p(x_1, \cdots, x_n),可以使用本身構造轉移概率,得到Gibbs採樣算法
Alt

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