这篇博客将主要针对西瓜书3.1和3.2节(一元线性回归)的内容进行补充。主要有如何判断出一元线性回归损失函数是一个凸函数以及如何将w值向量化表示。

对于一元线性回归,假设f(xi)=wxi+b,i=1,2,3...f(x_i)=wx_i+b,i=1,2,3...,我们的目的就是为了让f(xi)f(x_i)尽可能与yiy_i接近。我们需要确定w,bw,b这两个值,使得损失函数最小(拟合)。这里我们用均方误差E(w,b)E_(w,b)来作为损失函数。
E(w,b)=i=1m(yiwxib)2(1)E_(w,b)=\sum_{i=1}^m(y_i-wx_i-b)^2 \tag{1}
我们可以看到公式(1)是一个二元的函数,所以我们可以对其求偏导判断其是凸函数还是凹函数(这一点西瓜书中没有证明)。
西瓜书——一元线性回归(一)
w,bw,b分别求一次偏导数,得φE(w,b)φw=2(wi=1mxi2i=1m(yib)xi)(2)\frac{\varphi E_(w,b)}{\varphi_w}=2\left( w\sum_{i=1}^{m}x_i^2-\sum_{i=1}^{m}(y_i-b)x_i \right) \tag{2}
φE(w,b)φb=2(mbi=1m(yiwxi))(3)\frac{\varphi E_(w,b)}{\varphi_b}=2\left( mb-\sum_{i=1}^{m}(y_i-wx_i )\right) \tag{3}
继而求出二次偏导数分别为,
A=2i=1mxi2,B=2i=1mxi,C=2mA=2\sum_{i=1}^{m}x_i^2,B=2\sum_{i=1}^{m}x_i,C=2m
根据已知可得AA一定会大于0(xix_i一定不会全是0的),我们便关注到ACB2AC-B^2上面。
下面进行证明ACB20AC-B^2≥0:

ACB2=2m2i=1mxi24(i=1mxi)2AC-B^2=2m\cdot2\sum_{i=1}^{m}x_i^2-4(\sum_{i=1}^{m}x_i)^2

=4mi=1mxi24m1m(i=1mxi)(i=1mxi)=4m\sum_{i=1}^{m}x_i^2-4m\cdot\frac{1}{m} (\sum_{i=1}^{m}x_i)\cdot(\sum_{i=1}^{m}x_i)

=4mi=1mxi24mx~i=1mxi=4m\sum_{i=1}^{m}x_i^2-4m\cdot\widetilde{x}\cdot\sum_{i=1}^{m}x_i

=4mi=1m(xi2x~xi)=4m\sum_{i=1}^{m}(x_i^2-\widetilde{x}\cdot x_i)

又因为

i=1mxix~=x~1mi=1mxi=mx~xi=i=1mx~2\sum_{i=1}^{m}x_i\widetilde{x}=\widetilde{x}\cdot \frac{1}{m}\cdot\sum_{i=1}^{m}x_i=m\cdot \widetilde{x} \cdot x_i=\sum_{i=1}^{m}\widetilde{x}^2

所以
ACB2=4mi=1m(xi2x~xi+x~xix~xi)AC-B^2=4m\sum_{i=1}^{m}(x_i^2-\widetilde{x}x_i+\widetilde{x}x_i-\widetilde{x}x_i)

=4mi=1m(xi22x~xi+x~2)=4m\sum_{i=1}^{m}(x_i^2-2\widetilde{x}x_i+\widetilde{x}^2)

=4mi=1m(xix~)20=4m\sum_{i=1}^{m}(x_i-\widetilde{x})^2≥0

所以E(w,b)E_(w,b)是一个凸函数(即类似y=x^2这个函数)

因此E(w,b)E_(w,b)的驻点将是最小点。

之后便是按部就班求值了。
求出(2) = 0及(3) = 0时,w,bw,b的表达式为(为了计算方便,最好先计算出bb的表达式):
b=1mi=1m(yiwxi)=y~wx~b=\frac{1}{m}\sum_{i=1}^{m}(y_i-wx_i)=\widetilde{y}-w\widetilde{x}
w=i=1myi(xix~)i=1mxi21m(i=1mxi)2w=\frac{\sum_{i=1}^{m}y_i(x_i-\widetilde{x})}{\sum_{i=1}^{m}x_i^2-\frac{1}{m}(\sum_{i=1}^{m}x_i)^2}

背书去了,明日有时间再更一元线性回归(二)

相关文章: