极大似然估计 —— Maximum Likelihood Estimation
1 引入
機器學習中,經常會遇到極大似然估計 (Maximum Likelihood Estimation, MLE) 這個名詞,它的含義是什么?它能夠解決什么問題?我們該如何理解并使用它?本篇就對此進行詳細的闡述和回答。
舉一個最簡單直觀的例子,假設投擲硬幣,我們每次投擲的結果只有兩種:一正一反,古往今來,無數的實驗和直覺告訴我們,投硬幣這件事情正反兩面的概率就是五五分,即正面概率 0.5,反面概率也是 0.5。
然而,我們怎么知道概率是 0.5 的呢?我們憑什么說就是 0.5,不可以是 0.55 或者 0.48 呢?因為有很多人做過這個實驗,投多次硬幣,比如投100次,大體上正反兩面的次數總是都差不多,因此,我們就?估計?這個事情(投擲為正面)發生的概率為 0.5。
注意,上述的這個思維推理的過程很直覺化,我們人類很多時候對某件事情的判斷其實就是這樣:多次經歷某件事情,比如買水果,我們每次都在看水果的外觀來判斷該水果是否新鮮可口,久而久之,我們就會發現,拍著清脆欲裂的西瓜有更大的概率會香甜可口,這其實也就是機器學習的基本世界觀:從經驗到規律。那么換成計算機解決,就是?數據 -> 規則 (Data -> Rule)。
2 極大似然估計的概念
說了這么多,那么極大似然估計到底是什么呢?再來看看我們剛剛說的拋硬幣的例子,其實我們并不知道一枚硬幣拋出之后正面朝上的客觀概率是多少,因為畢竟我們不是上帝,但是我們還是很想知道這個概率的大小,我們唯一的手段就是,做實驗,從實驗結果的數據中發現這個事件其中的規律。比如,我們拋擲 100 次,發現正面有 52 次,反面有 48 次。此時,這個結果就給我們判斷正面的概率提供了一種依據,現在可能有很多人會立刻說:“我知道了,根據這次實驗的結果,正面的概率應該是 0.52 !”說的沒錯,這個論斷的思維過程就是概率理論中我們最常看到的一個詞 :“估計”。
但是,我們是如何估計的?直覺上,100 次中有 52 次正面,因此我們估計正面概率為 0.52,這似乎很簡單直觀。但是如果從純粹的數學理論角度去思考,我們應當給出一個完美的解釋。為了能夠解釋好這種估計的方法,數學家提出了極大似然估計。
極大似然估計的哲學內涵就是:我們對某個事件發生的概率未知,但我們做了一些實驗,有過一些對這個事件的經歷(經驗),那么我們認為,這個事件的概率應該是能夠與我們做的實驗結果最吻合,當然,前提是我們做的實驗次數應當足夠多。如果只做一次實驗,顯然我們就會估計概率為 0 或 1 了。
3 計算
那么,這里的關鍵問題就是:我們如何確定正面的概率??,使得其能夠與實際的實驗結果吻合度最高?這里的事件只有兩種結果,因此要求解的概率有兩個,即:??和??,且由于??,所以我們只需要求解??這一個概率即可。
將問題推廣,對于某一實驗,我們可能包含多種情況,其中每個實驗結果的概率可記為一個集合??:
其中,?
假設我們做了??次實驗,則該實驗結果出現的概率可計算如下:
例如拋硬幣實驗,如果我們做了 4 次實驗,結果為:正、正、反、反,那么這樣的實驗出現的概率可計算為:
現在回到我們在對極大似然估計含義的理解,如何確定正面的概率??,使得其能夠與實際的實驗結果吻合度最高?其實把這句話說的在明白一些,就是:如何確定正面的概率??,使得我們此次實驗結果的發生概率盡可能大?
在轉換為數學語言表達就是:求得一組??,使得??最大化,數學表達即:
這里,我的表達公式可能與標準的統計學書籍中的表達不一致,為的是通過這樣的表達,使其內涵更簡單地體現出來,完備的數學表達可參考相關的概率統計書籍。對于我們剛剛做的 4 次拋硬幣實驗,即可記為:
這個計算似乎我們能搞定,令??,設:
則該問題就轉化為求:在??取何值時,使得??最大?
該求解問題比較簡單,由于??,且前后兩項均為平方項,均為非負數,根據基本不等式:??, 當且僅當??時取等號,則求得當??即:??時,??取得最大值。
因此,在實驗結果為 “正、正、反、反”時,我們借助極大似然估計法求得??時,該實驗結果發生的概率最大。
4 抓豆子實驗
剛剛我們用 4 次拋硬幣的實驗解釋了極大似然估計,由于該問題的計算十分簡單,我們再舉一個抓豆子的例子來具體說明一下極大似然估計的常用計算手法。
假設我們現在有一個麻袋,里面裝了很多豆子,且豆子兩種:紅豆和綠豆,現在我們想知道這兩種豆子各自占得比例是多少。顯然我們不可能傻乎乎地一顆一顆的去數,懂概率理論的人會這樣做:先把袋子中的豆子搖勻,然后隨機地抽若干次豆子,記下抽取的豆子中紅豆的個數和綠豆的個數,這樣就能知道個大概情況了。
這其實也是極大似然估計的一個很實用地運用案例。現在我們假定抽取了 100 次豆子,其中有 70 個是紅豆,30 個是綠豆。同樣的,設紅豆的比例 (或稱抓得紅豆的概率) 為??,則綠豆的比例為??,那么我們這次實驗結果出現的概率為:
?, 其中?
可以看到,這次我們舉的例子中指數項很大,無法像前面的那個例子中簡單地求解,那么如何求得使得??最大時相應的??取值呢?我們可以使用一個數學中使用非常廣泛的對數函數來協助解決,這里,我們設:
我們都知道,函數??是定義在??上的單調增函數,因此加入??函數對函數的極值求解并無影響。
根據對數計算公式??,得:
再根據對數計算公式??, 得:
這樣借助對數函數的數學變換,求解問題一下子變得簡單很多。
現在,要求??的極值,我們可以先對其求導,借助??這一求導性質,得:
仔細觀察可以發現,??, 當??很小時??, 此時??, 當??逐漸變大時,將會存在??, 即??,因此,函數??是一個先上升后下降的函數形式,故當??時,??取得最大值。
令:
解得:
??
至此,我們利用極大似然估計求得了紅豆的比例最可能為 0.7。原來一個我們平時經常直覺上判斷出概率值的思維過程包含了這樣一個完整的數學求證推理的過程。深入思考的人可能會發現,實際真實的紅豆比例可能并非 0.7,的確,我們只能說很可能在 0.7 左右,因為極大似然估計方法本質上也是一種“估計”,既然叫做估計,肯定會存在偏差,但該中估計策略的基本世界觀應該就是我們目前最能夠直接認可的一種方式,那就是通過歷史經驗總結出規律啊。
總結
以上是生活随笔為你收集整理的极大似然估计 —— Maximum Likelihood Estimation的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Spring 5】响应式Web框架实战
- 下一篇: 算法太多挑花眼?教你如何选择正确的机器学