使用最大似然法來求解線性模型(3)-求解似然函數


根據 使用最大似然法來求解線性模型(2)-為什么是最大化似然函數? 中提到,某個隨機變量tn的 條件概率 服從均值為wT*xn,方差為σ2的正態分布。

 

現在假設有N個樣本點,它們的聯合概率密度為:

 

由於在給定了w和σ2的條件下,tn之間是相互獨立的。即:在給定的 w,σ2的條件下,t1 t2 ...tn 之間是相互獨立的(這就是朴素貝葉斯假設!)

故聯合概率密度可寫成下式:

 

為什么 tn在給定了w和σ2的條件下是相互獨立的呢?如果直接從圖形上看,不是相互獨立的,各個tn之間大致是一個單調的線性下降關系。也即:t1<t2<...<tn

這個單調下降的線性關系就是由 w 決定的(體現的)。

在給定了w的條件下,每年的奧林匹克男子100m時間的年份之間就沒有必然的聯系了,就好像16年奧運會男子100m的時間 與 06 年奧林匹克男子100m的時間 是沒有關系,相互獨立的。

但從整個歷史趨勢(1960-2020)來看,奧林匹克男子100m所花的時間是越來越少的。

 

這里需要注意的是:t是條件獨立的,即在給定的w條件下,各個t之間是相互獨立的。上面的 L 就是似然函數。

要想最大化L,相當於最大化logL,於是就有:

 

其中,f(x;w)=w*x,代入上式,得到:

 

讓logL 對 w 求偏(將xn 、tn 和 δ 都視為常數),並令偏導數等於0,根據向量乘法:wT*xn = xnT * w。故得到:

 

需要注意的是:上式Xn是一個向量XnT=[1,xn],表示的是年份,即哪一年的比賽數據,比如x10=1980。前面的1 是偏置項。

因為:wT*xn=w0*1+w1*xn.  wT=(w0,w1)有兩個參數,故需要一個bias unit(偏置項)

為什么w有兩個參數(w0,w1)呢?因為我們是用直線來擬合數據。根據直線的一般表達式方程 y=k*x+b,需要兩個參數,一個是斜率k,另一個是截距b

只要給定了斜率和截距,就能唯一確定一條直線了。而對於向量w,分量w0相當於截距,分量w1相當於斜率。

 

tn是一個標量,表示的是第n個樣本點代表的年份,比如t10=10.25 表示第10個樣本點所表示的奧林匹克男子100m所花的時間是10.25秒。

w是一個向量,即線性模型里面的模型參數。它們的具體形式如下(n 和 N 沒有區別):

 

把求和累加化簡,根據矩陣乘法:(注意下面x一個是向量,一個是單個實數x。它們之間的關系:XnT=[1,xn])

 

這樣,我們就可以將偏導數表示成,更緊湊的矩陣乘法的形式,如下:

 

並最終求得w,結果用wΛ 來表示:

 

根據模型的概率密度函數:

 

還需要求解σ2。同樣地,logL對σ求偏導數,並令偏導數等於0,得到下面公式:

(圖中應該是 logL 而不是L)

 

最終解得為σ2

 

將求得的wΛ 代入到上式(具體推導見參考文獻),得到:

 

根據上面求解的w和δ2 的公式,現在只要給定若干個數據(訓練樣本X),就可以計算出w和δ2 ,從而求出了:

 

知道了概率密度表達式中所有的參數:w和δ2 ,當然也就求得了概率密度:

 

最終得出帶有 ξn的能夠估計 noise的“線性”模型。因為,此時我們的模型估計值tn是一個 隨機變量了,隨機變量的variance(各個點取值的偏差由δ2 決定)。

 

參考文獻:《A First Course of Machine Learning》

原文:http://www.cnblogs.com/hapjin/p/6623795.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM