1. 程式人生 > >極大似然估計與貝葉斯估計

極大似然估計與貝葉斯估計

引言

在機器學習任務中,最最經常遇到的一個問題就是給定一組訓練樣本,學習到生成這組樣本的模型的引數,這也是統計學習的根本任務。我們知道統計學上分頻率學派和貝葉斯學派,那麼自然的,對這個問題的解決就有兩種模型,一種是頻率學派推崇的極大似然估計,一種是貝葉斯學派主張的貝葉斯估計,下面我們就來介紹下這兩種估計

極大似然估計

頻率學派認為給定一個模型,她的引數是一個固定值,因此可以直接根據訓練資料估計出引數的值。其思想如下:我們之所以能夠得到目前的訓練資料,那是因為通過函式生成這組資料的概率最大。因此,給定訓練集D={x1,...,xN},即

f(x1,...,xN|θ)是最大的。因此我們需要計算得到θ 使得f(x1,...,xN|θ)最大,即:

θ=argmaxθ(f(x1,...,xN|θ))

而我們假設樣本都是獨立生成的,因此有:

θ=argmaxθ(f(x1,...,xN|θ))=argmaxθ(i=1Nf(xi|θ))

為了解決連乘的問題,我們求對數,就可以得到引數的極大似然函式:

l(θ)=

(i=1Nlogf(xi|θ))

通過求導,既可以求得引數θ的最大值。

貝葉斯估計

頻率學派認為引數是一個固定值,而貝葉斯學派認為引數也是有分佈的,這就是他們兩個的矛盾。這個矛盾不可調和啊。

針對貝葉斯學派,給定輸入x,他的輸出並不是一個確定的值,而是一個期望,即:

E[y|x,D]=p(y|x,D)p(θ|D)dθ

而:

p(θ|D)=p(D|θ)p(θ)p(D|θ)p(θ)dθ

分母不影響θ,因此:

θ=a

rgmaxθ(p(D|θ)p(θ))

也就是說貝葉斯估計和極大似然估計之間差一個p(θ))

在實際問題中,θ需要以超引數的形式給出。

在訓練資料有限時,貝葉斯估計的泛化能力強。

當資料量極大時,這兩種方法結果是一致的。