如何理解「最大似然估计」?参数估计、似然函数、最大似然估计
文章目錄
- 引言
- 參數估計
- 最大似然估計
- 似然函數
- 求解最大似然估計問題
- 為什么要對似然函數取對數?
- “似然”與“概率”的區別
- 機器學習中的應用
- 參考資料
引言
最大似然估計,就是尋找一組模型參數,使得觀測到現有樣本出現的概率最大,即這組模型參數,可以使模型擬合的結果最接近實際數據分布。在機器學習領域中,很多求解參數的方法,都可以歸結為最大似然估計問題。
最大似然估計是參數估計中點估計的一種,所以我們先復習下參數估計的定義。
參數估計
一般來說,我們假定模型結構是已知的,參數是未知的,數據是已知的。
通過已知數據推出未知的參數,這個參數的點估計就是數據的函數。
如果要估計的不是參數,而是輸入和目標變量之間關系,這種類型的點估計稱為函數估計。函數估計和估計參數θ類似,函數估計可以看作函數空間中的一個點估計。
最大似然估計
最大似然估計(Maximum Likelihood Estimation, MLE)是一個概率論中常用的估計方法。
假設有一個數據集 X={x1,x2,???,xn}X=\{x_1,x_2, ···,x_n\}X={x1?,x2?,???,xn?},其真實數據分布未知。數據的概率分布由參數θ確定,用 model(x;θ)model(x;θ)model(x;θ) 表示,可以將任意輸入x映射到概率 p(x)p(x)p(x)。當參數θ\thetaθ取不同值時,得到的似然函數值(詳見下一小節)不同。當似然函數值最大時,此時的參數θ\thetaθ使樣本X出現的概率最大,即找到了使概率最大的參數θ\thetaθ,這就是最大似然估計方法。
對于一個似然函數L(θ)=L(x1,x2,...xn;θ),θ^∈ΘL(\theta)=L(x_1,x_2,...x_n;\theta),\hat{\theta}∈\ThetaL(θ)=L(x1?,x2?,...xn?;θ),θ^∈Θ,如果存在一個參數值θ^\hat{\theta}θ^,使得似然函數值達到最大值 L(θ^)=maxθ^∈ΘL(θ)L(\hat{\theta})=max_{\hat{\theta}∈\Theta} {L(\theta)}L(θ^)=maxθ^∈Θ?L(θ),那么這個θ^\hat{\theta}θ^就稱為參數θ\thetaθ的最大似然估計量。θ^\hat{\theta}θ^ 與 x1,x2,...xnx_1,x_2,...x_nx1?,x2?,...xn? 有關,也可以記作 θ^(x1,x2,...xn)\hat{\theta}(x_1,x_2,...x_n)θ^(x1?,x2?,...xn?)。
最大似然估計在生活中的應用是,當人們觀察到某種現象,想要判斷是哪種原因導致這種現象,就會選擇可能性最大的一種原因,這種思想就是最大似然估計。
似然函數
根據離散型、連續型隨機變量的劃分,似然函數一般定義為:
(1)對于離散型X,其分布律為事件P(X=x)=p(x,θ1,...,θk)P(X=x)=p(x,\theta_1,...,\theta_k)P(X=x)=p(x,θ1?,...,θk?),事件A={X1=x1,X2=x2,...,Xn=xn}=\{X_1=x_1,X_2=x_2,...,X_n=x_n\}={X1?=x1?,X2?=x2?,...,Xn?=xn?},事件A發生的概率記為:
L(x;θ1,...,θk)=∏i=1np(xi,θ1,...,θk)L(x;\theta_1,...,\theta_k)=\prod_{i=1}^n{p(x_i,\theta_1,...,\theta_k)}L(x;θ1?,...,θk?)=i=1∏n?p(xi?,θ1?,...,θk?)則稱L(x;θ1,...,θk)L(x;\theta_1,...,\theta_k)L(x;θ1?,...,θk?)為樣本的似然函數。
(2)對于連續型X,若其概率密度為f(x,θ1,...,θk)f(x,\theta_1,...,\theta_k)f(x,θ1?,...,θk?),則樣本的似然函數定義為:L(x;θ1,...,θk)=∏i=1nf(xi,θ1,...,θk)L(x;\theta_1,...,\theta_k)=\prod_{i=1}^n{f(x_i,\theta_1,...,\theta_k)}L(x;θ1?,...,θk?)=i=1∏n?f(xi?,θ1?,...,θk?)
似然性是指在已知某些觀測結果時,對有關參數進行估計,似然函數取得最大值表示相應的參數能夠使統計模型最為合理。
求解最大似然估計問題
求解未知參數θ\thetaθ的最大似然估計問題,就是求似然函數L(x;θ)L(x;\theta)L(x;θ)的最大值點的問題。如果似然函數關于參數 θ\thetaθ 可微時,就能利用微分中求最大值的方法進行求解。計算步驟如下:
- (1)寫出似然函數L(x;θ)=L(x1,x2,...,xn;θ)L(x;\theta)=L(x_1,x_2,...,x_n;\theta)L(x;θ)=L(x1?,x2?,...,xn?;θ)
- (2)對似然函數或對數似然函數求導,令dL(x;θ)dθ=0\frac{dL(x;\theta)}{d\theta}=0dθdL(x;θ)?=0或dlnL(x;θ)dθ=0\frac{dlnL(x;\theta)}{d\theta}=0dθdlnL(x;θ)?=0,求出θ\thetaθ的最大似然估計。
為什么要對似然函數取對數?
因為 lnL(x;θ)lnL(x;\theta)lnL(x;θ) 是 L(x;θ)L(x;\theta)L(x;θ) 的單調遞增函數,所以有相同的極值點。似然函數中的連乘會有丟失精度的缺點,取對數后乘法變成加法,可以規避該問題,更易于計算。
“似然”與“概率”的區別
從形式上看,似然函數也是一種條件概率函數f(x∣θ)f(x|\theta)f(x∣θ),不同的是:
- 概率密度函數是關于xxx的函數:針對給定參數θ\thetaθ后,預測樣本觀測值xxx發生的可能性。
- 似然函數是關于θ\thetaθ的函數:已知數據樣本x的情況下,希望知道參數θ\thetaθ是多少。
機器學習中的應用
最大似然估計很容易擴展到估計條件概率 P(y∣x;θ)P(y|x;θ)P(y∣x;θ),從而給定 x 預測 y 。實際上這是最常見的情況,因為這構成了大多數監督學習的基礎。如果X表示所有的輸入,Y表示我們觀測到的目標,那么條件最大似然估計是:
θ=arg?max?θ(Y∣X;θ)\theta = \argmax_{\theta}(Y|X;\theta) θ=θargmax?(Y∣X;θ)
如果假設樣本是獨立同分布的,那么上式可以分解成:
θ=arg?max?θ∑i=1mlogP(yi∣xi;θ)\theta = \argmax_{\theta}\sum_{i=1}^m{logP(y_i|x_i;\theta)} θ=θargmax?i=1∑m?logP(yi?∣xi?;θ)
機器學習的一個基本過程,就是通過更新模型參數來提高整個數據集的似然,其中缺失變量的值是通過后驗分布來估計的。例如,使用梯度下降來最大化對數似然函數的方法也有相同的性質。計算對數似然函數的梯度需要對隱藏單元的后驗分布求期望。
還有一種解釋最大似然估計的觀點,是將它看作最小化訓練集上的經驗分布和模型分布之間的差異,兩者之間的差異程度可以通過KL散度度量。
參考資料
《人工智能數學基礎》
《深度學習》
總結
以上是生活随笔為你收集整理的如何理解「最大似然估计」?参数估计、似然函数、最大似然估计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kubernetes 教程 笔记
- 下一篇: js 实现上拉加载和下拉刷新