1. 程式人生 > >PRML讀書筆記——取樣方法

PRML讀書筆記——取樣方法

本章中,我們希望解決的基本的問題涉及到關於⼀個概率分佈p(z)尋找某個函式f(z)的期望。這⾥,z的元素可能是離散變數、連續變數或者⼆者的組合。因此,在連續變數的情形下,我們希望計算下⾯的期望

E[f]=f(z)p(z)dz

我們假設,使⽤解析的⽅法精確地求出這種期望是⼗分複雜的。因此,我們採用取樣的方法抽取出樣本,計算出對應的值

本章的取樣方法主要包括:重要取樣、拒絕取樣、蒙特卡羅取樣、吉布斯取樣、切片取樣和混合蒙特卡羅取樣等

基本取樣方法

這裡,我們研究從一個給定的概率分佈中生成隨機樣本的方法

標準概率分佈

這考慮如何從簡單的非均勻分佈中生成隨機數。可以從均勻分佈開始,利用變換的方法,形成所需要計算的概率分佈,並求出這個概率分佈的不定積分的反函式。

假設z在區間(0,1)上均勻分佈,我們使用某個函式f(.)z進行變換,得到y=f(z),則y上的概率分佈為:

p(y)=p(z)dzdy

這裡,y所具有的分佈是我們希望的得到的分佈形式。對上式積分,有:

z=h(y)yp(yˆ)dyˆ

它就是p(y)的不定積分,因此y=h1(z)

這裡存在兩個難點:(1)變換f不容易構造(2)不定積分不一定容易求解

為了對非均勻分佈取樣,考慮另外的方法:拒絕取樣和重要取樣,但它們只能處理單變數概率分佈的情況。

拒絕取樣


拒絕取樣的思想是,目前需要取樣的概率分佈形式複雜,我們引入相對簡單的概率分佈(提議分佈,proposal distribution),這個概率分佈能覆蓋目標分佈,然後直接在提議分佈上取樣,通過一定的準則選擇拒絕還是接受當前的取樣值。

假設我們希望從概率分佈p(z)中取樣,但是它不是簡單的標準概率分佈形式,從中取樣困難。與大多數情況類似,假設對於任意給定的
z,我們能夠很容易計算p(z),即:

p(z)=1Zpp˜(z)

現在,我們引入簡單的提議分佈q(z)和常數k,使得:

z,kq(z)p˜(x)

則函式kq(z)被稱為比較函式。整體情況下圖說明。拒絕取樣器的每個步驟涉及到⽣成兩個隨機數。⾸先,我們從概率分佈q(z)中⽣成⼀個數z0。接下來,我們在區間[0,kq(z0)]上的均勻分佈
中⽣成⼀個數u0。這對隨機數在函式kq(z)的曲線下⽅是均勻分佈。最後,如果u0>widetildep(z0),那
麼樣本被拒絕,否則u

0被保留。因此,如果它位於圖11.4的灰⾊陰影部分,它就會被拒絕。這樣,剩餘的點對在曲線widetildep(z)下⽅是均勻分佈的,因此對應的z值服從概率分佈p(z)

這裡寫圖片描述

一個樣本的接受率為p˜(z)kq(z),因此整體樣本的接受率為:

p(accepted)={p˜(z)kq(z)}q(z)dz=1kp˜(z)dz

顯然,k越大,整體接受率越低,因此k越低越好,但是k有需要滿足限制kq(z)處處不小於p˜(z)

一般而言,q(z)的形式不啊後確定,可以直接基於概率分佈p(z)構建提議分佈的函式形式。首先,可以從lnp(z)的某些格點處開始計算,計算對應的切線,將各個切線連起來形成界限函式。然後從界限分佈中取樣,如果樣本被接受,則他是所求概率分佈的樣本;反之,將它併入格點的機會中,計算新的切線,優化界限函式。隨著格點數量的增加,界限函式對目標概率分佈的近似效果逐漸變好。

這裡寫圖片描述

缺點:因為目標概率分佈的情況複雜,找到⼀個較好的提議分佈和⽐較函式是⼀件相當困難的事情。此外,接受率隨著維度的指數下降是拒絕取樣的⼀個⼀般特徵。雖然拒絕取樣在⼀維或⼆維空間中是⼀個有⽤的⽅法,但是它不適⽤於⾼維空間

重要取樣

這種取樣方法主要用於估計概率分佈的期望。與拒絕取樣不同,重要取樣不拒絕任何的取樣結果,而是給提議分佈上的取樣結果賦予權重

這裡寫圖片描述

同樣假設直接從p(z)取樣無法完成,但是給定z,p(z)很容易計算。為了計算期望,我們均勻地對z空間取樣,然後計算期望:

E[f]=l=1Lp(z(l))f(z(l))

顯然,這種取樣是非常低小的,因為一般而言,目標概率分佈都將它的大部分質量限制在z空間的一個很小的區域,也就是說只有很小部分的樣本會對求合適產生貢獻。

這裡再次引入提議分佈