我們用機器學習做模型,需要確定模型的各個參數。模型實際的參數我們是無從得知的,我們只能盡最大可能對這些參數進行估計,極大似然法就是使用最廣泛的估計方法之一。

一、什麼是極大似然?

極大似然估計從字面上來理解可以拆成三個詞,分別是「極大」、「似然」、「估計」,分別的意思如下:
極大:最大的概率
似然:看起來是這個樣子的
估計:就是這個樣子的
連起來就是,最大的概率看起來是這個樣子的那就是這個樣子的。怎麼樣,是不是很樸素?

極大似然法(the Principle of Maximum Likelihood)是由高斯和費希爾先後提出的,這個方法的基礎是極大似然原理。
極大似然法的原理是:樣本所展現的狀態就是所有可能狀態中出現概率最大的那個狀態。

二、舉個栗子

image

三、怎麼計算?

極大似然的計算簡單來說可以分為3步:
(1)寫出似然函數;
(2)求導數;
(3)導數為0,解方程。

以從箱子里取出小球為例子:箱子里有一定數量的小球,每次隨機拿一個球,檢視顏色後放回,已知拿到白球的概率為40%到80%之間,拿了四次,3次是白球,1次是黑球。求拿到白球概率的極大似然估計。

解題:這里是有放回的拿取,是一個獨立重複事件。我們記拿到白球為事件x,取到時為1,沒有取到則為0。

  • 1)寫出似然函數:我們假設θ是二項分布的參數,那麼在給定一組結果的情況下,似然函數L可表達為:

    image

  • 2)因為這個式子太復雜,是乘在一起的,而lnL和L在同一位置取得最大值,所以極大似然估計值也可以由對數似然方程求得。所以我們兩邊取對數,In L = In θ^h+In (1- θ)^(n-h)。3)對上面的函數式,取一階導數,令導數=0,可得當θ=h/n時似然函數取最大值。h是x=1的次數,n是實驗總數。解出來的值為0.75,這就是我們當前對白球概率的極大似然估計。

  • 3)對上面的函數式,取一階導數,令導數=0,可得當θ=h/n時似然函數取最大值。h是x=1的次數,n是實驗總數。
    解出來的值為0.75,這就是我們當前對白球概率的極大似然估計。

PS: 當方程無解時,要從定義出發,考慮L(θ)的單調性,找到max(L(θ))對應的估計值。

四、與最小二乘的區別?

  • 1)最小二乘是求計算值與實際值的歐式距離最小的參數,是從lost function的角度去看的。而極大似然是求目前這個觀測數據出現概率最大的參數,是從概率的角度去看。
  • 2)極大似然是要有分布假設的,而最小二乘沒有這個假設。
  • 3)當極大似然的分布假設為高斯分布的時候,是和最小二乘法等價的。