極大似然估計是機率論中一個很經常使用的估計方法,在機器學習中的邏輯迴歸中就是基於它計算的損失函數,所以仍是頗有必要複習一下它的相關概念的。html
先來看看幾個小例子:算法
看着兩個小故事,不知道有沒有發現什麼規律...因爲師傅的槍法通常都高於徒弟,所以咱們猜想兔子是被師傅打中的。隨機抽取一個球,是黑色的,說明黑色抽中的機率最大,所以猜想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\),發生上面事件的機率最大。
假設分佈率爲\(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\) 的極大似然估計值。
基本和上面相似,只是機率密度爲\(f(x;\theta)\),替代p。
解釋一下,其餘的步驟很好理解,第二步取對數是爲何呢?
由於根據前面你的似然函數公式,是一堆的數字相乘,這種算法求導會很是麻煩,而取對數是一種很方便的手段:
例子這裏就不舉了,感興趣的話,能夠看看參考的第二篇裏面有好幾個求解極大似然估計的例子。