标签:机器学习
线性回归问题就是要找出一个最好超平面使得数据点距离这个平面的误差(residuals)最小。
传统上,最常用的是均方误差来评价这个误差。
现在我们要做的是如何选择参数w,使得训练误差Ein越小越好。
这里的推导都是基于矩阵,可以很轻易的推广到多维空间。只要保证程序中提供求解伪逆矩阵的好的方法就可以了。
最终在预测时,y_hat = X*wLIN就可以得到预测。
接下来我们讨论一下训练误差的泛化问题,看看如何保证真实误差也能在一定的可控范围内。
我们可以看到下图中表示的,Ein的平均为noise level(1-(d+1)/N)。至于为什么会有这样的结论,我们还需要往下看。
将Ein进行矩阵的变换,得到如下的形式,其中X和X的伪逆矩阵相乘,成为hat matrix,H(因为Hy成为y的预测,y hat)。
- 我们可以将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)
标签:机器学习
原文地址:http://blog.csdn.net/jasonding1354/article/details/42519459