线性回归描述
线性回归问题就是要找出一个最好超平面使得数据点距离这个平面的误差(residuals)最小。
传统上,最常用的是均方误差来评价这个误差。

求解最小的训练误差
现在我们要做的是如何选择参数w,使得训练误差Ein越小越好。
-
首先,我们把计算过程用矩阵形式表示出来,使表示更加简洁。
这里xn表示成列向量的形式,然后将加和的形式表示成向量的长度,进而将其中的运算变换成矩阵的运算。
-
然后,我们可以看出训练误差Ein(w)是可微的凸函数,如果要求最小的Ein,即求Ein的梯度为0时的w。
-
接着,我们将向量的内积展开,对这个式子进行微分,这里涉及到向量微分的知识,先略过不说。最终得到了微分的结果。
-
最后,我们可以得到wLIN的表达式,关键一点就是求解伪逆矩阵(pseudo-inverse)。这里根据X.T*X是否可逆,要分情况来计算。
线性回归算法的流程
这里的推导都是基于矩阵,可以很轻易的推广到多维空间。只要保证程序中提供求解伪逆矩阵的好的方法就可以了。
最终在预测时,y_hat = X*wLIN就可以得到预测。

泛化问题(Generalization Issue)
接下来我们讨论一下训练误差的泛化问题,看看如何保证真实误差也能在一定的可控范围内。
我们可以看到下图中表示的,Ein的平均为noise level(1-(d+1)/N)。至于为什么会有这样的结论,我们还需要往下看。
将Ein进行矩阵的变换,得到如下的形式,其中X和X的伪逆矩阵相乘,成为hat matrix,H(因为Hy成为y的预测,y hat)。

Hat Matrix的集合解释
- 我们可以将X矩阵的列张成一个个向量,表示N维空间中的一个点。而y的预测为X * wLIN则是span of X的一个线性组合,其中wLIN为线性组合的系数。
- 我们的目标是使得y的真实值和y的预测尽可能小,这样就是让y-y[prediction]这个向量垂直于X张成的span
- H的作用就是将y的真实值映射到span上的y的预测值
- I-H的作用就是将y变换成y-y[prediction]这个余数(residual)在span上的投影

这里我们还能得到一个结论:trace(I-H)=N-(d+1)。这个式子的形象解释是,N维空间说明该空间的自由度是N,而将y投影到span平面(d+1维空间)上,得到了这个余数(residual)的自由度。
下面的图说明,y的观察值其实是由目标函数f(x)和噪声noise加和而成的,其中noise经(I-H)矩阵变换,成为y-y[prediction],也可以理解为noise的投影。

这里,Ein的平均和Eout的平均之所以有差别,使用因为在训练误差上,[1-(d+1)/N]的乘数是让训练误差尽量小的;而当有新的数据进行预测的时候,可能噪声的影响刚好是与训练时的噪声作用相反的,一正一反就可能是两倍的差别。
下面这个图可以看出,当数据量越来越大,误差将逐渐收敛到noise level。

参考资料
机器学习基石课程,林轩田,台湾大学
转载请注明作者Jason Ding及其出处
Github主页(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)