1. 程式人生 > >最大似然估計,最大後驗估計,貝葉斯估計聯絡與區別

最大似然估計,最大後驗估計,貝葉斯估計聯絡與區別

1.什麼是引數

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

我們可以把線性模型寫成 y = mx + c 的形式。在廣告預測收入的例子中,x 可以表示廣告支出,y 是產生的收入。m 和 c 則是這個模型的引數。這些引數的不同值將在座標平面上給出不同的直線(見下圖)。

這裡寫圖片描述

2.引數估計的方法

就是根據樣本統計量的數值對總體引數進行估計的過程。根據引數估計的性質不同,可以分成兩種型別:點估計和區間估計。
點估計就是用樣本統計量的某一具體數值直接推斷未知的總體引數。例如,在進行有關小學生身高的研究中,隨機抽取1000名小學生並計算出他們的平均身高為1.45米。如果直接用這個1.45米代表所有小學生的平均身高,那麼這種估計方法就是點估計。
而對總體引數進行點估計常用的方法有兩種:矩估計與最大似然估計,其中最大似然估計就是我們實際中使用非常廣泛的一種方法。
按這兩種方法對總體引數進行點估計,能夠得到相對準確的結果。如用樣本均值X估計總體均值,或者用樣本標準差S估計總體標準差σ。
但是,點估計有一個不足之處,即這種估計方法不能提供估計引數的估計誤差大小。對於一個總體來說,它的總體引數是一個常數值,而它的樣本統計量卻是隨機變數。當用隨機變數去估計常數值時,誤差是不可避免的,只用一個樣本數值去估計總體引數是要冒很大風險的。因為這種誤差風險的存在,並且風險的大小還未知,所以,點估計主要為許多定性研究提供一定的參考資料,或在對總體引數要求不精確時使用,而在需要用精確總體引數的資料進行決策時則很少使用。
區間估計就是在推斷總體引數時,還要根據統計量的抽樣分佈特徵,估計出總體引數的一個區間,而不是一個數值,並同時給出總體引數落在這一區間的可能性大小,概率的保證。還是舉小學生身高的例子,如果用區間估計的方法推斷小學生身高,則會給出以下的表達:根據樣本資料,估計小學生的平均身高在1.4~1.5米之間,置信程度為95%,這種估計就屬於區間估計。

3.概率與統計的區別

概率(probabilty)和統計(statistics)看似兩個相近的概念,其實研究的問題剛好相反。

概率研究的問題是,已知一個模型和引數,怎麼去預測這個模型產生的結果的特性(例如均值,方差,協方差等等)。 舉個例子,我想研究怎麼養豬(模型是豬),我選好了想養的品種、餵養方式、豬棚的設計等等(選擇引數),我想知道我養出來的豬大概能有多肥,肉質怎麼樣(預測結果)。

統計研究的問題則相反。統計是,有一堆資料,要利用這堆資料去預測模型和引數。仍以豬為例。現在我買到了一堆肉,通過觀察和判斷,我確定這是豬肉(這就確定了模型。在實際研究中,也是通過觀察資料推測模型是/像高斯分佈的、指數分佈的、拉普拉斯分佈的等等),然後,可以進一步研究,判定這豬的品種、這是圈養豬還是跑山豬還是網易豬,等等(推測模型引數)。

一句話總結:概率是已知模型和引數,推資料。統計是已知資料,推模型和引數。
顯然,對於最大似然估計,最大後驗估計,貝葉斯估計來說,都屬於統計的範疇。

4.最大似然估計(maximum likelihood estimates,MLE)

前文提到,最大似然估計(maximum likelihood estimates,MLE)是實際中使用非常廣泛的一種方法,用我們老師的一句最簡單的話來總結最大似然估計,就是“誰大像誰”。
說到最大似然估計與最大後驗估計,最好的例子自然就是拋硬幣了。本文也不免俗,同樣以拋硬幣作為例子。
於是我們拿這枚硬幣拋了10次,得到的資料X是:反正正正正反正正正反。我們想求的正面概率θ是模型引數,而拋硬幣模型我們可以假設是二項分佈。
在概率論和統計學中,二項分佈(Binomial distribution)是n個獨立的是/非試驗中成功的次數的離散概率分佈,其中每次試驗的成功概率為p。這樣的單次成功/失敗試驗又稱為伯努利試驗。實際上,當n = 1時,二項分佈就是伯努利分佈。
伯努利分佈(Bernoulli distribution,又名兩點分佈或者0-1分佈,是一個離散型概率分佈,為紀念瑞士科學家雅各布·伯努利而命名。)若伯努利試驗成功,則伯努利隨機變數取值為0。記其成功概率為

p(0p1),失敗概率為 q=1p
對於伯努利分佈來說:
概率質量函式為:

fX(x)=px(1p)1x={pif x=1,qif x=0.
期望為:
E[X]=i=01xifX(x)=0+p=p
方差為:
var[X]=i=01(xiE[X])2fX(x)=(0p)2(1p)+(1p)2p=p(1p)=pq
而如果X ~ B(n, p)(也就是說,X是服從二項分佈的隨機變數)
一般的二項分佈是n次獨立的伯努利試驗的和。它的期望值和方差分別等於每次單獨試驗的期望值和方差的和:
μn=k=1nμ=np,σn2=k=1nσ2=np(1p).

回到拋硬幣的例子,出現實驗結果X的似然函式是什麼呢?

f(X,θ)=θ7(1θ)3
需要注意的是,上面只是個關於θ的函式。而最大似然估計,很明顯是要最大化這個函式。可以看一下這個函式的影象:
這裡寫圖片描述
容易得出,在θ=0.7時,似然函式能取到最大值。
當然實際中我們一般不會畫圖,而是通過更為簡潔的數學手段來處理。
首先我們取對數似然函式,這樣更方便後續的數學運算:
ln(f(X,θ))=ln(θ7(1θ)3)=7ln(θ)+3ln(1θ)
對對數似然函式求導: