企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 9 -- Linear Regression 上节课,我们主要介绍了在有noise的情况下,VC Bound理论仍然是成立的。同时,介绍了不同的error measure方法。本节课介绍机器学习最常见的一种算法:Linear Regression. ### **一、线性回归问题** 在之前的Linear Classification课程中,讲了信用卡发放的例子,利用机器学习来决定是否给用户发放信用卡。本节课仍然引入信用卡的例子,来解决给用户发放信用卡额度的问题,这就是一个线性回归(Linear Regression)问题。 ![这里写图片描述](https://img.kancloud.cn/a4/f4/a4f4fe8d0818bb8b913b1b57769260d7_566x377.jpg) 令用户特征集为d维的![](https://img.kancloud.cn/05/c5/05c53b7e8ec04c22aa581501549a824c_14x11.jpg),加上常数项,维度为![](https://img.kancloud.cn/b8/42/b8427d405a92c9f2fd09a9a705bb1e9d_36x13.jpg),与权重![](https://img.kancloud.cn/c3/69/c3697655be98f4c46ee8e02049693c68_12x7.jpg)的线性组合即为Hypothesis,记为![](https://img.kancloud.cn/3e/1f/3e1fe67064780b06b8af5384d211f3d0_29x18.jpg)。线性回归的预测函数取值在整个实数空间,这跟线性分类不同。 ![这里写图片描述](https://img.kancloud.cn/8e/67/8e670d6be087030c82e33a3442207bd5_566x334.jpg) 根据上图,在一维或者多维空间里,线性回归的目标是找到一条直线(对应一维)、一个平面(对应二维)或者更高维的超平面,使样本集中的点更接近它,也就是残留误差Residuals最小化。 一般最常用的错误测量方式是基于最小二乘法,其目标是计算误差的最小平方和对应的权重w,即上节课介绍的squared error: ![这里写图片描述](https://img.kancloud.cn/8c/b4/8cb41476536b337e31ce02c1ba8ef684_566x206.jpg) 这里提一点,最小二乘法可以解决线性问题和非线性问题。线性最小二乘法的解是closed-form,即![](https://img.kancloud.cn/05/c5/05c53b7e8ec04c22aa581501549a824c_14x11.jpg),而非线性最小二乘法没有closed-form,通常用迭代法求解。本节课的解就是closed-form的。关于最小二乘法的一些介绍,请参见我的另一篇博文: [最小二乘法和梯度下降法的一些总结](http://blog.csdn.net/red_stone1/article/details/70306403) ### **二、线性回归算法** 样本数据误差![](https://img.kancloud.cn/5b/cf/5bcf9eebe555c8380ea4c84aea710839_23x14.jpg)是权重![](https://img.kancloud.cn/c3/69/c3697655be98f4c46ee8e02049693c68_12x7.jpg)的函数,因为![](https://img.kancloud.cn/05/c5/05c53b7e8ec04c22aa581501549a824c_14x11.jpg)和![](https://img.kancloud.cn/21/1a/211adedd94ce850a677f7dcdfd9b94c8_8x10.jpg)都是已知的。我们的目标就是找出合适的![](https://img.kancloud.cn/c3/69/c3697655be98f4c46ee8e02049693c68_12x7.jpg),使![](https://img.kancloud.cn/5b/cf/5bcf9eebe555c8380ea4c84aea710839_23x14.jpg)能够最小。那么如何计算呢? 首先,运用矩阵转换的思想,将![](https://img.kancloud.cn/5b/cf/5bcf9eebe555c8380ea4c84aea710839_23x14.jpg)计算转换为矩阵的形式。 ![这里写图片描述](https://img.kancloud.cn/51/c4/51c42ea1f2b779178fadc22ace042d0f_566x445.jpg) 然后,对于此类线性回归问题,![](https://img.kancloud.cn/5b/cf/5bcf9eebe555c8380ea4c84aea710839_23x14.jpg)一般是个凸函数。凸函数的话,我们只要找到一阶导数等于零的位置,就找到了最优解。那么,我们将![](https://img.kancloud.cn/e1/d5/e1d5e447ab35dd34d5bdce968ab1d9af_21x14.jpg)对每个![](https://img.kancloud.cn/c3/69/c3697655be98f4c46ee8e02049693c68_12x7.jpg)求偏导,偏导为零的![](https://img.kancloud.cn/c3/69/c3697655be98f4c46ee8e02049693c68_12x7.jpg),即为最优化的权重值分布。 ![这里写图片描述](https://img.kancloud.cn/00/91/009104e47cd0dda3d0155d98e018e414_566x365.jpg) 根据梯度的思想,对![](https://img.kancloud.cn/e1/d5/e1d5e447ab35dd34d5bdce968ab1d9af_21x14.jpg)进行矩阵话求偏导处理: ![这里写图片描述](https://img.kancloud.cn/62/e1/62e12c5ff7c21860674000926be1b7cc_566x369.jpg) 令偏导为零,最终可以计算出权重向量![](https://img.kancloud.cn/c3/69/c3697655be98f4c46ee8e02049693c68_12x7.jpg)为: ![这里写图片描述](https://img.kancloud.cn/f6/02/f602f41c7d5533d43df71685b02978af_566x401.jpg) 最终,我们推导得到了权重向量![](https://img.kancloud.cn/c3/69/c3697655be98f4c46ee8e02049693c68_12x7.jpg),这是上文提到的closed-form解。其中,![](https://img.kancloud.cn/dd/88/dd88d1574e8471a94ca8f531baf28d05_90x18.jpg)又称为伪逆矩阵pseudo-inverse,记为![](https://img.kancloud.cn/05/c5/05c53b7e8ec04c22aa581501549a824c_14x11.jpg),维度是(d+1)xN。 但是,我们注意到,伪逆矩阵中有逆矩阵的计算,逆矩阵![](https://img.kancloud.cn/5d/ad/5dadb72cfffac75568e2b0aa86305749_64x18.jpg)是否一定存在?一般情况下,只要满足样本数量N远大于样本特征维度d+1,就能保证矩阵的逆是存在的,称之为非奇异矩阵。但是如果是奇异矩阵,不可逆怎么办呢?其实,大部分的计算逆矩阵的软件程序,都可以处理这个问题,也会计算出一个逆矩阵。所以,一般伪逆矩阵是可解的。 ### **三、泛化问题** 现在,可能有这样一个疑问,就是这种求解权重向量的方法是机器学习吗?或者说这种方法满足我们之前推导VC Bound,即是否泛化能力强![](https://img.kancloud.cn/5b/cf/5bcf9eebe555c8380ea4c84aea710839_23x14.jpg)? ![这里写图片描述](https://img.kancloud.cn/65/ee/65eee31fcec894cfc9d9264d3bb1cb57_566x357.jpg) 有两种观点:1、这不属于机器学习范畴。因为这种closed-form解的形式跟一般的机器学习算法不一样,而且在计算最小化误差的过程中没有用到迭代。2、这属于机器学习范畴。因为从结果上看,![](https://img.kancloud.cn/5b/cf/5bcf9eebe555c8380ea4c84aea710839_23x14.jpg)和![](https://img.kancloud.cn/dd/0f/dd0f9962b91f91dfa644b8d9c6d853d2_29x14.jpg)都实现了最小化,而且实际上在计算逆矩阵的过程中,也用到了迭代。 其实,只从结果来看,这种方法的确实现了机器学习的目的。下面通过介绍一种更简单的方法,证明linear regression问题是可以通过线下最小二乘法方法计算得到好的![](https://img.kancloud.cn/5b/cf/5bcf9eebe555c8380ea4c84aea710839_23x14.jpg)和![](https://img.kancloud.cn/dd/0f/dd0f9962b91f91dfa644b8d9c6d853d2_29x14.jpg)的。 ![这里写图片描述](https://img.kancloud.cn/fd/17/fd174b6b093e4c1e49b27939e045ae4a_566x367.jpg) 首先,我们根据平均误差的思想,把![](https://img.kancloud.cn/5b/cf/5bcf9eebe555c8380ea4c84aea710839_23x14.jpg)写成如图的形式,经过变换得到: 我们称![](https://img.kancloud.cn/05/c5/05c53b7e8ec04c22aa581501549a824c_14x11.jpg)为帽子矩阵,用H表示。 下面从几何图形的角度来介绍帽子矩阵H的物理意义。 ![这里写图片描述](https://img.kancloud.cn/65/fd/65fdf7fde7475ef1858789ff35ce518f_566x373.jpg) 图中,y是N维空间的一个向量,粉色区域表示输入矩阵X乘以不同权值向量w所构成的空间,根据所有w的取值,预测输出都被限定在粉色的空间中。向量![](https://img.kancloud.cn/19/1d/191dcf08e23bf9e6e36b2cd4884c8f5f_8x16.jpg)就是粉色空间中的一个向量,代表预测的一种。y是实际样本数据输出值。 机器学习的目的是在粉色空间中找到一个![](https://img.kancloud.cn/19/1d/191dcf08e23bf9e6e36b2cd4884c8f5f_8x16.jpg),使它最接近真实的y,那么我们只要将y在粉色空间上作垂直投影即可,投影得到的![](https://img.kancloud.cn/19/1d/191dcf08e23bf9e6e36b2cd4884c8f5f_8x16.jpg)即为在粉色空间内最接近y的向量。这样即使平均误差![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)最小。 从图中可以看出,![](https://img.kancloud.cn/19/1d/191dcf08e23bf9e6e36b2cd4884c8f5f_8x16.jpg)是y的投影,已知![](https://img.kancloud.cn/19/1d/191dcf08e23bf9e6e36b2cd4884c8f5f_8x16.jpg),那么H表示的就是将y投影到![](https://img.kancloud.cn/19/1d/191dcf08e23bf9e6e36b2cd4884c8f5f_8x16.jpg)的一种操作。图中绿色的箭头![](https://img.kancloud.cn/21/1a/211adedd94ce850a677f7dcdfd9b94c8_8x10.jpg)是向量y与![](https://img.kancloud.cn/19/1d/191dcf08e23bf9e6e36b2cd4884c8f5f_8x16.jpg)相减,![](https://img.kancloud.cn/21/1a/211adedd94ce850a677f7dcdfd9b94c8_8x10.jpg)垂直于粉色区域。已知![](https://img.kancloud.cn/01/29/0129f990377c944be8cf74ed174b9fcf_122x18.jpg)那么I-H表示的就是将y投影到![](https://img.kancloud.cn/21/1a/211adedd94ce850a677f7dcdfd9b94c8_8x10.jpg)即垂直于粉色区域的一种操作。这样的话,我们就赋予了H和I-H不同但又有联系的物理意义。 这里trace(I-H)称为I-H的迹,值为N-(d+1)。这条性质很重要,一个矩阵的 trace等于该矩阵的所有特征值(Eigenvalues)之和。下面给出简单证明: ![](https://img.kancloud.cn/1a/71/1a71c14762d82a5792829c7ae519a5cf_256x18.jpg) ![](https://img.kancloud.cn/c4/08/c408eec8859151d256cdc5d647dcd080_347x18.jpg) ![](https://img.kancloud.cn/93/d8/93d8b1276832dbc89be0d1766d8350a7_336x18.jpg) ![](https://img.kancloud.cn/15/2e/152ebcd81d6da11dc4b08441428c2fab_100x18.jpg) 介绍下该I-H这种转换的物理意义:原来有一个有N个自由度的向量y,投影到一个有d+1维的空间x(代表一列的自由度,即单一输入样本的参数,如图中粉色区域),而余数剩余的自由度最大只有N-(d+1)种。 在存在noise的情况下,上图变为: ![这里写图片描述](https://img.kancloud.cn/24/2d/242d2cd3e8ae6720cde2e0171c5d74ca_566x400.jpg) 图中,粉色空间的红色箭头是目标函数f(x),虚线箭头是noise,可见,真实样本输出y由f(x)和noise相加得到。由上面推导,已知向量y经过I-H转换为![](https://img.kancloud.cn/21/1a/211adedd94ce850a677f7dcdfd9b94c8_8x10.jpg),而noise与y是线性变换关系,那么根据线性函数知识,我们推导出noise经过I-H也能转换为![](https://img.kancloud.cn/21/1a/211adedd94ce850a677f7dcdfd9b94c8_8x10.jpg)。则对于样本平均误差,有下列推导成立: 即 同样,对![](https://img.kancloud.cn/dd/0f/dd0f9962b91f91dfa644b8d9c6d853d2_29x14.jpg)有如下结论: 这个证明有点复杂,但是我们可以这样理解:![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)与![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)形式上只差了![](https://img.kancloud.cn/d3/86/d386a73b5b452e2d3f8db445368f8b02_50x36.jpg)项,从哲学上来说,![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)是我们看得到的样本的平均误差,如果有noise,我们把预测往noise那边偏一点,让![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)好看一点点,所以减去![](https://img.kancloud.cn/d3/86/d386a73b5b452e2d3f8db445368f8b02_50x36.jpg)项。那么同时,新的样本![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)是我们看不到的,如果noise在反方向,那么![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)就应该加上![](https://img.kancloud.cn/d3/86/d386a73b5b452e2d3f8db445368f8b02_50x36.jpg)项。 我们把![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)与![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)画出来,得到学习曲线: ![这里写图片描述](https://img.kancloud.cn/2d/49/2d490e0b98bc482b37ac5cc509e46c22_566x411.jpg) 当N足够大时,![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)与![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg)逐渐接近,满足![](https://img.kancloud.cn/89/83/898369365a215ddf664a31e964593012_14x14.jpg),且数值保持在noise level。这就类似VC理论,证明了当N足够大的时候,这种线性最小二乘法是可以进行机器学习的,算法有效! ### **四、Linear Regression方法解决Linear Classification问题** 之前介绍的Linear Classification问题使用的Error Measure方法用的是0/1 error,那么Linear Regression的squared error是否能够应用到Linear Classification问题? ![这里写图片描述](https://img.kancloud.cn/93/87/9387f8290ab30124dfe309d50aa96bc7_566x394.jpg) 下图展示了两种错误的关系,一般情况下,squared error曲线在0/1 error曲线之上。即![](https://img.kancloud.cn/1d/38/1d38212eed6550173d1f6dd3417c0a4e_103x17.jpg). ![这里写图片描述](https://img.kancloud.cn/0f/57/0f571db9598c314f31655a77f62f6b7f_566x362.jpg) 根据之前的VC理论,![](https://img.kancloud.cn/dd/0f/dd0f9962b91f91dfa644b8d9c6d853d2_29x14.jpg)的上界满足: ![这里写图片描述](https://img.kancloud.cn/c7/bf/c7bf1a42f3080b810e68eb4b2f79e506_566x342.jpg) 从图中可以看出,用![](https://img.kancloud.cn/1f/81/1f8117cc3d8c76beedd54958667d0472_39x12.jpg)代替![](https://img.kancloud.cn/e0/44/e044308c73d4b4eac418bac8fd3a5a82_39x13.jpg),![](https://img.kancloud.cn/dd/0f/dd0f9962b91f91dfa644b8d9c6d853d2_29x14.jpg)仍然有上界,只不过是上界变得宽松了。也就是说用线性回归方法仍然可以解决线性分类问题,效果不会太差。二元分类问题得到了一个更宽松的上界,但是也是一种更有效率的求解方式。 ### **五、总结** 本节课,我们主要介绍了Linear Regression。首先,我们从问题出发,想要找到一条直线拟合实际数据值;然后,我们利用最小二乘法,用解析形式推导了权重w的closed-form解;接着,用图形的形式得到![](https://img.kancloud.cn/dd/0f/dd0f9962b91f91dfa644b8d9c6d853d2_29x14.jpg),证明了linear regression是可以进行机器学习的,;最后,我们证明linear regressin这种方法可以用在binary classification上,虽然上界变宽松了,但是仍然能得到不错的学习方法。 **_注明:_** 文章中所有的图片均来自台湾大学林轩田《机器学习基石》课程