一、引入线性回归问题
Linear Regression是常见的一种机器学习算法。这里引入信用卡的例子,解决给用户发放信用卡额度的问题,【额度问题】这是一个回归问题。
我们把用户的年龄、年收入等描述为特征存进X, 是常数项,为权重。我们写成向量形式 :,看起来非常像perceptron,不同的是 这里没用符号函数 。perceptron: 。
我们另用户的特征集为d维的X, 加上常数项,维度变为d+1,得到hypothesis:
[预测函数取值是在整个实数空间]
参照上图,可以看出我们使用线性回归的目标就是找出一条直线(对应一维空间)、一个平面(对应二维空间)或超平面(更高维的空间),使样本点更接近它,使得残差residuals最小化。使用最小二乘法进行错误测量,最小二乘法目标是计算最小误差的平方和对应的权重w,也就是我们之前介绍回归问题用square error。
线性最小二乘法的解是closeed-form,即得到 。即我们直接得到了权重w的结果。更直观的写法如下:
又称为正规方程。
我们将权重矩阵w直接求解出来。
最小二乘法:
它通过最小化误差平方和,寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间的误差的平方和最小。最小二乘法也是一种优化方法,求得目标函数的最优值。
二、线性回归算法的处理
样本数据误差 是权重w的函数,我们已经知道了X和y,那么我们算法的目标就是找到合适的w使得最小。该如何计算呢?
下面应用矩阵转换的思想
向量的内积符合交换律。
这里还用到了范数的概念。
L1范数、 L2范数
所以我们才能大胆地将累加形式写成范数形式。
我们的目标即为:
我们可以通过求偏导来寻找最小值点。
然后我们根据梯度下降的思想, 对进行矩阵求偏导:
上面的式子我们来具体算一下:(其中Xw是一个列向量、y也是一个列向量,因此Xw-y仍然是一个列向量,注意:列向量的平方为其模的平方,而列向量模的平方则为其内积,所以也可以表示为向量的转置乘上向量的形式)。
向量的交换律【】
一些矩阵求导公式:
更多公式:
最后可以计算出权重矩阵w:
我们推导得出了权重向量 ,这是之前提到的closed-form(最接近)解。其中,又称为伪逆矩阵pseudo-inverse,记为,维度是,即是该矩阵不可逆,一般计算机会处理这个问题。
三、关于泛化问题
之前的计算给我们一种一下子计算出来结果,一步登天的感觉,这还是机器学习吗?好像没看到他学习的过程。之前所说的机器学习,好像要随着我们所看的资料数据有所进步,(我们训练是产生的误差),(我们测试时产生的误差)有没有进步,他直接给了我们一个w,这就是结果了,结束了?当然不能说没给你一步一步看到,你就说人家没学到东西,他只是在偷偷的一步一步学习,只是没让你看到而已。
我们可以拿考试类比,一般只要他最后考试结果表现好,这中间就发生了学习,过程没让你看到罢了。
下面我们来证明可以通过最小二乘法来计算得到较好的,。
现在我们看的是 (平均误差),即的平均,我们在最糟糕的样本数据D的情况下进行求解,。的推导同样可以由类似方式推出。其中,上式中的 (identity)是单位矩阵。
我们称为帽子矩阵,用 来表示。 ----{乘上一个 得到 ,得到的戴上了帽子}
下面从几何图形上来理解帽子矩阵 H 的物理意义。
解释上面的含义:
在没有进行线性回归之前 X可能乘上任何 w ,【线性回归是找到最佳的w】。那么上面粉色的空间就是有X乘上不同权重得到的,根据w的取值,预测结果也将被限制在粉色空间中。而向量就是粉色空间中的一个向量,代表预测的一种结果。y则是样本数据的实际输出值。
我们这里机器学习的目的就是找到一个,使得它非常接近真实的y,我们就只要将y在粉色的空间上做垂直投影即可,投影得到的即为在粉色空间上最接近y的向量。这样也能使平均误差最小。
可以知道 是将 投影到 的一种操作。
可以看出垂直于粉色区域, 那么 则是将y投影到 ,即垂直于粉色区域的操作,这样我们找的是实际值到真实值的垂直距离,也就是最小距离。这样 和都有了相联系的物理意义。
这里又用到了迹,trace().
则 () d为A的维数
在有noise的情况下:
上图中的
结果为:
那么我们类似的得到
两者形式上只差了项,我们可以这样理解,是我们看得到的样本误差,我们会把预测往noise那边偏一点,让更好看,所以减去项。不过,新的样本数据 则是我们看不到的,可能在noise反方向,那么就应该加上项了。
二者的学习曲线如下:
因此,当 N 足够大的时候与逐渐接近,满足,而且数值保持在noise level。也证明了当N足够大的时候,这种线性最小二乘法是可以进行机器学习的。
四、用线性回归来解决线性分类问题
线性分类使用的错误衡量方式是0/1 error,线性回归给使用的square error(方差错误),那么square error是否能够应用到线性回归中?
首先,我们要知道关于错误衡量(或者可以说是代价函数),有了错误衡量,我们就能知道当前的g(hypothesis)好还是不好,并能够修正算法,得到更好的g,使得它与目标函数更接近。可以认为,错误衡量能够帮助我们找到我们的目标函数。
我们可以将线性回归应用在线性分类的数据集上,他同样能够有效地解决问题。返回。
我们来看一下二者的错误衡量关系:
上图我们可以看出 在对数据集的错误衡量上 。
之前的VC Bound的理论我们推导过:
:称为模型复杂度的惩罚项, 也即可以写为:
所以,我们可以得出
从上面可以看出,用代替,仍然有界,只不过他的上届变得更加松弛罢了,对此我们知道,线性回归方法仍然可以用于解决线性分类问题,至于效果则不一定会变得比较差。分类问题得到了一个更加松弛的上界,也算是一种更有效率的求解方式。
文章部分参考:台湾大学林轩田机器学习基石课程学习笔记9 -- Linear Regression
注明:
文章中所有的图片均来自台湾大学林轩田《机器学习基石》课程以及参考链接文章