1. 程式人生 > >【機器學習】貝葉斯線性迴歸模型

【機器學習】貝葉斯線性迴歸模型

假設當前資料為X,迴歸引數為W,結果為B,那麼根據貝葉斯公式,可以得到後驗概率:

,我們的目標是讓後驗概率最大化。其中pD概率是從已知資料中獲取的量,視為常量;pw函式是w分佈的先驗資訊。

令:

 

求l函式最大化的過程稱為w的極大似然估計(ML),求pie函式最小化的過程稱為最大後驗估計(MAP)。ML沒有利用w的先驗資訊,因此結果不如MAP好。MAP和ML計算得到的W 的結果可能不是唯一的。

我在之前的部落格中推導過線性迴歸模型,求解該模型最終歸於解決最小二乘問題。接下來的推導可以看到之前部落格的簡單線性模型是貝葉斯迴歸模型的特例。

假設樣本是隨機獨立同分布(iid)的,誤差(d-wx)服從高斯分佈N(0,theta),同樣假設判別向量w服從高斯分佈N(0,thetaw),這裡我們增加了兩個強假設。帶入到pie函式中有:

 

如果沒有w的先驗知識,那麼這時候上述問題退化為最小二乘問題。有了w的先驗知識,那麼最小化模型就包含一個w平方項,這個平方項會利用w的先驗資訊,對結果進行約束,稱為正則化項,這個問題是正則最小二乘問題。對w求導,令結果為零,得到最小化情況下的w值:

 

不過大量的資料顯示,正則化導致了偏置-方差困境,MAP方法相比ML方法,離真實的判別引數w是一定有偏差的,想辦法縮小w計算結果偏差會導致w計算結果方差變大,同時縮小偏置和方差的方法是儘可能增大樣本容量。


紅色線是標準答案,紅點是噪聲資料,藍線是線性迴歸結果,綠線是正則化迴歸結果。

https://github.com/artzers/MachineLearning.git  LineaRegression 實現