一直對貝葉斯里面的似然函數(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的解釋:
https://zh.wikipedia.org/wiki/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0
下面整理一下自己的理解,借用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是最合理的(卻未必符合真實情況,因為數據量太少的緣故)。
先理解這么多。