1. 程式人生 > >似然函式的理解

似然函式的理解

一直對貝葉斯里面的似然函式(likelihood function),先驗概率(prior),後驗概率(posterior)理解得不是很好,今天彷彿有了新的理解,記錄一下。

看論文的時候讀到這樣一句話:

原來只關注公式,所以一帶而過。再重新看這個公式前的描述,細思極恐。

the likelihood function of the parameters θ = {w,α,β} given the observations D can be factored as..


兩個疑問:likelihood function為什麼會寫成條件概率的形式?given的明明是D,為什麼到後面的公式裡,卻變成了given θ 

呢?

百度了一下,先貼上wikipedia的解釋:

下面整理一下自己的理解,借用wikipedia裡面硬幣的例子。

常說的概率是指給定引數後,預測即將發生的事件的可能性。拿硬幣這個例子來說,我們已知一枚均勻硬幣的正反面概率分別是0.5,要預測拋兩次硬幣,硬幣都朝上的概率:

H代表Head,表示頭朝上

p(HH | pH = 0.5) = 0.5*0.5 = 0.25.

這種寫法其實有點誤導,後面的這個p其實是作為引數存在的,而不是一個隨機變數,因此不能算作是條件概率,更靠譜的寫法應該是 p(HH;p=0.5)。

而似然概率正好與這個過程相反,我們關注的量不再是事件的發生概率,而是已知發生了某些事件,我們希望知道引數應該是多少。

現在我們已經拋了兩次硬幣,並且知道了結果是兩次頭朝上,這時候,我希望知道這枚硬幣丟擲去正面朝上的概率為0.5的概率是多少?正面朝上的概率為0.8的概率是多少?

如果我們希望知道正面朝上概率為0.5的概率,這個東西就叫做似然函式,可以說成是對某一個引數的猜想(p=0.5)的概率,這樣表示成(條件)概率就是

L(pH=0.5|HH) = P(HH|pH=0.5) = (另一種寫法)P(HH;pH=0.5).

為什麼可以寫成這樣?我覺得可以這樣來想:

似然函式本身也是一種概率,我們可以把L(pH=0.5|HH)寫成P(pH=0.5|HH); 而根據貝葉斯公式,P(pH=0.5|HH) = P(pH=0.5,HH)/P(HH);既然HH是已經發生的事件,理所當然P(HH) = 1,所以:

P(pH=0.5|HH)  = P(pH=0.5,HH) = P(HH;pH=0.5).

右邊的這個計算我們很熟悉了,就是已知頭朝上概率為0.5,求拋兩次都是H的概率,即0.5*0.5=0.25。

所以,我們可以safely得到:

L(pH=0.5|HH) = P(HH|pH=0.5) = 0.25.

這個0.25的意思是,在已知丟擲兩個正面的情況下,pH = 0.5的概率等於0.25。

再算一下

L(pH=0.6|HH) = P(HH|pH=0.6) = 0.36.

把pH從0~1的取值所得到的似然函式的曲線畫出來得到這樣一張圖:

(來自wikipedia)

可以發現,pH = 1的概率是最大的。

即L(pH = 1|HH) = 1。

那麼最大似然概率的問題也就好理解了。

最大似然概率,就是在已知觀測的資料的前提下,找到使得似然概率最大的引數值。

這就不難理解,在data mining領域,許多求引數的方法最終都歸結為最大化似然概率的問題。

回到這個硬幣的例子上來,在觀測到HH的情況下,pH = 1是最合理的(卻未必符合真實情況,因為資料量太少的緣故)。

先理解這麼多。