采樣方法


采樣方法


在不會產生歧義的條件下,這里不對“采樣”和“取樣(抽樣)”兩個概念加以明確區分。事實上,以下多處用到的“采樣”一詞實際上指“抽樣”,作為習慣,仍保留這種叫法。

對於給定的概率分布\(p(\mathbf{z})\),我們希望計算定義在該分布上的函數\(f(\mathbf{z})\)的期望,即

\[\mathbb{E}[f]=\int f(\mathbf{z})p(\mathbf{z}){\rm{d}}\mathbf{z}, \]

這里\(f(\mathbf{z})\)也是隨機變量。為了簡化計算,按概率分布\(p(\mathbf{z})\)進行\(L\)次隨機取樣得到樣本\(\mathbf{z}^{(l)}\)\(l=1,...,L\),從而對\(f\)的期望估計為

\[\hat{f}=\frac{1}{L}\sum_{l=1}^L{f(\mathbf{z}^{(l)})}, \]

這里\(\hat{f}\)是統計量(當然也是隨機變量),容易看出\(\hat{f}\)\(\mathbb{E}[f]\)的無偏估計,即滿足\(\mathbb{E}[\hat{f}]=\mathbb{E}[f]\)。該統計量的方差為

\[\text{var}[\hat{f}]=\frac{1}{L}\mathbb{E}\left[(f-\mathbb{E}[f])^2\right], \]

對於沒有已觀測結點的有向圖,可以使用祖先采樣(ancestral)方法;而對於存在已觀測結點的有向圖,其后驗概率可以使用邏輯采樣(logic)方法(作為重要性采樣(importance)的特例)。
無向圖的采樣稍微復雜一些,可使用Gibbs采樣方法。

1 基礎采樣算法


1 考慮對一般的概率分布\(p(y)\)進行隨機取樣。假設\(z \sim U(0,1)\),映射\(f(\cdot)\)滿足\(y=f(z)\),從而使得\(|p(z){\rm d}z|=|p(y){\rm d}y|\)。記\(h(y)\)\(p(\cdot)\)的分布函數,有

\[z=h(y), \]

從而

\[y=h^{-1}(z), \]

即有\(f=h^{-1}\)
若隨機變量為多維,則利用雅克比行列式有

\[p(\mathbf{y})=p(\mathbf{z})\left|\frac{\partial \mathbf{z}}{\partial\mathbf{y}}\right|. \]

對一維高斯分布進行取樣的一種方法是使用Box-Muller變換,同時獲得兩個獨立同分布(零均值,單位方差)上的樣本。對於多元高斯分布的取樣,可使用Cholesky分解,通過變換

\[\begin{aligned}\mathbf{\Sigma}&=\mathbf{LL}^\text{T}\\ \mathbf{y}&=\boldsymbol\mu+\mathbf{Lz},\end{aligned}\]

得到\(\mathcal{N}(\boldsymbol{\mu},\mathbf{\Sigma})\)上的隨機樣本。

2 對於某些形式較為復雜的分布不易通過直接變換進行采樣,可使用取舍采樣(rejection sampling)。假定真實分布為\(p(z)\),給定\(z\),我們可以計算\(\widetilde{p}(z)\),滿足

\[p(z)=\frac{1}{Z_p}\widetilde{p}(z), \]

其中\(Z_p\)是待定常數。首先選取一個形式簡單的分布\(q(z)\)和一個相關的常數\(k\),滿足對於所有的\(z\)\(kq(z)\geq \widetilde{p}(z)\)。而后從分布\(q(z)\)上生成\(z_0\),並在\([0, kq(z_0)]\)上隨機均勻選取\(u_0\),從而\((z_0,u_0)\)在分布\(kq(z)\)曲線下均勻分布,當\(u_0>\widetilde{p}(z_0)\)時舍棄該樣本,從而舍棄后的二元變量在分布\(\widetilde{p}(z)\)曲線下均勻分布,現在只看樣本中的\(z_0\)值,容易說明它是服從\(p(z)\)分布的。

此外為了降低舍棄率,應該選取盡可能小的\(k\),要求\(q(z)\)盡可能與\(p(z)\)相似。

3 一般來說,對於一個任意的分布\(p(z)\),給出接近該分布的解析包絡函數(envelope function)是比較困難的。自適應取舍采樣可在運行時對\(q(z)\)進行調整以逼近\(p(z)\)。特別地,當\(\ln p(z)\)是凹函數時,可構造\((z_0, p(z_0))\)處的切線段集合作為\(p(z)\)的包絡函數,當某個\((z_0,u_0)\)元組被舍棄時,增添一個\(z_0\)處的切線段即可改善逼近效果。

\(\ln p(z)\)非凹時,使用改進的自適應取舍算法(帶Metropolis-Hastings步)。

取舍采樣的直接應用受限於分布的維度,實際上,舍棄率隨維度上升呈指數式增長。

4 重要性采樣(importance sampling)給出對某個分布\(p(\mathbf{z})\)的數字特征的估計,而繞過了對\(p(\mathbf{z})\)的直接采樣。其大致原理如下,首先構造提議分布(proposal distribution)\(q(\mathbf{z})\),從而利用在\(q(\mathbf{z})\)上的采樣估計\(\mathbb{E}[f]\),即

\[\begin{aligned}\mathbb{E}[f]&=\int f(\mathbf{z})p(\mathbf{z}){\rm{d}}\mathbf{z}\\&= \int f(\mathbf{z})\frac{p(\mathbf{z})}{q(\mathbf{z})}q(\mathbf{z}){\rm{d}}\mathbf{z}\\&\simeq \frac{1}{L}\sum_{l=1}^L\frac{p(\mathbf{z}^{(l)})}{q(\mathbf{z}^{(l)})}f(\mathbf{z}^{(l)}), \end{aligned}\]

其中\({p(\mathbf{z}^{(l)})}/{q(\mathbf{z}^{(l)})}\),簡記為\(r_l\),稱為重要性權值。顯然,若\(q(\mathbf{z})\equiv p(\mathbf{z})\),有\(r_l\equiv 1\)

與取舍采樣相同,重要性采樣的效果依賴於選取的提議分布在多大程度上與原始分布相似,當兩者背道而馳時,該采樣方法將給出一個糟糕的估計。

2 馬爾科夫鏈蒙特卡洛


3 Gibbs采樣


4 切片采樣


5 混合蒙特卡洛算法


6 估計配分函數



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM