机器学习 | 台大林轩田机器学习基石课程笔记9 --- Linear Regression

课程主页

课程视频和PPT

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

目录

1. 线性回归问题

2. 线性回归算法

3. 泛化问题

4. Linear Regression 方法解决Linear Classification问题

5. 总结


1. 线性回归问题

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

用户的特征向量为d维的x(d个特征),加上常数项1后,维度为d+1,与权重w的线性组合即为Hypothesis,记为h(x).线性回归的预测函数取值在整个实数空间,这跟线性分类不同。

                                                                           h(x) = w^Tx

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

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

这里提一点,最小二乘法可以解决线性问题和非线性问题。线性最小二乘法的解是closed-form,即w = (X^TX)^{-1}X^Ty,而非线性最小二乘法没有closed-form,通常用迭代法求解。本节课的解就是closed-form的。

下面是对最小二乘法和梯度下降法的一些总结:

最小二乘法的目标:求误差的最小平方和,对应有两种:线性核非线性。

线性最小二乘法的解是closed-form,即w = (X^TX)^{-1}X^Ty,而非线性最小二乘法没有closed-form,通常用迭代法求解。

迭代法,即在每一步update未知量逐渐逼近解,可以用于各种各样的问题(包括最小二乘),比如求的不是误差的最小平方和而是最小立方和。梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以),但不仅限于最小平方和问题。高斯-牛顿法是另一种经常用于求解非线性最小二乘的迭代法(一定程度上可视为标准非线性最小二乘求解方法)。还有一种叫做Levenberg-Marquardt的迭代法用于求解非线性最小二乘问题,就结合了梯度下降和高斯-牛顿法。所以如果把最小二乘看做是优化问题的话,那么梯度下降是求解方法的一种,是求解线性最小二乘的一种,高斯-牛顿法和Levenberg-Marquardt则能用于求解非线性最小二乘。

 

2. 线性回归算法

 

样本数据误差E_{in}是权重w的函数,由于x和y是已知的。我们的目标是找到合适的w,使得E_{in}最小,那么该如何计算呢?

首先,运用矩阵转换的思想,把E_{in}的计算转换为矩阵形式:

向量的L2范数计算公式如下:

然后,对于此类线性回归问题,E_{in}(w)一般是个凸函数。凸函数的话,我们只要找到一阶导数等于零的位置,就找到了最优解。那么,我们将E_{in}(w)对每个w_{i},i=0,1,...,d求偏导,使得偏导等于0的w_i,即为最优化的权重值分布。

 

根据梯度的思想,对E_{in}(w)进行矩阵化求偏导处理:

(假设y是一个向量,y^2 = y^Ty,(AB)^T = B^TA^T

令偏导/梯度为零,最终可以计算出权重向量w为:

最终,我们推导得到了权重向量w = (X^TX)^{-1}X^Ty,这是上文提到的closed-form解。其中,(X^TX)^{-1}X^T又称为伪逆矩阵pseudo-inverse,记为X^{+},维度(d+1)*N.

 

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

 

3. 泛化问题

 

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

有两种观点:1、这不属于机器学习范畴。因为这种closed-form解的形式跟一般的机器学习算法不一样,而且在计算最小化误差的过程中(找到一个w使得误差最小)没有用到迭代。2、这属于机器学习范畴。因为从结果上看,E_{in}E_{out}都实现了最小化,而且实际上在计算逆矩阵的过程中,也用到了迭代。

 

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

首先,我们根据平均误差的思想,把E_{in}(w_{LIN})写成如图的形式,经过变换得到: 

我们称XX^+为帽子矩阵,用H表示。

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

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

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

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

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

矩阵trace的一些性质:

trace(AB) = trace(BA),trace(A-B) = trace(B-A)

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

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

图中,粉色空间的红色箭头是目标函数f(x),虚线箭头是noise,可见,实际样本标签y由f(x)(真实标签,上帝视角,f未知目标函数)和noise相加得到。由上面推导,已知向量y经过I-H转换为y-\hat y,而noise与y是线性变换关系,那么根据线性函数知识,我们推导出noise经过I-H也能转换为y-\hat y.则对于样本平均误差,有下列推导成立:

同样,对E_{out}有如下结论:

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

我们把\bar{E}_{in},\bar{E}_{out}画出来,得到学习曲线:

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

 

4. Linear Regression 方法解决Linear Classification问题

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

下图展示了两种错误的关系,一般情况下,squared error曲线在0/1 error曲线之上。即err_{0/1}<err_{sqr}.

根据之前的VC理论,E_{out}的上界满足:

从图中可以看出,用err_{sqr}代替err_{0/1}E_{out}仍有上界,只不过是上界变得宽松了。也就是说用线性回归方法仍然可以解决线性分类问题,效果不会太差。二元分类问题得到了一个更宽松的上界,但是也是一种更有效率的求解方式。

对于线性分类问题,可以把它当作一个线性回归问题来做,使用线性回归问题的解法,求得w_{LIN}(最好的参数),把w_{LIN}代入分类模型,可以作为一个基础的分类器或者作为PLA/pocket 等线性分类算法的初始权重向量值。

 

5. 总结

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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值