《机器学习基石》学习笔记 9 Linear Regression

上节课,我们主要介绍了在有 noise 的情况下,VC Bound 理论仍然是成立的。同时,介绍了不同的 error measure 方法。本节课介绍机器学习最常见的一种算法: Linear Regression。

一、线性回归问题

在之前的 Linear Classification 课程中,讲了信用卡发放的例子,利用机器学习来决定是否给用户发放信用卡。本节课仍然引入信用卡的例子,来解决给用户发放信用卡额度的问题,这就是一个线性回归(Linear Regression)问题。

在这里插入图片描述
令用户特征集为 d 维的 X X X,加上常数项,维度为 d+1,与权重 w 的线性组合即为 Hypothesis ,记为 h(x)。线性回归的预测函数取值在整个实数空间,这跟线性分类不同。
h ( x ) = w T X h(x) = w^TX h(x)=wTX

在这里插入图片描述
根据上图,在一维或者多维空间里,线性回归的目标是找到一条直线(对应一维)、一个平面(对应二维)或者更高维的超平面,使样本集中的点更接近它,也就是残留误差 Residuals 最小化。

一般最常用的错误测量方式是基于最小二乘法,其目标是计算误差的最小平方和对应的权重 w,即上节课介绍的 squared error:

在这里插入图片描述
这里提一点,最小二乘法可以解决线性问题和非线性问题。线性最小二乘法的解是 closed-form,即 X = ( A T A ) − 1 A T y X = (A^T A)^{−1}A^Ty X=(ATA)1ATy,而非线性最小二乘法没有 closed-form,通常用迭代法求解。本节课的解就是 closed-form 的。

二、线性回归算法

样本数据误差 E i n E_{in} Ein 是权重 w w w 的函数,因为 X X X y y y 都是已知的。我们的目标就是找出合适的 w w w,使 E i n E_{in} Ein 能够最小。那么如何计算呢?

首先,运用矩阵转换的思想,将 E i n E_{in} Ein 计算转换为矩阵的形式。

在这里插入图片描述
然后,对于此类线性回归问题, E i n ( w ) E_{in}(w) Ein(w) 一般是个凸函数。凸函数的话,我们只要找到一阶导数等于零的位置,就找到了最优解。那么,我们将 E w E_w Ew 对每个 w i , i = 0 , 1 , ⋯ , d w_i,i=0,1,⋯,d wi,i=0,1,,d 求偏导,偏导为零的 w i w_i wi,即为最优化的权重值分布。

在这里插入图片描述
根据梯度的思想,对 E w E_w Ew 进行矩阵化求偏导处理:

在这里插入图片描述
令偏导为零,最终可以计算出权重向量 w w w 为:
在这里插入图片描述
最终,我们推导得到了权重向量 w = ( X T X ) − 1 X T y w=(X^TX)^{−1}X^Ty w=(XTX)1XTy,这是上文提到的 closed-form 解。其中, ( X T X ) − 1 X T (X^TX)^{−1}X^T (XTX)1XT 又称为伪逆矩阵 pseudo-inverse,记为 X + X^+ X+,维度是 ( d + 1 ) ∗ N (d+1)*N (d+1)N

但是,我们注意到,伪逆矩阵中有逆矩阵的计算,逆矩阵 ( X T X ) − 1 (X^TX)^{−1} (XTX)1 是否一定存在?一般情况下,只要满足样本数量 N 远大于样本特征维度 d+1,就能保证矩阵的逆是存在的,称之为非奇异矩阵。但是如果是奇异矩阵,不可逆怎么办呢?其实,大部分的计算逆矩阵的软件程序,都可以处理这个问题,也会计算出一个逆矩阵。所以,一般伪逆矩阵是可解的。

三、泛化问题

现在,可能有这样一个疑问,就是这种求解权重向量的方法是机器学习吗?或者说这种方法满足我们之前推导 VC Bound,即是否泛化能力强 E i n ≈ E o u t E_{in} \approx E_{out} EinEout

在这里插入图片描述
有两种观点:

  1. 这不属于机器学习范畴。
    1. 这种 closed-form 解的形式跟一般的机器学习算法不一样。
    2. 在计算最小化误差的过程中没有用到迭代。
  2. 这属于机器学习范畴。
    1. 从结果上看, E i n E_{in} Ein E o u t E_{out} Eout 都实现了最小化。
    2. 实际上在计算逆矩阵的过程中,也用到了迭代。

其实,只从结果来看,这种方法的确实现了机器学习的目的。下面通过介绍一种更简单的方法,证明 linear regression 问题是可以通过线下最小二乘法方法计算得到好的 E i n E_{in} Ein E o u t E_{out} Eout 的。

在这里插入图片描述
首先,我们根据平均误差的思想,把 E i n ( w L I N ) E_{in}(w_{LIN}) Ein(wLIN) 写成如图的形式,经过变换得到:
E i n ( w L I N ) = 1 N ∣ ∣ ( I − X X + ) y ∣ ∣ 2 = 1 N ∣ ∣ ( I − H ) y ∣ ∣ 2 E_{in}(w_{LIN}) = \frac{1}{N}||(I−XX^+)y||^2 = \frac{1}{N}||(I−H)y||^2 Ein(wLIN)=N1(IXX+)y2=N1(IH)y2
我们称 X X + XX^+ XX+ 为帽子矩阵,用 H 表示。

下面从几何图形的角度来介绍帽子矩阵H的物理意义。

在这里插入图片描述

图中,y 是 N 维空间的一个向量,粉色区域表示输入矩阵 X 乘以不同权值向量 w 所构成的空间,根据所有 w 的取值,预测输出都被限定在粉色的空间中。向量 y ^ \hat{y} y^ 就是粉色空间中的一个向量,代表预测的一种。y 是实际样本数据输出值。

机器学习的目的是在粉色空间中找到一个 y ^ \hat{y} y^ ,使它最接近真实的 y,那么我们只要将 y 在粉色空间上作垂直投影即可,投影得到的 y ^ \hat{y} y^ 即为在粉色空间内最接近 y 的向量。这样即使平均误差 E ˉ \bar{E} Eˉ 最小。

从图中可以看出, y ^ \hat{y} y^ 是 y 的投影,已知 y ^ = H y \hat{y} = Hy y^=Hy,那么 H 表示的就是将 y 投影到 y ^ \hat{y} y^ 的一种操作。图中绿色的箭头 y − y ^ y− \hat{y} yy^ 是向量 y 与 y ^ \hat{y} y^ 相减, y − y ^ y− \hat{y} yy^ 垂直于粉色区域。已知 ( I − H ) y = y − ( ^ y ) (I−H)y = y− \hat(y) (IH)y=y(^y) 那么 I-H 表示的就是将 y 投影到 y − y ^ y− \hat{y} yy^ 即垂直于粉色区域的一种操作。这样的话,我们就赋予了 H 和 I-H 不同但又有联系的物理意义。

这里 trace(I-H) 称为 I-H 的迹,值为 N-(d+1)。这条性质很重要,一个矩阵的 trace 等于该矩阵的所有特征值 (Eigenvalues) 之和。下面给出简单证明:

t r a c e ( I − H ) = t r a c e ( I ) − t r a c e ( H ) trace(I−H)=trace(I)−trace(H) trace(IH)=trace(I)trace(H)
= N − t r a c e ( X X + ) = N − t r a c e ( X ( X T X ) − 1 X T ) =N−trace(XX^+)=N−trace(X(X^TX)^{−1}X^T) =Ntrace(XX+)=Ntrace(X(XTX)1XT)
= N − t r a c e ( X T X ( X T X ) − 1 ) = N − t r a c e ( I d + 1 ) =N−trace(X^TX(X^TX)^{−1}) = N−trace(I_{d+1}) =Ntrace(XTX(XTX)1)=Ntrace(Id+1)
= N − ( d + 1 ) =N−(d+1) =N(d+1)

介绍下该 I-H 这种转换的物理意义:原来有一个有 N 个自由度的向量 y,投影到一个有 d+1 维的空间 x(代表一列的自由度,即单一输入样本的参数,如图中粉色区域),而余数剩余的自由度最大只有 N-(d+1) 种。

在存在 noise 的情况下,上图变为:

在这里插入图片描述
图中,粉色空间的红色箭头是目标函数 f(x),虚线箭头是 noise,可见,真实样本输出 y 由 f(x) 和 noise 相加得到。由上面推导,已知向量 y 经过 I-H 转换为 y − y ^ y - \hat{y} yy^,而 noise 与 y 是线性变换关系,那么根据线性函数知识,我们推导出noise 经过 I-H 也能转换为 y − y ^ y - \hat{y} yy^。则对于样本平均误差,有下列推导成立:
E i n ( w L I N ) = 1 N ∣ ∣ y − y ^ ∣ ∣ 2 = 1 N ∣ ∣ ( I − H ) n o i s e ∣ ∣ 2 = 1 N ( N − ( d + 1 ) ) ∣ ∣ n o i s e ∣ ∣ 2 E_{in}(w_{LIN}) = \frac{1}{N} || y - \hat{y} || ^2 = \frac{1}{N} ||(I - H)noise||^2 = \frac{1}{N} (N - (d+1))||noise||^2 Ein(wLIN)=N1yy^2=N1(IH)noise2=N1(N(d+1))noise2


E ˉ i n = n o i s e l e v e l   ∗   ( 1 − d + 1 N ) \bar{E}_{in} = noiselevel \ * \ (1 - \frac{ d+1 }{N}) Eˉin=noiselevel  (1Nd+1)

同样,对 E o u t E_{out} Eout有如下结论:
E ˉ o u t = n o i s e l e v e l   ∗   ( 1 + d + 1 N ) \bar{E}_{out} = noiselevel \ * \ (1 + \frac{ d+1 }{N}) Eˉout=noiselevel  (1+Nd+1)

这个证明有点复杂,但是我们可以这样理解: E ˉ i n \bar{E}_{in} Eˉin E ˉ o u t \bar{E}_{out} Eˉout 形式上只差了 d + 1 N \frac{d+1}{N} Nd+1 项,从哲学上来说, E ˉ i n \bar{E}_{in} Eˉin 是我们看得到的样本的平均误差,如果有 noise,我们把预测往 noise 那边偏一点,让 E ˉ i n \bar{E}_{in} Eˉin 好看一点点,所以减去 d + 1 N \frac{d+1}{N} Nd+1 项。那么同时,新的样本 E ˉ o u t \bar{E}_{out} Eˉout 是我们看不到的,如果 noise 在反方向,那么 E ˉ o u t \bar{E}_{out} Eˉout 就应该加上 d + 1 N \frac{d+1}{N} Nd+1 项。

我们把 E ˉ i n \bar{E}_{in} Eˉin E ˉ o u t \bar{E}_{out} Eˉout 画出来,得到学习曲线:

在这里插入图片描述
当 N 足够大时, E ˉ i n \bar{E}_{in} Eˉin E ˉ o u t \bar{E}_{out} Eˉout 逐渐接近,满足 E ˉ i n ≈ E ˉ o u t \bar{E}_{in} \approx \bar{E}_{out} EˉinEˉout,且数值保持在 noise level。这就类似 VC 理论,证明了当 N 足够大的时候,这种线性最小二乘法是可以进行机器学习的,算法有效!

四、Linear Regression方法解决Linear Classification问题

之前介绍的 Linear Classification 问题使用的 Error Measure 方法用的是 0/1 error,那么 Linear Regression 的 squared error 是否能够应用到 Linear Classification 问题?

在这里插入图片描述
下图展示了两种错误的关系,一般情况下,squared error 曲线在 0/1 error 曲线之上。即 e r r 0 / 1 ≤ e r r s q r err_{0/1} \leq err_{sqr} err0/1errsqr

在这里插入图片描述
根据之前的 VC 理论, E o u t E_{out} Eout 的上界满足:

在这里插入图片描述
从图中可以看出,用 e r r s q r err_{sqr} errsqr 代替 e r r 0 / 1 err_{0/1} err0/1 E o u t E_{out} Eout 仍然有上界,只不过是上界变得宽松了。也就是说用线性回归方法仍然可以解决线性分类问题,效果不会太差。二元分类问题得到了一个更宽松的上界,但是也是一种更有效率的求解方式。

五、总结

本节课,我们主要介绍了 Linear Regression。首先,我们从问题出发,想要找到一条直线拟合实际数据值;然后,我们利用最小二乘法,用解析形式推导了权重 w 的 closed-form 解;接着,用图形的形式得到 E o u t − E i n ≈ 2 ( N + 1 ) N E_{out} − E_{in} \approx \frac{2(N+1)}{N} EoutEinN2(N+1) ,证明了 linear regression 是可以进行机器学习的;最后,我们证明 linear regressin 这种方法可以用在binary classification 上,虽然上界变宽松了,但是仍然能得到不错的学习方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值