極大似然估計和貝葉斯估計分別代表了頻率派和貝葉斯派的觀點。頻率派認為,引數是客觀存在的,只是未知而矣。因此,頻率派最關心極大似然函式,只要引數求出來了,給定自變數X,Y也就固定了,極大似然估計如下所示:
D表示訓練資料集,是模型引數
相反的,貝葉斯派認為引數也是隨機的,和一般隨機變數沒有本質區別,正是因為引數不能固定,當給定一個輸入x後,我們不能用一個確定的y表示輸出結果,必須用一個概率的方式表達出來,所以貝葉斯學派的預測值是一個期望值,如下所示:
其中x表示輸入,y表示輸出,D表示訓練資料集,是模型引數
該公式稱為全貝葉斯預測。現在的問題是如何求(後驗概率),根據貝葉斯公式我們有:
可惜的是,上面的後驗概率通常是很難計算的,因為要對所有的引數進行積分,不能找到一個典型的閉合解(解析解)。在這種情況下,我們採用了一種近似的方法求後驗概率,這就是最大後驗概率。
最大後驗概率和極大似然估計很像,只是多了一項先驗分佈,它體現了貝葉斯認為引數也是隨機變數的觀點,在實際運算中通常通過超引數給出先驗分佈。
從以上可以看出,一方面,極大似然估計和最大後驗概率都是引數的點估計。在頻率學派中,引數固定了,預測值也就固定了。最大後驗概率是貝葉斯學派的一種近似手段,因為完全貝葉斯估計不一定可行。另一方面,最大後驗概率可以看作是對先驗和MLE的一種折衷,如果資料量足夠大,最大後驗概率和最大似然估計趨向於一致,如果資料為0,最大後驗僅由先驗決定。
本文假設大家都知道什麼叫條件概率了(P(A|B)表示在B事件發生的情況下,A事件發生的概率)。
先驗概率和後驗概率
教科書上的解釋總是太繞了。其實舉個例子大家就明白這兩個東西了。
假設我們出門堵車的可能因素有兩個(就是假設而已,別當真):車輛太多和交通事故。
堵車的概率就是先驗概率 。
那麼如果我們出門之前我們聽到新聞說今天路上出了個交通事故,那麼我們想算一下堵車的概率,這個就叫做條件概率 。也就是P(堵車|交通事故)。這是有因求果。
如果我們已經出了門,然後遇到了堵車,那麼我們想算一下堵車時由交通事故引起的概率有多大,
那這個就叫做後驗概率 (也是條件概率,但是通常習慣這麼說)。也就是P(交通事故|堵車)。這是有果求因。
下面的定義摘自百度百科:
先驗概率是指根據以往經驗和分析得到的概率,如全概率公式,它往往作為"由因求果"問題中的"因"出現.
後驗概率是指依據得到"結果"資訊所計算出的最有可能是那種事件發生,如貝葉斯公式中的,是"執果尋因"問題中的"因".
那麼這兩個概念有什麼用呢?
最大似然估計
我們來看一個例子。
有一天,有個病人到醫院看病。他告訴醫生說自己頭痛,然後醫生根據自己的經驗判斷出他是感冒了,然後給他開了些藥回去吃。
有人肯定要問了,這個例子看起來跟我們要講的最大似然估計有啥關係啊。
關係可大了,事實上醫生在不知不覺中就用到了最大似然估計(雖然有點牽強,但大家就勉為其難地接受吧^_^)。
怎麼說呢?
大家知道,頭痛的原因有很多種啊,比如感冒,中風,腦溢血...(腦殘>_<這個我可不知道會不會頭痛,還有那些看到難題就頭痛的病人也不在討論範圍啊!)。
那麼醫生憑什麼說那個病人就是感冒呢?哦,醫生說這是我從醫多年的經驗啊。
我們們從概率的角度來研究一下這個問題。
其實醫生的大腦是這麼工作的,
他計算了一下
P(感冒|頭痛)(頭痛由感冒引起的概率,下面類似)
P(中風|頭痛)
P(腦溢血|頭痛)
...
然後這個計算機大腦發現,P(感冒|頭痛)是最大的,因此就認為呢,病人是感冒了。看到了嗎?這個就叫最大似然估計(Maximum likelihood estimation,MLE) 。
我們們再思考一下,P(感冒|頭痛),P(中風|頭痛),P(腦溢血|頭痛)是先驗概率還是後驗概率呢?
沒錯,就是後驗概率。看到了吧,後驗概率可以用來看病(只要你算得出來,呵呵)。
事實上,後驗概率起了這樣一個用途,根據一些發生的事實(通常是壞的結果),分析結果產生的最可能的原因,然後才能有針對性地去解決問題。
那麼先驗概率有啥用呢?
我們來思考一下,P(腦殘|頭痛)是怎麼算的。
P(腦殘|頭痛)=頭痛的人中腦殘的人數/頭痛的人數
頭痛的樣本倒好找,但是頭痛的人中腦殘的人數就不好調查了吧。如果你去問一個頭痛的人你是不是腦殘了,我估計那人會把你拍飛吧。
接下來先驗概率就派上用場了。
根據貝葉斯公式 ,
P(B|A)=P(A|B)P(B)/P(A)
我們可以知道
P(腦殘|頭痛)=P(頭痛|腦殘)P(腦殘)/P(頭痛)
注意,(頭痛|腦殘)是先驗概率,那麼利用貝葉斯公式我們就可以利用先驗概率把後驗概率算出來了。
P(頭痛|腦殘)=腦殘的人中頭痛的人數/腦殘的人數
這樣只需要我們去問腦殘的人你頭痛嗎,明顯很安全了。
(你說腦殘的人數怎麼來的啊,那我們就假設我們手上有一份傳說中的腦殘名單吧。那份同學不要吵,我沒說你在名單上啊。
再說調查腦殘人數的話我們就沒必要抓著一個頭痛的人問了。起碼問一個心情好的人是否腦殘比問一個頭痛的人安全得多)
我承認上面的例子很牽強,不過主要是為了表達一個意思。後驗概率在實際中一般是很難直接計算出來的,相反先驗概率就容易多了。因此一般會利用先驗概率來計算後驗概率。
似然函式與最大似然估計
下面給出似然函式跟最大似然估計的定義。
我們假設f是一個概率密度函式,那麼
是一個條件概率密度函式(θ 是固定的)
而反過來,
叫做似然函式 (x是固定的)。
一般把似然函式寫成
θ是因變數。
而最大似然估計 就是求在θ的定義域中,當似然函式取得最大值時θ的大小。
意思就是呢,當後驗概率最大時θ的大小。也就是說要求最有可能的原因。
由於對數函式不會改變大小關係,有時候會將似然函式求一下對數,方便計算。
例子:
我們假設有三種硬幣,他們扔到正面的概率分別是1/3,1/2,2/3。我們手上有一個硬幣,但是我們並不知道這是哪一種。因此我們做了一下實驗,我們扔了80次,有49次正面,31次背面。那麼這個硬幣最可能是哪種呢?我們動手來算一下。這裡θ的定義域是{1/3,1/2,2/3}