(光滑样条)Smoothing spline的数学推导

Smoothing spline的数学推导


参考 斯坦福统计学习原理
光滑样条的精髓在于在原本的拟合误差的基础上加了一个 λ ∫ { f ′ ′ ( t ) } 2 d t \lambda\int\left\{f^{''}(t)\right\}^{2}dt λ{f(t)}2dt,这样就有人问,为什么这个能达到光滑的作用,如果能达到光滑的作用,那么他的光滑效果怎么衡量。以及如何选择参数 λ \lambda λ的问题

一般的不加入光滑因子的拟合误差如下式:
R S S ( f , λ ) = ∑ i = 1 N { y i − f ( x i ) } 2 RSS(f,\lambda)=\sum_{i=1}^{N}\left\{y_{i}-f(x_{i})\right\}^{2} RSS(f,λ)=i=1N{yif(xi)}2 引入 λ 光 滑 因 子 式 均 方 误 差 \lambda光滑因子式均方误差 λ
R S S ( f , λ ) = ∑ i = 1 N { y i − f ( x i ) } 2 + λ ∫ { f ′ ′ ( t ) } 2 d t RSS(f,\lambda)=\sum_{i=1}^{N}\left\{y_{i}-f(x_{i})\right\}^{2}+\lambda\int\left\{f^{''}(t)\right\}^{2}dt RSS(f,λ)=i=1N{yif(xi)}2+λ{f(t)}2dt其中, f ( x ) = ∑ j = 1 N N j ( x ) θ j f(x)=\sum_{j=1}^{N}N_{j}(x)\theta_{j} f(x)=j=1NNj(x)θj,对上式用矩阵的形式表示可得如下形式:
R S S ( θ , λ ) = ( y − N θ ) T ( y − N θ ) + λ θ T Ω N θ RSS(\theta,\lambda) = (y-N\theta)^{T}(y-N\theta)+\lambda\theta^{T}\Omega_{N}\theta RSS(θ,λ)=(yNθ)T(yNθ)+λθTΩNθ其中, { N } i j = N j ( x i ) \left\{N\right\}_{ij}=N_{j}(x_i) {N}ij=Nj(xi) , { Ω N } i j = ∫ N j ′ ′ N k ′ ′ d t \left\{\Omega_{N}\right\}_{ij}=\int N_{j}^{''}N_{k}^{''}dt {ΩN}ij=NjNkdt,我相信有一部分同学觉得公式来的太突然。当我们将前面 f ( x ) = ∑ j = 1 N N j ( x ) θ j f(x)=\sum_{j=1}^{N}N_{j}(x)\theta_{j} f(x)=j=1NNj(x)θj代入 R S S RSS RSS的计算公式中,将 { f ′ ′ ( t ) } 2 \left\{f^{''}(t)\right\}^{2} {f(t)}2分解成 f ′ ′ ( t ) ∗ f ′ ′ ( t ) f^{''}(t)*f^{''}(t) f(t)f(t)根据矩阵的一些乘积变换即可得到 R S S ( θ , λ ) RSS(\theta,\lambda) RSS(θ,λ)
然后对 θ \theta θ求导等于0,也就是最小二乘法的思想
θ ^ = ( N T N + λ Ω N ) − 1 N T y \hat{\theta}=(N^{T}N+\lambda\Omega_{N})^{-1}N^{T}y θ^=(NTN+λΩN)1NTy将我们得到的 θ ^ \hat\theta θ^带入原来的拟合函数可得 f ^ ( x ) = ∑ j = 1 N N j ( x ) θ j ^ \hat{f}(x)=\sum_{j=1}^{N}N_{j}(x)\hat{\theta_{j}} f^(x)=j=1NNj(x)θj^
− − − − − − − − − − − − − − − − − 分 割 线 − − − − − − − − − − − − − − − − -----------------分割线---------------- 线
在我们进行接下来的分析前我们先回顾一下未引入光滑参数的情况,并一次来探讨自由度和光滑矩阵的问题:
设B是一个N*M的矩阵,N代表有N观测点
此时 f ^ = B ( B T B ) − 1 B T y = H y \hat f = B(B^{T}B)^{-1}B^{T}y=Hy f^=B(BTB)1BTy=Hy
矩阵H具有对称,半正定的性质,类似的矩阵 S λ S_{\lambda} Sλ也具有对称半正定的性质。
矩阵H还是幂等矩阵,所以 H ∗ H = H H*H=H HH=H这点不难证明,只需要乘一次就能得到,幂等矩阵具有特征值非1即0的性质,而 S λ ∗ S λ &lt; = S λ S_{\lambda}*S{_{\lambda}}&lt;=S_{\lambda} SλSλ<=Sλ,在这里也能看到矩阵 S λ S_{\lambda} Sλ有着压缩的作用。
矩阵H秩为M,矩阵S的秩为N,在投影空间中M=trace(H),这也是基础函数的个数,类似的我们定义光滑样条的有效自由度为: d f λ = t r a c e ( S λ ) df_{\lambda}=trace(S_{\lambda}) dfλ=trace(Sλ)
有很多讨论支持有效自由度的定义,下面进行讨论:
S λ S_{\lambda} Sλ写成 R e i n s h Reinsh Reinsh形式:
S λ = N ( N T N + λ Ω N ) N T = N ( N T [ I + λ N − T Ω N N − 1 ] N ) − 1 N T = ( I + λ N − T Ω N N − 1 ) − 1 S_{\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λ=N(NTN+λΩN)NT=N(NT[I+λNTΩNN1]N)1NT=(I+λNTΩNN1)1也就是说矩阵 S λ S_{\lambda} Sλ可以写成如下形式
S λ = ( I − λ K ) − 1 S_{\lambda}=(I-\lambda K)^{-1} Sλ=(IλK)1
此时 R S S ( f ) = ( y − f ) T ( y − f ) + λ f T K f RSS(f)=(y-f)^{T}(y-f)+\lambda f^{T}Kf RSS(f)=(yf)T(yf)+λfTKf,最小化RSS的 f ^ = S λ y \hat f=S_{\lambda}y f^=Sλy
由于矩阵S的对称半正定性质,所以对其进行特征分解:
S λ = ∑ k = 1 N ρ k ( λ ) u k u k T S_{\lambda}=\sum\limits_{k=1}^{N}\rho_{k}(\lambda)u_{k}u_{k}^{T} Sλ=k=1Nρk(λ)ukukT
其中, ρ k ( λ ) = 1 1 + λ d k \rho_{k}(\lambda)=\frac{1}{1+\lambda d_{k}} ρk(λ)=1+λdk1,这里的 d k d_{k} dk是矩阵K的特征值。

此时我们可以对 f ^ \hat f f^重新写成: f ^ = S λ y = ∑ k = 1 N ρ k ( λ ) u k u k T y \hat f=S_{\lambda}y=\sum\limits_{k=1}^{N}\rho_{k}(\lambda)u_{k}u_{k}^{T}y f^=Sλy=k=1Nρk(λ)ukukTy,这里可以看作 u k u_{k} uk对y的分解。
引入下面一张图片,对这里所说的特征向量进行说明:
在这里插入图片描述
从这张图中我们可以看到随着特征值的减少,矩阵的特征向量越复杂,但同时也在压缩,这也就是为什么矩阵的特征值能达到压缩自由度的原因,而且特征向量与参数 λ \lambda λ无关。
关于参数 λ \lambda λ大小的选取(这里仅仅给出R语言的实现,具体证明有空再写):
1:固定有效自由度,反解出其大小
在这里插入图片描述
2:利用留一交叉验证进行求解

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值