1. 程式人生 > >(光滑樣條)Smoothing spline的數學推導

(光滑樣條)Smoothing spline的數學推導

Smoothing spline的數學推導

參考斯坦福統計學習原理 光滑樣條的精髓在於在原本的擬合誤差的基礎上加了一個λ{f(t)}2dt\lambda\int\left\{f^{''}(t)\right\}^{2}dt,這樣就有人問,為什麼這個能達到光滑的作用,如果能達到光滑的作用,那麼他的光滑效果怎麼衡量。以及如何選擇引數λ\lambda的問題

一般的不加入光滑因子的擬合誤差如下式: RSS(f,λ)=i=1N{yif(xi)}2RSS(f,\lambda)=\sum_{i=1}^{N}\left\{y_{i}-f(x_{i})\right\}^{2}

引入λ\lambda光滑因子式均方誤差 RSS(f,λ)=i=1N{yif(xi)}2+λ{f(t)}2dtRSS(f,\lambda)=\sum_{i=1}^{N}\left\{y_{i}-f(x_{i})\right\}^{2}+\lambda\int\left\{f^{''}(t)\right\}^{2}dt其中,f(x)=j=1NNj(x)θjf(x)=\sum_{j=1}^{N}N_{j}(x)\theta_{j}
,對上式用矩陣的形式表示可得如下形式: RSS(θ,λ)=(yNθ)T(yNθ)+λθTΩNθRSS(\theta,\lambda) = (y-N\theta)^{T}(y-N\theta)+\lambda\theta^{T}\Omega_{N}\theta其中,{N}ij=Nj(xi)\left\{N\right\}_{ij}=N_{j}(x_i) , {ΩN}ij=NjNkdt\left\{\Omega_{N}\right\}_{ij}=\int N_{j}^{''}N_{k}^{''}dt
,我相信有一部分同學覺得公式來的太突然。當我們將前面f(x)=j=1NNj(x)θjf(x)=\sum_{j=1}^{N}N_{j}(x)\theta_{j}代入RSSRSS的計算公式中,將{f(t)}2\left\{f^{''}(t)\right\}^{2}分解成f(t)f(t)f^{''}(t)*f^{''}(t)根據矩陣的一些乘積變換即可得到RSS(θ,λ)RSS(\theta,\lambda) 然後對θ\theta求導等於0,也就是最小二乘法的思想 θ^=(NTN+λΩN)1NTy\hat{\theta}=(N^{T}N+\lambda\Omega_{N})^{-1}N^{T}y將我們得到的θ^\hat\theta帶入原來的擬合函式可得f^(x)=j=1NNj(x)θj^\hat{f}(x)=\sum_{j=1}^{N}N_{j}(x)\hat{\theta_{j}} -----------------分割線---------------- 在我們進行接下來的分析前我們先回顧一下未引入光滑引數的情況,並一次來探討自由度和光滑矩陣的問題: 設B是一個N*M的矩陣,N代表有N觀測點 此時f^=B(BTB)1BTy=Hy\hat f = B(B^{T}B)^{-1}B^{T}y=Hy 矩陣H具有對稱,半正定的性質,類似的矩陣SλS_{\lambda}也具有對稱半正定的性質。 矩陣H還是冪等矩陣,所以HH=HH*H=H這點不難證明,只需要乘一次就能得到,冪等矩陣具有特徵值非1即0的性質,而SλSλ<=SλS_{\lambda}*S{_{\lambda}}<=S_{\lambda},在這裡也能看到矩陣SλS_{\lambda}有著壓縮的作用。 矩陣H秩為M,矩陣S的秩為N,在投影空間中M=trace(H),這也是基礎函式的個數,類似的我們定義光滑樣條的有效自由度為:dfλ=trace(Sλ)df_{\lambda}=trace(S_{\lambda}) 有很多討論支援有效自由度的定義,下面進行討論: 將SλS_{\lambda}寫成ReinshReinsh形式: Sλ=N(NTN+λΩN)NT=N(NT[I+λNTΩNN1]N)1NT=(I+λNTΩNN1)1S_{\lambda}=N(N^{T}N+\lambda\Omega_{N})N^{T}\\ =N(N^{T}[I+\lambda N{-T}\Omega_{N}N^{-1}]N)^{-1}N^{T}\\ =(I+\lambda N^{-T}\Omega_{N}N^{-1})^{-1}也就是說矩陣SλS_{\lambda}