透徹理解最大似然估計

透徹理解最大似然估計

在這篇文章中,我將解釋參數估計的最大似然法是什麼,並通過一個簡單的例子來演示該方法。一些內容需要基本概率概念的知識,例如聯合概率的定義和事件的獨立性。

什麼是參數?

通常在機器學習中,我們使用模型來描述導致觀察到的數據的過程。例如,我們可以使用隨機森林模型來分類客戶是否可以取消服務中的訂閱(稱為流失建模),或者我們可以使用線性模型來預測將為公司的收入,取決於可能花在廣告上的支出(這將是線性迴歸的一個例子)。每個模型都包含自己的一組參數,這些參數最終定義了模型本身。

對於線性模型,我們可以將其寫為y = mx + c。在此示例中,x可以表示廣告支出,y可以是生成的收入。m和c是該模型的參數。這些參數的不同值將給出不同的線(見下圖)。

透徹理解最大似然估計

三個具有不同參數值的線性模型

因此,參數定義了模型的藍圖。只有當為參數選擇特定值時,我們才能獲得描述給定現象的模型的實例化。

直觀解釋

最大似然估計是確定模型參數值的方法。找到參數值,使得它們最大化模型描述的過程產生實際觀察到的數據的可能性。

上面的定義可能聽起來有點神秘,所以讓我們通過一個例子來幫助理解這一點。

假設我們已從某個過程中觀察到10個數據點。例如,每個數據點可以表示學生回答特定考試問題所需的時間長度(以秒為單位)。這10個數據點如下圖所示

透徹理解最大似然估計

觀察到的 10 個(假設的)數據點

我們首先要確定我們認為哪種模型最能描述生成數據的過程。這部分非常重要。至少,我們應該對使用哪種模型有個好主意。這通常來自擁有一些領域專業知識,但我們不會在這裡討論。

對於這些數據,我們假設數據生成過程可以通過高斯(正態)分佈充分描述。對上圖的目視檢查表明,高斯分佈似乎是合理的,因為大多數10個點聚集在中間,幾個點分散在左側和右側。(僅使用10個數據點即時做出這種決定是不明智的,但鑑於我生成了這些數據點,我們將繼續使用它)。

回想一下,高斯分佈有2個參數。平均值μ和標準差σ。這些參數的不同值導致不同的曲線(就像上面的直線一樣)。我們想知道哪條曲線最有可能負責創建我們觀察到的數據點?(見下圖)。最大似然估計是一種方法,它將找到導致最適合數據的曲線的μ和σ的值。

透徹理解最大似然估計

10個數據點和可能從中得出數據的高斯分佈。f1是均值10和方差2.25(方差等於標準差的平方)的分佈,這也表示為f1~N(10,2.25)。f2~N(10,9),f3~N(10,0.25)和f4~N(8,2.25)。最大似然的目標是找到給出分佈的參數值,以最大化觀察數據的概率

生成數據的真實分佈是f1~N(10,2.25),這是上圖中的藍色曲線。

計算最大似然估計

現在我們可以直觀地瞭解最大似然估計是什麼,我們可以繼續學習如何計算參數值。我們找到的值稱為最大似然估計(MLE)。

我們再次用一個例子來證明這一點。假設這次我們有三個數據點,我們假設它們是從一個由高斯分佈充分描述的過程生成的。這些點是9,9.5和11. 我們如何計算高斯分佈μ和σ的參數值的最大似然估計?

我們想要計算的是觀察所有數據的總概率,即所有觀測數據點的聯合概率分佈。要做到這一點,我們需要計算一些條件概率,這可能會變得非常困難。所以我們在這裡做出第一個假設。假設每個數據點都是獨立於其他數據點生成的。這個假設使數學更容易。如果事件(即生成數據的過程)是獨立的,則觀察所有數據的總概率是單獨觀察每個數據點(即邊際概率的乘積)的乘積。

觀察單個數據點x的概率密度由高斯分佈產生,由下式給出:

透徹理解最大似然估計

符號P(x;μ,σ)中使用的半冒號用於強調其後面出現的符號是概率分佈的參數。

在我們的例子中,觀察三個數據點的總(聯合)概率密度由下式給出:

透徹理解最大似然估計

我們只要找出能夠讓上述表達式最大化的μ、σ值就可以了。

如果你已經在數學課程中介紹了微積分,那麼您可能會意識到有一種技術可以幫助我們找到函數的最大值(和最小值)。它被稱為差異化。我們所要做的就是找到函數的導數,將導數函數設置為零,然後重新排列等式,使感興趣的參數成為等式的主題。而且,我們將為我們的參數提供MLE值。我現在將完成這些步驟,但我會假設讀者知道如何對常用功能進行區分。

對數似然函數

總概率的上述表達實際上是一個很難微分的,因此通過採用表達式的自然對數幾乎總是簡化。這是絕對正確的。這意味著如果x軸上的值增加,y軸上的值也會增加(見下圖)。這很重要,因為它確保概率對數的最大值出現在與原始概率函數相同的點上。因此,我們可以使用更簡單的對數似然而不是原始的概率。

透徹理解最大似然估計

原函數的單調行為,左邊的y = x和(自然)對數函數y = ln(x)。這些函數都是單調的,因為當你在x軸上從左到右時,y值總是增加。

透徹理解最大似然估計

非單調函數的示例,因為當您在圖表上從左到右時,f(x)的值上升,然後下降然後再次上升。

取初始表達式的對數能得到::

透徹理解最大似然估計

可以使用對數定律再次簡化此表達式,以獲得:

透徹理解最大似然估計

可以區分該表達式以找到最大值。在這個例子中,我們將找到平均值的MLE,μ。為此,我們採用相對於μ的函數的偏導數給出

透徹理解最大似然估計

最後,將等式的左側設置為零然後重新排列μ給出:

透徹理解最大似然估計

這樣我們就得到了 μ 的最大似然估計。我們可以用同樣的方法得到 σ 的最大似然估計,這留給有興趣的讀者自己練習。

結束語

最大似然估計總能找到精確的解嗎?

簡單來說,不能。更有可能的是,在真實的場景中,對數似然函數的導數仍然是難以解析的(也就是說,很難求微分)。因此,一般採用期望最大化(EM)算法等迭代方法為參數估計找到數值解,但總體思路還是一樣的。

那麼叫為什麼最大可能性而不是最大概率?

那麼這只是統計學家迂腐(但有充分理由)。大多數人傾向於交替使用概率和可能性,但統計學家和概率理論家將兩者區分開來。通過查看等式可以最好地突出混淆的原因。

透徹理解最大似然估計

這兩個表達式是相等的!

我們先來定義 P(data; μ, σ) 它的意思是:在模型參數μ、σ條件下,觀察到數據 data 的概率。值得注意的是,我們可以將其推廣到任意數量的參數和任何分佈。

另一方面,L(μ, σ; data) 的意思是:我們在觀察到一組數據 data 之後,參數 μ、σ 取特定的值的似然度。

上面的公式表示,給定參數後數據的概率等於給定數據後參數的似然度。但是,儘管這兩個值是相等的,但是似然度和概率從根本上是提出了兩個不同的問題——一個是關於數據的,另一個是關於參數值的。這就是為什麼這種方法被稱為最大似然法(極大可能性),而不是最大概率。

什麼情況下最小二乘最小化何時與最大似然估計相同?

最小二乘最小化是在機器學習中估計模型的參數值的另一種常用方法。事實證明,當假設模型如上例中的高斯模型時,MLE估計等效於最小二乘法。

直觀地,我們可以通過理解它們的目標來解釋這兩種方法之間的聯繫。對於最小二乘參數估計,我們希望找到最小化數據點和迴歸線之間總的距離的平方的線(參見下圖)。在最大似然估計中,我們希望最大化數據的總概率。當假設高斯分佈時,當數據點接近平均值時,找到最大概率。由於高斯分佈是對稱的,這相當於最小化數據點和平均值之間的距離

透徹理解最大似然估計

迴歸線顯示具有隨機高斯噪聲的數據點

原文作者:Jonny Brooks-Bartlett,AI火箭營進行翻譯、修改


分享到:


相關文章: