在李航的《统计学习方法》中多项式拟合偏导函数推导存在的疑问

在阅读李航的《统计学习理论 第二版》1.42过拟合与模型选择中遇到的一个问题。

​​​在这里插入图片描述
在这里插入图片描述
这段公式的推导让我费解,于是我开始了自己的验证。

前提:用多项式函数对已知数据的拟合。

设拟合函数为:
f ( x ) = w 0 x 0 + w 1 x 1 + w 2 x 2 + . . . . + w m x m = Σ i = 0 m w j x j f(x)=w_0x^0+w_1x^1+w_2x^2+....+w_mx^m=\Sigma_{i=0}^mw_jx^j f(x)=w0x0+w1x1+w2x2+....+wmxm=Σi=0mwjxj
设数据集为:
d a t a s e t = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) . . . ( x n , y n ) } dataset=\{(x_1,y_1),(x_2,y_2),(x_3,y_3)...(x_n,y_n)\} dataset={(x1,y1),(x2,y2),(x3,y3)...(xn,yn)}
设损失函数为:
L o s s : L = 1 2 Σ i = 1 n [ f ( x i ) − y i ] 2 Loss: L=\frac{1}{2}\Sigma_{i=1}^n[f(x_i)-y_i]^2 Loss:L=21Σi=1n[f(xi)yi]2
求闭式解的思路很简单,对 w j w_j wj​求偏导,令其为0即可得到结果,但其中涉及一些棘手的求和符号内求导的问题,很容易出错,所以有必要把每个过程都搞清楚。

首先带入 f ( x ) f(x) f(x),其中 x i j x_i^j xij为第 i i i个数据的 j j j次幂,即 ( x i ) j (x_i)^j (xi)j
L = 1 2 Σ i = 1 n [ Σ j = 0 m w j x i j − y i ] 2 L=\frac{1}{2}\Sigma_{i=1}^n[\Sigma_{j=0}^mw_jx_i^j-y_i]^2 L=21Σi=1n[Σj=0mwjxijyi]2
w j w_j wj求偏导:
∂ L ∂ w j = Σ i = 1 n [ Σ j = 0 m w j x i j − y i ] ⋅ ∂ Σ j = 0 m w j x i j ∂ w j \frac{\partial L}{\partial w_j}=\Sigma_{i=1}^n[\Sigma_{j=0}^mw_jx_i^j-y_i]\cdot \frac{\partial \Sigma_{j=0}^mw_jx_i^j}{\partial w_j} wjL=Σi=1n[Σj=0mwjxijyi]wjΣj=0mwjxij
∂ Σ j = 0 m w j x i j ∂ w j \frac{\partial \Sigma_{j=0}^mw_jx_i^j}{\partial w_j} wjΣj=0mwjxij这个偏导的结果可以直接对 w j w_j wj求偏导并去掉求和符号,即为 x i j x_i^j xij。取简单的情况验证,也的确符合这个结果。

故上式变为:
∂ L ∂ w j = Σ i = 1 n [ Σ j = 0 m w j x i j − y i ] ⋅ x i j \frac{\partial L}{\partial w_j}=\Sigma_{i=1}^n[\Sigma_{j=0}^mw_jx_i^j-y_i]\cdot x_i^j wjL=Σi=1n[Σj=0mwjxijyi]xij
可能有人疑惑,这里 x i j x_i^j xij不受求和符号控制了,是否是错了,但实际上该偏导的结果是与 j j j有关的,存在不受求和符号控制的关于 j j j的因子是正常的。继续变形得到:
∂ L ∂ w j = Σ i = 1 n x i j [ Σ j = 0 m w j x i j ] − Σ i = 1 n y i ⋅ x i j \frac{\partial L}{\partial w_j}=\Sigma_{i=1}^nx_i^j[\Sigma_{j=0}^mw_jx_i^{j}]-\Sigma_{i=1}^ny_i\cdot x_i^j wjL=Σi=1nxij[Σj=0mwjxij]Σi=1nyixij
接下来的变形需要将 w j w_j wj从求和符号中拿出来:
∂ L ∂ w j = Σ i = 1 n x i j [ Σ k = 0 , k ≠ j m w k x i k + w j x i j ] − Σ i = 1 n y i ⋅ x i j \frac{\partial L}{\partial w_j}=\Sigma_{i=1}^nx_i^j[\Sigma_{k=0,k\neq j}^mw_kx_i^k+w_jx_i^j]-\Sigma_{i=1}^ny_i\cdot x_i^j wjL=Σi=1nxij[Σk=0,k=jmwkxik+wjxij]Σi=1nyixij
之后的变形就方便许多了:
∂ L ∂ w j = Σ i = 1 n [ Σ k = 0 , k ≠ j m w k x i k + j ] + Σ i = 1 n w j x i 2 j − Σ i = 1 n y i ⋅ x i j = 0 \frac{\partial L}{\partial w_j}=\Sigma_{i=1}^n[\Sigma_{k=0,k\neq j}^mw_kx_i^{k+j}]+\Sigma_{i=1}^nw_jx_i^{2j}-\Sigma_{i=1}^ny_i\cdot x_i^j=0 wjL=Σi=1n[Σk=0,k=jmwkxik+j]+Σi=1nwjxi2jΣi=1nyixij=0
至此,直接移项就可得到结果:
Σ i = 1 n w j x i 2 j = Σ i = 1 n y i ⋅ x i j − Σ i = 1 n [ Σ k = 0 , k ≠ j m w k x i k + j ] \Sigma_{i=1}^nw_jx_i^{2j}=\Sigma_{i=1}^ny_i\cdot x_i^j-\Sigma_{i=1}^n[\Sigma_{k=0,k\neq j}^mw_kx_i^{k+j}] Σi=1nwjxi2j=Σi=1nyixijΣi=1n[Σk=0,k=jmwkxik+j]
w j w_j wj可以直接拿出来:
w j = Σ i = 1 n y i ⋅ x i j − Σ i = 1 n [ Σ k = 0 , k ≠ j m w k x i k + j ] Σ i = 1 n x i 2 j w_j=\frac{\Sigma_{i=1}^ny_i\cdot x_i^{j}-\Sigma_{i=1}^n[\Sigma_{k=0,k\neq j}^mw_kx_i^{k+j}]}{\Sigma_{i=1}^nx_i^{2j}} wj=Σi=1nxi2jΣi=1nyixijΣi=1n[Σk=0,k=jmwkxik+j]

这个结果很奇怪既不优美,而且和这本书的作者写的不一样,和我搜到的其他博客,得到的结果也不一样,比如这位大佬。仔细查看了一下,发现他与我在最开始对
∂ Σ j = 0 m w j x i j ∂ w j \frac{\partial \Sigma_{j=0}^mw_jx_i^j}{\partial w_j} wjΣj=0mwjxij
这个偏导的结果大相径庭。但我觉得如果我对这个偏导的对象理解没有错,我的结果(至少这部分)应该是正确的。接下来的我决定用程序验证一下,在此暂时记录一下。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值