天天看點

轉載: 先驗機率、後驗機率以及共轭先驗(原作者:白馬負金羁)轉載自白馬負金羁博文,為友善自己以後查閱,故轉載之。此處謹對原文作者表示由衷感謝!原文連結:https://blog.csdn.net/baimafujinji/article/details/51374202

在貝葉斯學派的觀點中,先驗機率、後驗機率以及共轭分布的概念非常重要。而在機器學習中,我們閱讀很多資料時也要頻繁地跟他們打交道。是以理清這些概念很有必要。

轉載自白馬負金羁博文,為友善自己以後查閱,故轉載之。此處謹對原文作者表示由衷感謝!

原文連結:https://blog.csdn.net/baimafujinji/article/details/51374202

貝葉斯定理:一個例子

其實我們在之前介紹樸素貝葉斯分類器時就介紹過它,如果你有點忘了,這裡就通過一個例子來幫你回憶一下。

假設有一所學校,學生中60%是男生和40%是女生。女生穿褲子與裙子的數量相同;所有男生穿褲子。現在有一個觀察者,随機從遠處看到一名學生,因為很遠,觀察者隻能看到該學生穿的是褲子,但不能從長相發型等其他方面推斷被觀察者的性别。那麼該學生是女生的機率是多少?

用事件 GG 表示觀察到的學生是女生,用事件 TT 表示觀察到的學生穿褲子。于是,現在要計算的是條件機率 P(G|T)P(G|T) ,我們需要知道:

  • P(G)P(G) 表示一個學生是女生的機率。由于觀察者随機看到一名學生,意味着所有的學生都可能被看到,女生在全體學生中的占比是 40% ,是以機率是 P(G)=0.4P(G)=0.4 。注意,這是在沒有任何其他資訊下的機率。這也就是先驗機率。後面我們還會詳細讨論。
  • P(B)P(B) 是學生不是女生的機率,也就是學生是男生的機率,這同樣也是指在沒有其他任何資訊的情況下,學生是男生的先驗機率。 BB 事件是 GG 事件的互補的事件,于是易得 P(B)=0.6P(B)=0.6 。
  • P(T|G)P(T|G) 是在女生中穿褲子的機率,根據題目描述,女生穿裙子和穿褲子各占一半,是以 P(T|G)=0.5P(T|G)=0.5 。這也就是在給定 GG 的條件下,TT 事件的機率。
  • P(T|B)P(T|B) 是在男生中穿褲子的機率,這個值是1。
  • P(T)P(T) 是學生穿褲子的機率,即任意選一個學生,在沒有其他資訊的情況下,該名學生穿褲子的機率。根據全機率公式 P(T)=∑ni=1P(T|Ai)P(Ai)=P(T|G)P(G)+P(T|B)P(B)P(T)=∑i=1nP(T|Ai)P(Ai)=P(T|G)P(G)+P(T|B)P(B) ,計算得到 P(T)=0.5×0.4+1×0.6=0.8P(T)=0.5×0.4+1×0.6=0.8。

根據貝葉斯公式 

P(Ai|T)=P(T|Ai)P(Ai)∑ni=1P(T|Ai)P(Ai)=P(T|Ai)P(Ai)P(T)P(Ai|T)=P(T|Ai)P(Ai)∑i=1nP(T|Ai)P(Ai)=P(T|Ai)P(Ai)P(T)

基于以上所有資訊,如果觀察到一個穿褲子的學生,并且是女生的機率是 

P(G|T)=P(T|G)P(G)P(T)=0.5×0.4÷0.8=0.25.P(G|T)=P(T|G)P(G)P(T)=0.5×0.4÷0.8=0.25.

先驗機率(Prior probability)

在貝葉斯統計中,先驗機率分布,即關于某個變量 XX 的機率分布,是在獲得某些資訊或者依據前,對 XX 之不确定性所進行的猜測。這是對不确定性(而不是随機性)賦予一個量化的數值的表征,這個量化數值可以是一個參數,或者是一個潛在的變量。

先驗機率僅僅依賴于主觀上的經驗估計,也就是事先根據已有的知識的推斷。例如, XX 可以是投一枚硬币,正面朝上的機率,顯然在我們未獲得任何其他資訊的條件下,我們會認為 P(X)=0.5P(X)=0.5;再比如上面例子中的,P(G)=0.4P(G)=0.4。

在應用貝葉斯理論時,通常将先驗機率乘以似然函數(Likelihood Function)再歸一化後,得到後驗機率分布,後驗機率分布即在已知給定的資料後,對不确定性的條件分布。

似然函數(Likelihood function)

似然函數(也稱作似然),是一個關于統計模型參數的函數。也就是這個函數中自變量是統計模型的參數。對于觀測結果 xx ,在參數集合 θθ 上的似然,就是在給定這些參數值的基礎上,觀察到的結果的機率 L(θ)=P(x|θ)L(θ)=P(x|θ) 。也就是說,似然是關于參數的函數,在參數給定的條件下,對于觀察到的 xx 的值的條件分布。

似然函數在統計推斷中發揮重要的作用,因為它是關于統計參數的函數,是以可以用來對一組統計參數進行評估,也就是說在一組統計方案的參數中,可以用似然函數做篩選。

你會發現,“似然”也是一種“機率”。但不同點就在于,觀察值 xx 與參數 θθ 的不同的角色。機率是用于描述一個函數,這個函數是在給定參數值的情況下的關于觀察值的函數。例如,已知一個硬币是均勻的(在抛落中,正反面的機率相等),那連續10次正面朝上的機率是多少?這是個機率。

而似然是用于在給定一個觀察值時,關于描述參數的函數。例如,如果一個硬币在10次抛落中正面均朝上,那硬币是均勻的(在抛落中,正反面的機率相等)機率是多少?這裡用了機率這個詞,但是實質上是“可能性”,也就是似然了。

後驗機率(Posterior probability)

後驗機率是關于随機事件或者不确定性斷言的條件機率,是在相關證據或者背景給定并納入考慮之後的條件機率。後驗機率分布就是未知量作為随機變量的機率分布,并且是在基于實驗或者調查所獲得的資訊上的條件分布。“後驗”在這裡意思是,考慮相關事件已經被檢視并且能夠得到一些資訊。

後驗機率是關于參數 θθ 在給定的證據資訊 XX 下的機率,即 P(θ|X)P(θ|X) 。若對比後驗機率和似然函數,似然函數是在給定參數下的證據資訊 XX 的機率分布,即 P(X|θ)P(X|θ) 。二者有如下關系:

  • 我們用 P(θ)P(θ) 表示機率分布函數,用 P(X|θ)P(X|θ) 表示觀測值 XX 的似然函數。後驗機率定義為 P(θ|X)=P(X|θ)P(θ)P(X)P(θ|X)=P(X|θ)P(θ)P(X),注意這也是貝葉斯定理所揭示的内容。
  • 鑒于分母是一個常數,上式可以表達成如下比例關系(而且這也是我們更多采用的形式):Posterior probability∝Likelihood×Prior probabilityPosterior probability∝Likelihood×Prior probability

Gamma 函數

Gamma函數 Γ(x)Γ(x) 定義為 

Γ(x)=∫∞0tx−1e−tdtΓ(x)=∫0∞tx−1e−tdt

通過分部積分法,可以很容易證明Gamma函數具有如下之遞歸性質 

Γ(x+1)=xΓ(x)Γ(x+1)=xΓ(x)

也是便很容易發現,它還可以看做是階乘在實數集上的延拓,即 

Γ(x)=(x−1)!Γ(x)=(x−1)!

在此基礎上,我們還可以定義Beta函數如下 

B(a,b)=Γ(a)Γ(b)Γ(a+b)B(a,b)=Γ(a)Γ(b)Γ(a+b)

Beta函數的另外一種定義形式為(注意這兩種定義是等價的) 

B(a,b)=∫10ta−1(1−t)b−1dtB(a,b)=∫01ta−1(1−t)b−1dt

Beta 分布

之是以提到Gamma函數,那是因為在定義Beta分布時我們會用到它。Beta分布的機率密度函數(PDF)定義為: 

Beta(θ|a,b)=Γ(a+b)Γ(a)Γ(b)θa−1(1−θ)b−1Beta(θ|a,b)=Γ(a+b)Γ(a)Γ(b)θa−1(1−θ)b−1

或 

Beta(θ|a,b)=1B(a,b)θa−1(1−θ)b−1Beta(θ|a,b)=1B(a,b)θa−1(1−θ)b−1

可見,Beta分布有兩個控制參數 aa 和 bb,而且當這兩個參數取不同值時,Beta分布的PDF圖形可能會呈現出相當大的差異。 

轉載: 先驗機率、後驗機率以及共轭先驗(原作者:白馬負金羁)轉載自白馬負金羁博文,為友善自己以後查閱,故轉載之。此處謹對原文作者表示由衷感謝!原文連結:https://blog.csdn.net/baimafujinji/article/details/51374202

Beta 分布的均值和方差分别有下面兩式給出 

E[θ]var[θ]=aa+b=ab(a+b)2(a+b+1)E[θ]=aa+bvar[θ]=ab(a+b)2(a+b+1)

共轭分布

我們還是從一個例子講起。假如你有一個硬币,它有可能是不均勻的,是以投這個硬币有 θθ 的機率抛出Head,有 (1−θ)(1−θ)的機率抛出Tail。如果抛了五次這個硬币,有三次是Head,有兩次是Tail,這個 θθ 最有可能是多少呢?如果你必須給出一個确定的值,并且你完全根據目前觀測的結果來估計 θθ,那麼顯然你會得出結論 θ=35θ=35。

但上面這種點估計的方法顯然有漏洞,這種漏洞主要展現在實驗次數比較少的時候,所得出的點估計結果可能有較大偏差。大數定理也告訴我們,在重複實驗中,随着實驗次數的增加,事件發生的頻率才趨于一個穩定值。一個比較極端的例子是,如果你抛出五次硬币,全部都是Head。那麼按照之前的邏輯,你将估計 θθ 的值等于 1。也就是說,你估計這枚硬币不管怎麼投,都朝上!但是按正常思維推理,我們顯然不太會相信世界上有這麼厲害的硬币,顯然硬币還是有一定可能抛出Tail的。就算觀測到再多次的Head,抛出Tail的機率還是不可能為0。

前面介紹的貝葉斯定理或許可以幫助我們。在貝葉斯學派看來,參數 θθ 不再是一個固定的值了,而是滿足一定的機率分布!回想一下前面介紹的先驗機率和後驗機率。在估計 θθ 時,我們心中可能有一個根據經驗的估計,即先驗機率,P(θ)P(θ)。而給定一系列實驗觀察結果 XX 的條件下,我們可以得到後驗機率為 

P(θ|X)=P(X|θ)P(θ)P(X)P(θ|X)=P(X|θ)P(θ)P(X)

在上面的貝葉斯公式中,P(θ)P(θ) 就是個機率分布。這個機率分布可以是任何機率分布,比如高斯分布,或者剛剛提過的 Beta 分布。下圖是Beta(5,2)的機率分布圖。如果我們将這個機率分布作為 P(θ)P(θ),那麼我們在還未抛硬币前,便認為 θθ 很可能接近于0.8,而不大可能是個很小的值或是一個很大的值。換言之,我們在抛硬币前,便估計這枚硬币更可能有0.8的機率抛出正面。 

轉載: 先驗機率、後驗機率以及共轭先驗(原作者:白馬負金羁)轉載自白馬負金羁博文,為友善自己以後查閱,故轉載之。此處謹對原文作者表示由衷感謝!原文連結:https://blog.csdn.net/baimafujinji/article/details/51374202

雖然 P(θ)P(θ) 可以是任何種類的機率分布,但是如果使用Beta 分布,會讓之後的計算更加友善。我們接着繼續看便知道這是為什麼了。況且,通過調節 Beta 分布中的 aa 和 bb,你可以讓這個機率分布變成各種你想要的形狀!Beta 分布已經很足夠表達我們事先對 θθ 的估計了。

現在我們已經估計好了 P(θ)P(θ) 為一個 Beta 分布,那麼 P(X|θ)P(X|θ) 是多少呢?其實就是個二項(Binomial)分布。繼續以前面抛5次硬币抛出3次Head的觀察結果為例,X=抛5次硬币3次結果為Head的事件X=抛5次硬币3次結果為Head的事件, 則 P(X|θ)=C52θ3(1−θ)2P(X|θ)=C25θ3(1−θ)2。

貝葉斯公式中分母上的 P(X)P(X) 是個Normalizer,或者叫做邊緣機率。在 θθ 是離散的情況下,P(X)P(X) 就是 θθ 為不同值的時候,P(X|θ)P(X|θ) 的求和。例如,假設我們事先估計硬币抛出正面的機率隻可能是0.5或者0.8,那麼 P(X)=P(X|θ=0.5)+P(X|θ=0.8)P(X)=P(X|θ=0.5)+P(X|θ=0.8),計算時分别将 θ=0.5θ=0.5 和 θ=0.8θ=0.8 代入到前面的二項分布公式中。而如果我們采用 Beta 分布,θθ的機率分布在[0,1]之間是連續的,是以要用積分,即 

P(X)=∫10P(X|θ)P(θ)dθP(X)=∫01P(X|θ)P(θ)dθ

下面的證明就告訴我們:P(θ)P(θ) 是個 Beta 分布,那麼在觀測到“X=抛5次硬币中出現3個headX=抛5次硬币中出現3個head”的事件後,P(θ|X)P(θ|X) 依舊是個 Beta 分布!隻是這個機率分布的形狀因為觀測的事件而發生了變化。 

P(θ|X)=P(X|θ)P(θ)P(X)=P(X|θ)P(θ)∫10P(X|θ)P(θ)dθ=C52θ3(1−θ)21B(a,b)θa−1(1−θ)b−1∫10C52θ3(1−θ)21B(a,b)θa−1(1−θ)b−1dθ=θ(a+3−1)(1−θ)(b+2−1)∫10θ(a+3−1)(1−θ)(b+2−1)dθ=θ(a+3−1)(1−θ)(b+2−1)B(a+3,b+2)=Beta(θ|a+3,b+2)P(θ|X)=P(X|θ)P(θ)P(X)=P(X|θ)P(θ)∫01P(X|θ)P(θ)dθ=C25θ3(1−θ)21B(a,b)θa−1(1−θ)b−1∫01C25θ3(1−θ)21B(a,b)θa−1(1−θ)b−1dθ=θ(a+3−1)(1−θ)(b+2−1)∫01θ(a+3−1)(1−θ)(b+2−1)dθ=θ(a+3−1)(1−θ)(b+2−1)B(a+3,b+2)=Beta(θ|a+3,b+2)

因為觀測前後,對 θθ 估計的機率分布均為 Beta 分布,這就是為什麼使用 Beta 分布友善我們計算的原因了。當我們得知 P(θ|X)=Beta(θ|a+3,b+2)P(θ|X)=Beta(θ|a+3,b+2)後,我們就隻要根據 Beta 分布的特性,得出 θθ 最有可能等于多少了。(即 θθ 等于多少時,觀測後得到的 Beta 分布有最大的機率密度)。

例如下圖,仔細觀察新得到的 Beta 分布,和上一圖中的機率分布對比,發現峰值從0.8左右的位置移向了0.7左右的位置。這是因為新觀測到的資料中,5次有3次是head(60%),這讓我們覺得,θθ 沒有0.8那麼高。但由于我們之前覺得 θθ有0.8那麼高,我們覺得抛出head的機率肯定又要比60%高一些!這就是Bayesian方法和普通的統計方法不同的地方。我們結合自己的先驗機率和觀測結果來給出預測。 

轉載: 先驗機率、後驗機率以及共轭先驗(原作者:白馬負金羁)轉載自白馬負金羁博文,為友善自己以後查閱,故轉載之。此處謹對原文作者表示由衷感謝!原文連結:https://blog.csdn.net/baimafujinji/article/details/51374202

如果我們投的不是硬币,而是一個多面體(比如骰子),那麼我們就要使用 Dirichlet 分布了。使用Dirichlet 分布之目的,也是為了讓觀測後得到的posterior probability依舊是 Dirichlet 分布。關于 Dirichlet 分布的話題我們會在後續的文章中繼續介紹。

到此為止,我們終于可以引出“共轭性”的概念了!後驗機率分布(正⽐于先驗和似然函數的乘積)擁有與先驗分布相同的函數形式。這個性質被叫做共轭性(Conjugacy)。共轭先驗(conjugate prior)有着很重要的作⽤。它使得後驗機率分布的函數形式與先驗機率相同,是以使得貝葉斯分析得到了極⼤的簡化。例如,二項分布的參數之共轭先驗就是我們前面介紹的 Beta 分布。多項式分布的參數之共轭先驗則是 Dirichlet 分布,⽽⾼斯分布的均值之共轭先驗是另⼀個⾼斯分布。

總的來說,對于給定的機率分布 P(X|θ)P(X|θ),我們可以尋求一個與該似然函數 ,即P(X|θ)P(X|θ), 共轭的先驗分布 P(θ)P(θ),如此一來後驗分布 P(θ|X)P(θ|X) 就會同先驗分布具有相同的函數形式。而且對于任何指數族成員來說,都存在有一個共轭先驗。

參考文獻

[1] 以上内容部分引自“胖胖小龜寶”在http://bbs.pinggu.org/上的文章

[2] Pattern Recognition And Machine Learning, Christopher Bishop

[3] 抛硬币的例子來自http://maider.blog.sohu.com/306392863.html

繼續閱讀