人工智慧100問 - 3極大似然法是什麼?與最小二乘的區別?
我們用機器學習做模型,需要確定模型的各個引數。模型實際的引數我們是無從得知的,我們只能盡最大可能對這些引數進行估計,極大似然法就是使用最廣泛的估計方法之一。
一、什麼是極大似然?
極大似然估計從字面上來理解可以拆成三個詞,分別是“極大”、“似然”、“估計”,分別的意思如下:
極大:最大的概率
似然:看起來是這個樣子的
估計:就是這個樣子的
連起來就是,最大的概率看起來是這個樣子的那就是這個樣子的。怎麼樣,是不是很樸素?
極大似然法(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)當極大似然的分佈假設為高斯分佈的時候,是和最小二乘法等價的。