似然函數和最大似然估計
來自專欄深度學習與機器學習演算法4 人贊了文章
1.什麼是似然函數
在數理統計中,似然函數是一種關於統計模型中的參數的函數,既然是函數那自變數就是模型可能的參數值,因變數就是參數取具體值的似然性,通俗來說就是實驗結果已知的情況下,參數為某個具體值的概率。在教科書中,似然常常被用作概率的同義詞。但是在統計學中,二者有截然不同的用法,那在統計學中:
- 概率描述的是:指定參數後,預測即將發生事件的可能性;
- 似然描述的是:在已知某些觀測所得到的結果時,對有關事物的性質的參數進行估計;
從上面的描述可以看出似然和概率正好的兩個相反的過程。一種方便區別是概率還是似然的方法是,根據定義,"誰誰誰的概率"中誰誰誰只能是概率空間中的事件,換句話說,我們只能說,事件(發生)的概率是多少多少(因為事件具有概率結構從而刻畫隨機性,所以才能談概率);而"誰誰誰的似然"中的誰誰誰只能是參數,比如說,參數等於 時的似然是多少。
下面用兩個簡單的例子來說明:
例1:有一個箱子,裝有形狀相同的黑色球和白色球共100個,其中黑色球有90個,白色球10個,現在從箱子中任取一個球,結果是黑色球的概率?
那這個很好算,根據古典概率可知黑色球的概率 。當然要注意的就是雖然結果是求黑色球發生的概率,但是沒有說結果一定是黑色球,這一點需要弄清楚,概率說的其實就是接下來做實驗結果是黑色球的可能性,所以實驗的結果並不一定是黑色球,那黑色球可能性的值越接近於1(不能等於1,等於1就是必然事件,一定發生)說明發生的概率越大。
例2:有一個箱子,裝有形狀相同的黑色球和白色球100個,其中一種顏色90個,另一種顏色球10個,現在從箱子中任取一球,結果所取得的球是黑色球,箱中黑色球是90個可能性是多少?
那這個例子,可以從"結果所取得的球是黑色球"可以知道實驗的結果已經確定抽取的是黑色球了,但是我們並不確定黑色球在整個箱子中有90個,他還可能是10個,因為已知條件中並沒有先驗知識可以告訴我們黑色球到底是90個還是10個,當然這兩種情況都是有可能的。
如果沒有試驗的結果我們一定認為箱子中的黑球是90個還是10個可能性各佔一般也就是 ,這裡根據最大熵,在沒有任何知識的條件下,認為發生的概率一樣,也就是最大熵原理。但是由於我們有了第一次抽取的實驗結果,第一次抽取的結果為黑色球,那麼我們更加傾向於 ,因為我們可能更傾向於佔比大的,認為越容發生,所以可能更傾向於黑色球數量是90個,但是這裡也僅僅是傾向於,並不說黑色球一定就是90個。
其實似然和概率最主要的區別還是在於參數是不是已知。
求概率的時候確定已知了參數,所以可以通過這些參數來求將來發生結果的可能性,而求似然的時候,是已知了實驗的結果,估計參數可能的概率。那麼根據例二來說,就是求 以及 這兩個概率。那這兩個概率怎麼求呢?實質上我們並沒有先驗知識直接求出這些概率。
2.似然函數的定義
為了方便我們把某個參數定義為B,事件定義為A。對於概率來說就是已知B發生,A發生的概率,那麼寫成"條件概率"的形式就是 ,也就是 。前面說了其實似然函數就是對概率的反過程,那麼也就是求 這個"條件概率",即 。
我們使用 來表示似然函數,那也就是 :
- 那由於A是事件,那在似然函數中A是已經確認發生的結果,所以我們可以知道 ,帶入上面的 得到 ;
- 我們可能並不要求似然函數滿足歸一性: ,一個似然函數乘上一個正的常數之後仍然是似然函數,因為我們並不關心取值,而是當參數變化時函數到底變小還是變大。我們由(1)可知, ,這裡的 是一個常數,比如說上面的例2來說,雖然我們不知道具體的黑球的概率,但是我們知道黑球的可能值要不就是90個概率0.9,要不就是10個概率0.1,所以可以肯定 肯定是一個具體的數值,因為是概率所以一定有 ,那麼可以確定B一定是這些可能參數的任意一個,所以一定有 ,前面說似然函數乘上一個正的常數還是似然函數,所以可以得到最終的似然函數公式, ;
這裡需要注意的是:
- 我們通過上面的推導也可以發現其實我們要求的參數的似然本質上並不和 等同(對於函數來說的等同就是定義域和值域都相同),那有人肯定會說,那這個算出來的值有意義嗎?其實上面也說了,其實我們並不真正關心某個參數發生的似然,而是通過對比不同的參數取值哪一個更合理,那這裡的更合理就是通過已知某個參數的情況下,實驗結果發生的概率來衡量的,我們說使得實驗結果發生概率大的參數,我們就認為更加"合理"。
- 前面說到條件概率的時候,我都採用加粗然後引號引起來,因為它實質上並不是一個完全意義上的條件概率,因為這裡的參數並不是一個隨機變數,所以要注意,這個只是寫法上的問題,我們可以把 寫成 或者 。
3.最大似然函數估計
其實最大似然估計是似然函數最初也是最自然的應用。上文已經提到,似然函數取得最大值表示相應的參數能夠使得統計模型最為合理。從這樣一個想法出發,最大似然估計的做法是:首先選取似然函數(一般是概率密度函數或概率質量函數),整理之後求最大值。實際應用中一般會取似然函數的對數作為求最大值的函數,這樣求出的最大值和直接求最大值得到的結果是相同的。似然函數的最大值不一定唯一,也不一定存在。
4.例子
考慮投擲一枚硬幣的實驗。通常來說,已知投出的硬幣正面朝上和反面朝上的概率各自是 便可以知道投擲若干次後出現各種結果的可能性,也就是概率值。比如說,投兩次都是正面朝上的概率是0.25。用"條件概率"表示,就是: ,其中H表示正面朝上。
上面說的其實就是概率的計算,那我們可以建立一個統計模型:假設硬幣投出時會有 的概率朝上,有 的概率反面朝上,當然這裡的是未知的,你並不知道他是0.5還是0.6甚至是1。這個時候,"條件概率"可以改寫成似然函數:
也就是說,對於取定的似然函數,在觀測到兩次投擲都是正面朝上時, 的似然性是0.25(這並不表示當觀測到兩次正面朝上時 的概率是0.25)。
如果考慮 ,那麼似然函數值也會改變。 ,注意到似然函數的值變大了。這就說明,如果參數 的取值變成0.6的話,結果觀測到連續兩次正面朝上的概率要比假設 時更大。也就是說,參數 取0.6要比取成0.5更有說服力,更為"合理"。
總之,似然函數的重要性不是它的具體取值,而是當參數變化時函數到底變小還是變大。比如上面例子中的 ,所以我們認為選擇參數0.6比選擇參數0.5更加的合理。
參考:
1.Yeung Evan:如何理解似然函數?2.wiki似然函數~需要翻牆3.似然函數_百度百科
推薦閱讀: