極大似然估計的理解與應用

極大似然估計是機率論中一個很經常使用的估計方法,在機器學習中的邏輯迴歸中就是基於它計算的損失函數,所以仍是頗有必要複習一下它的相關概念的。html

背景

先來看看幾個小例子:算法

  • 獵人師傅和徒弟一同去打獵,遇到一隻兔子,師傅和徒弟同時放槍,兔子被擊中一槍,那麼是師傅打中的,仍是徒弟打中的?
  • 一個袋子中總共有黑白兩種顏色100個球,其中一種顏色90個,隨機取出一個球,發現是黑球。那麼是黑色球90個?仍是白色球90個?

看着兩個小故事,不知道有沒有發現什麼規律...因爲師傅的槍法通常都高於徒弟,所以咱們猜想兔子是被師傅打中的。隨機抽取一個球,是黑色的,說明黑色抽中的機率最大,所以猜想90個的是黑色球。機器學習

他們有一個共同點,就是咱們的猜想(估計),都是基於一個理論:機率最大的事件,最可能發生函數

其實咱們生活中無時無刻不在使用這種方法,只是不知道它在數學中是如何肯定或者推導的。而在數理統計中,它有一個專業的名詞:學習

極大似然估計(maximum likelihood estimation, MLE),通俗的說就是 —— 最像估計法(最可能估計法)spa

數學過程

極大似然原理與數學表示

官方一點描述上面的過程,即:有n個實驗結果,\({ A }_{ i }\)\({ A }_{ n }\),若是\({ A }_{ j }\)發生了,則意味着\({ A }_{ j }\)發生的機率最大。.net

即,一次試驗就發生的事件,這個事件自己發生機率最大htm

PS

舉個例子,咱們在學校衡量學習成績的標準就是考試成績,高考更是一考定終身的感受。高考成績的好壞,則能夠當作一個學生能力的體現,雖然有的人考試緊張考砸了,有的人超常發揮了,可是從機率上來講,高考的成績基本能夠判斷這我的的(學習)能力。基於極大似然的解釋就是,咱們高考的成績很大程度上反應了平時的學習能力,所以考得好的(當前發生的事件),能夠認爲是學習好的(全部事件發生機率最大的)。blog

再抽象一點,若是事件發生是關於 \(\theta\) 參數的,那麼一次事件放生時,樣本爲\({x}_{1},...{x}_{k}\),那麼\(\hat { \theta } ({x}_{1},...{x}_{k})\)就是\(\theta\)的估計值。當\(\theta=\hat { \theta } ({x}_{1},...{x}_{k})\)時,當前樣本發生的機率最大。遊戲

PS

再舉個射箭的例子,在《權力的遊戲》中有個場景,老徒利死的時候,屍體放在穿上,須要弓箭手在岸邊發射火箭引燃。可是當時的艾德慕·徒利公爵射了三箭都沒中,布林登·徒利實在看不下去了,經過旗幟判斷風向,一箭命中!
所以箭可否射中靶心,不只跟弓箭手的瞄準能力有關,還跟外界的風向有關係。假設不考慮人的因素,但看風向...一樣的瞄準和力度,風太大不行、過小也不行....那咱們給風的大小設置一個值爲\(\theta\)。假設一名弓箭手射出了三隻箭,分別是8環、6環、7環(即\({x}_{1}=8\),\({x}_{2}=6\),\({x}_{3}=7\)),當天風的大小爲88。那麼咱們認爲只有\(\theta=88\),發生上面事件的機率最大。

極大似然估計法

若是整體X爲離散型

假設分佈率爲\(P=p(x;\theta )\),x是發生的樣本,\(\theta\)是代估計的參數,\(p(x;\theta)\)表示估計參數爲\(\theta\)時,發生x的的機率。

那麼當咱們的樣本值爲:\({x}_{1},{x}_{2},...,{x}_{n}\)時,
\[ L(\theta )=L({ x }_{ 1 },{ x }_{ 2 },...,{ x }_{ n };\theta )=\prod _{ i=1 }^{ n }{ p({ x }_{ i };\theta ) } \]
其中\(L(\theta)\)成爲樣本的似然函數。

假設
\[ L({ x }_{ 1 },{ x }_{ 2 },...,{ x }_{ n };\hat { \theta } )=\underset { \theta \in \Theta }{ max } L({ x }_{ 1 },{ x }_{ 2 },...,{ x }_{ n };\theta ) \]
\(\hat{\theta}\) 使得 \(L(\theta)\) 的取值最大,那麼 \(\hat {\theta}\)就叫作參數 \(\theta\) 的極大似然估計值。

若是整體X爲連續型

基本和上面相似,只是機率密度爲\(f(x;\theta)\),替代p。

解法

  1. 構造似然函數\(L(\theta)\)
  2. 取對數:\(lnL(\theta)\)
  3. 求導,計算極值
  4. 解方程,獲得\(\theta\)

解釋一下,其餘的步驟很好理解,第二步取對數是爲何呢?

由於根據前面你的似然函數公式,是一堆的數字相乘,這種算法求導會很是麻煩,而取對數是一種很方便的手段:

  • 因爲ln對數屬於單調遞增函數,所以不會改變極值點
  • 因爲對數的計算法則:\(ln{ a }^{ b }=blna\)\(lnab=lna+lnb\) ,求導就很方便了

例子這裏就不舉了,感興趣的話,能夠看看參考的第二篇裏面有好幾個求解極大似然估計的例子。

參考

相關文章
相關標籤/搜索