一、引入
極大似然估計,我們也把它叫做最大似然估計(Maximum Likelihood Estimation),英文簡稱MLE。它是機器學習中常用的一種引數估計方法。它提供了一種給定觀測資料來評估模型引數的方法。也就是模型已知,引數未定。
在我們正式講解極大似然估計之前,我們先簡單回顧以下兩個概念:
- 概率密度函式(Probability Density function),英文簡稱pdf
- 似然函式(Likelyhood function)
1.1 概率密度函式
連續型隨機變數的概率密度函式(pdf)是一個描述隨機變數在某個確定的取值點附近的可能性的函式(也就是某個隨機變數值的概率值,注意這是某個具體隨機變數值的概率,不是一個區間的概率)。給個最簡單的概率密度函式的例子,均勻分佈密度函式。
對於一個取值在區間[a,b]上的均勻分佈函式\(I_{[a,b]}\),它的概率密度函式為:
其影像為:
其中橫軸為隨機變數的取值,縱軸為概率密度函式的值。
也就是說,當\(x\)不在區間\([a,b]\)上的時候,函式值為0,在區間\([a,b]\)上的時候,函式值等於\(\frac{1}{b-a}\),函式值即當隨機變數\(X=a\)的概率值。這個函式雖然不是完全連續的函式,但是它可以積分。而隨機變數的取值落在某個區域內的概率為概率密度函式在這個區域上的積分。
Tips:
- 當概率密度函式存在的時候,累計分佈函式是概率密度函式的積分。
- 對於離散型隨機變數,我們把它的密度函式稱為概率質量密度函式
- 對概率密度函式作類似福利葉變換可以得到特徵函式。特徵函式與概率密度函式有一對一的關係。因此,知道一個分佈的特徵函式就等同於知道一個分佈的概率密度函式。(這裡就是提一嘴,本文所講的內容與特徵函式關聯不大,如果不懂可以暫時忽略。)
1.2 似然函式
官方一點解釋似然函式是,它是一種關於統計模型中的引數的函式,表示模型引數的似然性(likelyhood)。 相信看著這句話的同志們都挺懵的,這是在說什麼鬼話,啥叫關於引數的函式??啥叫似然性??
我們們這就來解釋:
“似然性”它 與 ("或然性"或 “概率性”或”概率“)意思相近,都是指事件發生的可能性。但是 似然性 和 概率 在統計學中還是有明確的區分。
- 概率:在引數已知的情況下,預測觀測結果;
- 似然性:在觀測結果已知的情況下,對引數進行估值和猜測。
按照上面的說法,其實我們很容易聯想到的就是條件概率。我們也可以將似然函式理解為條件概率的逆反。
在已知某個引數B時,事情A會發生的概率為
又貝葉斯定理可得
我們可以反過來構造來表示似然性的方法:已知有事情A發生,運用似然函式 \(L(B|A)\),我們估計引數B的不同值的可能性。形式上,似然函式也是一種條件概率函式,但是我們關注的變數改變了
注意: 這裡並不要求似然函式滿足歸一性:即
(在1.3的例子中會作出解釋)
一個似然函式乘以一個正的常數之後仍然是似然函式。對所有的\(\alpha>0\),都可以有似然函式:
其中,\(\alpha = \frac{P(B)}{P(A)}\)
1.3 似然函式的舉例
以經典的投擲硬幣試驗為例子。已知擲出一枚硬幣,正面朝上和反面朝上的概率相同,正面向上概率為\(p_{H}\)。比如說,連續扔兩次都是正面向上的概率是0.25,如果我們用條件概率表示就是:
- 假設 \(p_{H} = 0.5\),則三次投擲中兩次是正面的概率為\(P(A|p_{H}=0.5) = 0.375\)
- 再假設 \(p_{H} = 0.6\),則三次投擲中兩次是正面的概率為\(P(A|p_{H}=0.6) = 0.432\)
顯然,如果\(p_{H}=0.6\)的話,我們看到兩個正面的機會比較高。而根據試驗我們已經知道三次實驗中,確切的是有兩枚硬幣正面向上。雖然我們不知道實際上\(p_{H}\)的值具體是多少,可能是0.62 or 0.58 等等,但是我們至少知道 \(p_{H}\)是0.6的可能性比是0.5的可能性還要高。因此我們合理的估計 \(p_{H}\)比較可能是0.6而不是0.5。
因此,我們進一步理解了似然性的概念:
似然性代表某個引數為特定值的可能性。由上面例子知,在觀察到事件A的情況下,引數\(p_{H}\)在不同值的可能性或似然性為:
所以當我們投擲硬幣三次,其中兩次是正面,則\(p_{H}=0.5\)的似然性是\(L(p_{H}=0.5|A) = P(A|p_{H}=0.5) = 0.375\)。而\(p_{H}=0.6\)的似然性是\(L(p_{H}=0.6|A) = P(A|p_{H}=0.6) = 0.432\)。注意,\(L(p_{H}=0.5|A) = 0.375\)並不是說已知A發生了,則\(p_{H}為0.5\)的概率是0.375。似然性和概率具有不同的意義,上面已經談過。 如果單獨看0.375和0.432數字是沒有意義的。因為似然性並不是概率,也並不是介於0-1之間的,而所有可能的p_{H}的似然性加起來也不是1,所以單獨看0.375或者0.432這個數字是沒有意義的。似然性是把各種可能的\(p_{H}\)值放在一起去比較,來得知哪個\(p_{H}\)值的可能性比較高。而似然函式除了用於計算似然性之外,還用來了解當引數\(p_{H}\)變化時,似然性怎麼變換,由此來尋找最大可能性的\(p_{H}\)的值會是多少。
由該式子可知,我們知道當\(p_{x}= \frac{2}{3}\)時,其值最大(可以通過求導來計算),也就是說最大似然性發生在了\(p_{H}= \frac{2}{3}\)。所以當我們投擲了三次硬幣得到兩次正面,最合理的猜測應該是 \(p_{H} = \frac{2}{3}\)。
因此,我們得出結論:
對同一個似然函式,其所代表的模型中,某項引數值具有多種可能,但如果存在一個引數值,使得概似函式值達到最大的話,那麼這個值就是該項引數最為“合理”的引數值。
二、 最大似然估計
最大似然估計是似然函式最初的應用。上面已經提到,似然函式取得最大值表示相應的引數能夠使得統計模型最為合理。從這樣一個想法出發,最大似然估計的做法是:首先選取似然函式 (一般是概率密度函式或概率質量函式),整理之後求最大值點。實際應用中一般會取似然函式的 對數 作為求最大值的函式,這樣求出的最大值點和直接求最大值點得到的結果是相同的。似然函式的最大值點不一定唯一,也不一定存在。與矩法估計比較,最大似然估計的精確度較高,資訊損失較少,但計算量較大。
2.1 例1:離散分佈、離散有限引數空間舉例
2.2 例2:離散分佈,連續引數空間舉例
三、最大似然估計的瓶頸
極大似然估計假設連續資料服從正態分佈,雖然由於中心極限定理在樣本量足夠大的時候這一假設都能夠滿足,但當樣本量過小且資料不服從正態分佈時,估計誤差會比較大。另一個缺點就是當樣本服從的概率分佈過於複雜時演算法的計算也非常複雜而且耗時(可以瞭解一下EM演算法和準極大似然估計,這兩種演算法都是基於簡化計算的思想而發明的)
四、總結
在瞭解最大似然估計方法後,我們就會對機器學習的經典演算法有更深的理解,樸素貝葉斯、決策樹等等演算法,在進行引數估計是都會使用到最大似然估計。上面有提到最大似然估計的瓶頸,但是它也有自己的優勢:一致性、漸進正態性、泛函不變性。在初期學習時,我們學的是如何套用這種演算法;學到深處,我們要考慮如何通過具體場景、具體問題,選擇合適的演算法來提高效能,這也是融會貫通的一種表現吧。
Reference:
極大似然估計-機器之心
最大似然估計-維基百科
似然函式-維基百科