概率论简明教程_Chapter-02_最大似然估计
概率論簡明教程_Chapter-02_最大似然估計
-
本文內容摘自:https://medium.com/towards-data-science/probability-concepts-explained-maximum-likelihood-estimation-c7b4342fdbb1
-
參考翻譯:鏈接
1. 什么是參數?
在機器學習中,我們經常使用模型描述從數據中觀測結果的過程。例如,我們可能使用隨機森林模型來分類客戶是否會退訂某項服務(稱為客戶翻轉),也可能使用線性模型來基于廣告開銷預測利潤(這將是線性回歸的一個例子)。每個模型都包含各自的參數集合,參數集合最終定義了模型是什么樣的。
- 例子: 我們可以用 y=mx+cy = mx + cy=mx+c 來表示線性模型。在這個例子中,xxx 可能表示廣告開銷,yyy 可能表示產生的利潤。mmm 和 ccc 是這個模型的參數。不同的參數值將給出不同的曲線(見下圖)。
所以參數定義了模型的藍圖。只有當為參數選擇了特定的值時,我們才能得到一個描述特定現象的模型實例。
2. 最大似然估計的直觀解釋
最大似然估計是一種估計模型參數值的方法。估計的參數值要能使模型所描述的過程產生實際觀察到的數據的可能性最大化。
以上的定義可能仍然比較晦澀,所以讓我們通過一個例子來理解這一概念。
- 例子: 假定我們從某一過程中觀測到了10個數據點。這里的每個數據點表示一個學生回答一道考題的時長。
我們首先要決定,哪種模型是描述生成這些數據的最佳模型。這部分非常重要。至少,我們對使用哪種模型要有個概念。這通常源于某些專門的領域知識,不過,我們在這里不討論這個。
我們假定這些數據生成的過程可以通過高斯(正態)分布描述。從上圖我們可以觀察到,10個點中的大部分都集中在中間,少數點散布在左側和右側,因此,使用高斯分布描述看起來會是一個不錯的選擇。(僅僅只有10個數據點的情況下就做出這樣的決定實在是欠考慮,不過既然我們生成了這些數據點,就姑且這樣吧。)
回憶一下,高斯分布有兩個參數,均值 μ\muμ 和標注差 σ\sigmaσ。這兩個參數的不同值將產生不同的曲線(見下圖)。我們想知道哪條曲線最可能生成了我們觀測到的10個數據點?。最大似然估計就是尋找擬合數據的最佳曲線的參數 μ\muμ 和 σ\sigmaσ 值的方法。
(10個數據點和可能的高斯分布。f1f1f1是均值為10、方差為2.25(方差等于標準差的平方)的正態分布,記為f1~N(10,2.25)f1 \sim N(10, 2.25)f1~N(10,2.25)。f2~N(10,9)f2 \sim N(10, 9)f2~N(10,9)、f3~N(10,0.25)f3 \sim N(10, 0.25)f3~N(10,0.25) 和 f4~N(8,2.25)f4 \sim N(8, 2.25)f4~N(8,2.25)。最大似然的目的是找到參數值,使由這些參數值生成的分布可以最大化觀測到數據的概率。)
生成數據的真正分布是f1~N(10,2.25)f1 \sim N(10, 2.25)f1~N(10,2.25),也就是上圖中藍色的曲線。
3. 計算最大似然估計
既然我們已經有了對最大似然估計的直覺理解,我們可以繼續學習如何計算參數值了。我們將找的值稱為 最大似然估計(Maximum likelihood estimation, MLE)。
- 例子:我們假設有3個數據點,產生這3個數據點的過程可以通過高斯分布充分表達。這三個點分別是9、9.5、11。我們如何計算高斯分布的參數 μ\muμ 和 σ\sigmaσ 的最大似然估計呢?
我們想要計算的是觀測到的所有數據的全概率,即所有觀測到的數據點的聯合概率分布。因此,我們需要計算一些條件概率,這可能會很困難。所以,這里我們將做出我們的第一個假設。我們假設每個數據點的生成和其他點是獨立的。這一假設讓數學計算變得容易很多。因為如果事件(即生成數據的過程)是獨立的,那么觀測到所有數據的全概率是分別觀測到的每個數據點的概率的乘積(即邊緣概率的乘積)。
觀測到的單個數據點 xxx 的概率密度,即從高斯分布中產生的概率密度由以下公式計算:
P(x;μ,σ)=1σ2πexp?(?(x?μ)22σ2)P(x ; \mu, \sigma)=\frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{(x-\mu)^{2}}{2 \sigma^{2}}\right) P(x;μ,σ)=σ2π?1?exp(?2σ2(x?μ)2?)
P(x;μ,σ)P(x ; \mu, \sigma)P(x;μ,σ) 中的分號 ; 后面出現的符號是概率分布的參數。而不是條件概率(條件概率通常用豎線分割,例如 P(A∣B)P(A|B)P(A∣B))
在上面的例子中,觀測到的3個數據點的全(聯合)概率為:
P(9,9.5,11;μ,σ)=1σ2πexp?(?(9?μ)22σ2)×1σ2πexp?(?(9.5?μ)22σ2)×1σ2πexp?(?(11?μ)22σ2)\begin{array}{r} P(9,9.5,11 ; \mu, \sigma)=\frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{(9-\mu)^{2}}{2 \sigma^{2}}\right) \times \frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{(9.5-\mu)^{2}}{2 \sigma^{2}}\right) \\ \times \frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{(11-\mu)^{2}}{2 \sigma^{2}}\right) \end{array} P(9,9.5,11;μ,σ)=σ2π?1?exp(?2σ2(9?μ)2?)×σ2π?1?exp(?2σ2(9.5?μ)2?)×σ2π?1?exp(?2σ2(11?μ)2?)?
我們只需找出能最大化以上表達式的值的 μ\muμ 和 σ\sigmaσ 的值。
如果你的學過微積分的話,你大概能意識到有一個幫助我們找到函數的最大(最小)值的方法,叫做微分。我們只需找到函數的導數,將導數設為零,重新整理等式,將感興趣的參數放到等式的左邊。看,我們得到了參數的 MLE 值。下面將詳細講解這些步驟,不過會假設大家知道常見的函數如何求導。
3.1 對數似然
實際上,對上面的全概率表達式求導很麻煩。所以,我們基本上總是通過取自然對數對其加以簡化。由于自然對數是單調遞增函數,所以這么做沒問題。單調遞增函數意味著隨著 xxx 軸的值增加,yyy 軸的值也同樣增加(見下圖)。這很重要,因為這確保了當概率的對數達到最大值時,原概率函數同樣達到最大值。因此我們可以操作簡化了的對數似然,而不是原本的似然。
下圖是一個非單調函數的例子。
對原表達式取對數,我們得到:
ln?(P(x;μ,σ))=ln?(1σ2π)?(9?μ)22σ2+ln?(1σ2π)?(9.5?μ)22σ2+ln?(1σ2π)?(11?μ)22σ2\begin{aligned} \ln (P(x ; \mu, \sigma))=\ln \left(\frac{1}{\sigma \sqrt{2 \pi}}\right)-\frac{(9-\mu)^{2}}{2 \sigma^{2}}+\ln \left(\frac{1}{\sigma \sqrt{2 \pi}}\right) &-\frac{(9.5-\mu)^{2}}{2 \sigma^{2}} \\ &+\ln \left(\frac{1}{\sigma \sqrt{2 \pi}}\right)-\frac{(11-\mu)^{2}}{2 \sigma^{2}} \end{aligned} ln(P(x;μ,σ))=ln(σ2π?1?)?2σ2(9?μ)2?+ln(σ2π?1?)??2σ2(9.5?μ)2?+ln(σ2π?1?)?2σ2(11?μ)2??
根據對數定律,上式可以簡化為:
ln?(P(x;μ,σ))=?3ln?(σ)?32ln?(2π)?12σ2[(9?μ)2+(9.5?μ)2+(11?μ)2]\ln (P(x ; \mu, \sigma))=-3 \ln (\sigma)-\frac{3}{2} \ln (2 \pi)-\frac{1}{2 \sigma^{2}}\left[(9-\mu)^{2}+(9.5-\mu)^{2}+(11-\mu)^{2}\right] ln(P(x;μ,σ))=?3ln(σ)?23?ln(2π)?2σ21?[(9?μ)2+(9.5?μ)2+(11?μ)2]
接著,我們需要對以上表達式求導以找到最大值。在這個例子中,我們將尋找均值 μ\muμ 的 MLE。為此,我們求函數關于 μ\muμ 的偏導數:
?ln?(P(x;μ,σ))?μ=1σ2[9+9.5+11?3μ]\frac{\partial \ln (P(x ; \mu, \sigma))}{\partial \mu}=\frac{1}{\sigma^{2}}[9+9.5+11-3 \mu] ?μ?ln(P(x;μ,σ))?=σ21?[9+9.5+11?3μ]
最后,我們將等式的左半部分設為 000,將 μ\muμ 移動到等式左邊,整理后得到:
μ=9+9.5+113=9.833\mu = \frac{9+9.5+11}{3} = 9.833 μ=39+9.5+11?=9.833
這樣我們就得到了 μ\muμ 的最大似然估計。同理,我們可以求得 σ\sigmaσ 的最大似然估計。
3.2 討論
a. 最大似然估計總是能以精確的方式解決嗎?
短答案是 不。在現實世界的場景中,對數似然函數的導數往往難以解析(也就是說,手工求導太困難甚至不可能)。因此,常使用如最大期望算法之類的迭代計算的方法尋找參數估計的數值解。不過總體思路是一樣的。
b. 為什么是最大似然,而不是最大概率?
好吧,這只是統計學家在賣弄學問(不過他們的理由很充分)。大部分人傾向于混用概率和似然,但是統計學家和概率論學者區分了兩者。以下等式突顯了兩者之所以容易混淆的原因:
L(μ,σ;data)=P(data;μ,σ)L(\mu, \sigma; data) = P(data; \mu, \sigma) L(μ,σ;data)=P(data;μ,σ)
這兩個表達式是相等的!所以,這意味著什么?
首先,讓我們來定義 P(data;μ,σ)P(data; \mu, \sigma)P(data;μ,σ)。它的意思是"基于模型參數 μ\muμ 和 σ\sigmaσ 觀測到數據的概率"。值得注意的是,我們可以將其推廣到任意數目的參數和任意分布。
而,L(μ,σ;data)L(\mu, \sigma; data)L(μ,σ;data) 的意思是"我們已經觀測到一組數據,參數 μ\muμ 和 σ\sigmaσ 取特定值的似然"。
上面兩個表達式是相等意味著給定參數得到數據的概率等于給定數據得到參數的似然。然而,盡管兩者相等,似然和概率根本上問的是不同的問題——一為數據,一為參數。這就是該方法稱做最大似然而不是最大概率的原因。
c. 什么時候最小二乘法和最大似然估計是一樣的?
最小二乘法(Least squares minimisation)是另一個估計機器學習模型參數值的常用方法。事實證明,當模型被假定為高斯模型(如上文中的例子)時候,MLE估計等價于最小二乘法。關于兩者在數學上的深層淵源,可以參考這些幻燈片。
直觀上,我們可以通過理解兩者的目標來解釋它們之間的聯系。最小二乘法想要找到數據點和回歸線之間的距離平方和最小的直線(見上圖)。最大似然估計想要最大化數據的全概率。如果數據點符合高斯分布,那么當數據點接近均值時,我們就找到了最大概率。由于高斯分布是對稱的,因此這等價于最小化數據點和均值之間的距離。
#mermaid-svg-5BlyaPrBln3PID9H {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5BlyaPrBln3PID9H .error-icon{fill:#552222;}#mermaid-svg-5BlyaPrBln3PID9H .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-5BlyaPrBln3PID9H .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-5BlyaPrBln3PID9H .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-5BlyaPrBln3PID9H .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-5BlyaPrBln3PID9H .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-5BlyaPrBln3PID9H .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-5BlyaPrBln3PID9H .marker{fill:#333333;stroke:#333333;}#mermaid-svg-5BlyaPrBln3PID9H .marker.cross{stroke:#333333;}#mermaid-svg-5BlyaPrBln3PID9H svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-5BlyaPrBln3PID9H .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-5BlyaPrBln3PID9H .cluster-label text{fill:#333;}#mermaid-svg-5BlyaPrBln3PID9H .cluster-label span{color:#333;}#mermaid-svg-5BlyaPrBln3PID9H .label text,#mermaid-svg-5BlyaPrBln3PID9H span{fill:#333;color:#333;}#mermaid-svg-5BlyaPrBln3PID9H .node rect,#mermaid-svg-5BlyaPrBln3PID9H .node circle,#mermaid-svg-5BlyaPrBln3PID9H .node ellipse,#mermaid-svg-5BlyaPrBln3PID9H .node polygon,#mermaid-svg-5BlyaPrBln3PID9H .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-5BlyaPrBln3PID9H .node .label{text-align:center;}#mermaid-svg-5BlyaPrBln3PID9H .node.clickable{cursor:pointer;}#mermaid-svg-5BlyaPrBln3PID9H .arrowheadPath{fill:#333333;}#mermaid-svg-5BlyaPrBln3PID9H .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-5BlyaPrBln3PID9H .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-5BlyaPrBln3PID9H .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-5BlyaPrBln3PID9H .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-5BlyaPrBln3PID9H .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-5BlyaPrBln3PID9H .cluster text{fill:#333;}#mermaid-svg-5BlyaPrBln3PID9H .cluster span{color:#333;}#mermaid-svg-5BlyaPrBln3PID9H div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-5BlyaPrBln3PID9H :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}完總結
以上是生活随笔為你收集整理的概率论简明教程_Chapter-02_最大似然估计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常见窗函数的C语言实现及其形状,适用于单
- 下一篇: UIFont各种字体