1. 程式人生 > >【學習筆記】Pattern Recognition&Machine Learning [1.2] Probability Theory(2) 基於高斯分佈和貝葉斯理論的曲線擬合

【學習筆記】Pattern Recognition&Machine Learning [1.2] Probability Theory(2) 基於高斯分佈和貝葉斯理論的曲線擬合

    高斯分佈不必贅述,這裡記錄個有意思的東西,即從高斯分佈和貝葉斯理論出發看曲線擬合(即選擇引數w)。

    首先假設我們使用多項式擬合曲線,根據泰勒展開的方法,我們可以用有限項多項式在一定精度內擬合任何曲線。

    我們常常用最小二乘法來求最優係數w(或者說計算損失函式)。主要原因為:殘差和存在互相抵消問題,殘差絕對值之和難於簡練表達計算,而最小二乘法使用的殘差平方和表達計算方便,並且可以有效控制離群值。

    此外,在吳恩達的《機器學習》課程中,為了防止過擬合,有一個步驟是新增regularization parameter,即

(*)

    其中θ即本文中的多項式係數w,y為本文中的target(也就是目標t),h(x)為本文中的y(x),λ即為regularization parameter,所在一項即為正則(regularization)項。(這個翻譯比較不知所云)原理大致為控制多項式項的個數,防止模型過度複雜而造成過擬合。(具體原理需要數學證明,學習之後再補)

    而在本書中,給出了曲線擬合的貝葉斯式的理解:

    假設輸入值為x,target為t,我們假定t服從y(x, w)為期望值的高斯分佈。即:


    由此我們給出:

(1)

    對於多次試驗組成的樣本,我們有:

(2)

    對該式取自然對數,得到:

(3)

    根據最大似然估計法,我們要做的就是調節w以最大化lnp(t|x, w, β),顯然,這個目標恰等價於沒有正則項的最小二乘法。

    另外,通過最大化lnp(t|x, w, β),我們還可以得到β(即方差的倒數)的學習值:

  (4)

    這和樣本方差的二階矩估計法是同樣的結果。

    得到w和β的學習值後,我們可以使用這個模型預測target了:


(5)

    現在使用貝葉斯思想重新考慮w的確定:假設w的先驗分佈也是高斯分佈。即:

(6)

    這裡α稱為超引數,即控制引數的引數,可暫不考慮。根據貝葉斯理論,即後驗概率正比於先驗概率乘以目標值的條件概率:

(7)

    對上式取對數,結合(2)(3)式,忽略係數和無關於w的項,我們得到了新的優化(最小化)目標:

(8)

    鑑於(*)中的λ可以調節,這正是新增正則項後的最小二乘擬合目標(*)。


    對於這種有趣的現象,結合一些常見解釋和自己的想法總結一下:

    (1)關於認為t服從y(x, w)為期望值的高斯分佈,也就是t與y的偏離符合高斯分佈。概率論中常出現高斯分佈這個東西,比如中心極限定理。中心極限定理似乎就是上述偏離現象的一種解釋,就是說大量隨機誤差的和趨於高斯分佈。中心極限定理是可以通過特徵函式證明的(這又是一個坑)。

    這種處理方法本就和最小二乘法不矛盾,因為最小二乘法使用的是殘差平方和,平方形式就意味著正片差、負偏差地位相同,並且偏差越大懲罰越重,也就是說我們越認為它不可能出現,這些都和高斯分佈是契合的。

    (2)關於認為w的先驗分佈為高斯分佈。這一點是匯出式中出現w'w(也就是wi^2,Matlab記為w.^2很漂亮)的關鍵。(當然,我們也可以把指數項改為exp(w'w)改為exp((w'w)^2),相應的也可以把正則項改為λ*(w'w)^2,導致的結果是ln(p)會對w更加敏感,但不影響本質)。事實上,由於我們使用有限項多項式去擬合曲線,最小二乘法中,我們是把樣本值(觀測值)當作了真實值,儘可能用樣本值來獲取更有效的w,然後為了防止w對偏差的過度捕捉增加正則項;而在貝葉斯理論中,無論是w還是t都是有不確定性的,它把t和w當作同等存在。(以上w, t均為向量,即w, t

    這裡就看出貝葉斯理論的一個優點,當試驗較少時,根據頻率學派的方法,會把誤差算入實際概率分佈,並且樣本越少結果越可能得到荒謬的結果,而貝葉斯方法則始終會給出中肯合理的結果。

    如果完整地使用貝葉斯理論來預測新的條件x下的試驗結果t,則並不需要對w進行點估計,而是在表示出後驗概率後,利用貝葉斯全概率公式求出t的分佈p(t)。

    將p(t|x, w)、p(w|x, t)代入求得:


    這裡s^2(x)實際表示式較為複雜,但是可以表示為兩項,一項即1/β,也就是t的波動,另一項則是w帶來的,這就是貝葉斯處理的結果。