本文介绍了线性回归算法的原理及推导过程。包含四部分内容:线性回归问题,线性回归分类,泛化问题和二分类线性回归。


文章目录


  • 9. Linear Regression
  • 9.1 Linear Regression Problem
  • 9.2 Linear Regression Algorithm
  • 9.3 Generalization Issue
  • 9.4 Linear Regression for Binary Classification



9. Linear Regression

9.1 Linear Regression Problem

回顾银行发放信用卡的问题,之前的课程中通过是否给用户发放信用卡引出了二元分类问题;本节课程通过发放给用户多大额度的信用卡引出回归(regression)问题,主要是线性回归(linear regression)问题。

回归与分类是机器学习两类不同的算法。回归与二元分类的区别是输出空间不同,二元分类的输出空间为 二元线性回归模型是平面吗 2元线性回归_机器学习,而回归问题的输出空间是实数域,即 二元线性回归模型是平面吗 2元线性回归_机器学习_02 。线性分类与线性回归对比如下图所示。

二元线性回归模型是平面吗 2元线性回归_算法_03

以银行发放信用卡为例,输入集合依然是用户的特征空间,如年龄,年收入等,可以使用与二元分类一致的表示方式 二元线性回归模型是平面吗 2元线性回归_机器学习_04,特征空间的维度为 二元线性回归模型是平面吗 2元线性回归_算法_05 (特征集为 二元线性回归模型是平面吗 2元线性回归_线性回归_06 维的 二元线性回归模型是平面吗 2元线性回归_逻辑回归_07,加常数项 二元线性回归模型是平面吗 2元线性回归_机器学习_08),因为输出集合的转变导致回归问题的假设函数与二元分类中的有所不同,但思想一致,仍需考虑对每个输入样本的各个分量进行加权求和,因此最终目标函数 二元线性回归模型是平面吗 2元线性回归_机器学习_09(含有噪音,使用 二元线性回归模型是平面吗 2元线性回归_算法_10 表示)的表示如9-1式所示。特征空间与权重 二元线性回归模型是平面吗 2元线性回归_机器学习_11 的线性组合即为假设函数 Hypothesis,记为 二元线性回归模型是平面吗 2元线性回归_线性回归_12,如式9-2所示。

二元线性回归模型是平面吗 2元线性回归_线性回归_13

从式9-2可以看出,与二元分类假设函数只差了一个取正负号的 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_14

二元线性回归模型是平面吗 2元线性回归_算法_15

上图中,左图为输入空间为1维的线性回归表示,其中圆圈○表示输入样本点,蓝色直线表示假设函数 二元线性回归模型是平面吗 2元线性回归_线性回归_16,连接圆圈与蓝色直线之间的红色线段表示样本点到假设函数的距离,称为残留误差(residuals),亦可简称为残差。右图是二维输入空间的情况,也有类似表示。而设计算法的核心思想是使样本集中的点更接近它,即使得总体残留物差最小。

最常用的错误测量方式是基于最小二乘法,其目标是计算误差的最小平方和对应的权重 二元线性回归模型是平面吗 2元线性回归_机器学习_11,即上节课介绍的squared error,公式为下图中式9-3所示,二元线性回归模型是平面吗 2元线性回归_算法_18 如公式9-4所示。

二元线性回归模型是平面吗 2元线性回归_线性回归_19

在线性回归问题中,假设函数 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_20 与权值向量 二元线性回归模型是平面吗 2元线性回归_机器学习_11 是一一对应的,因此公式9-4通常表示为权值向量 二元线性回归模型是平面吗 2元线性回归_机器学习_11 的形式,如上图中公式9-5所示。同理 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_23 表示如公式9-6所示。注意:这里使用的是含有噪音的形式,因此 二元线性回归模型是平面吗 2元线性回归_线性回归_24

VC-demention 的限制可以约束各种情况的学习模型,当然回归类型的模型也被也受此约束,想要学习到知识,只需要寻找 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_25 足够小便可以满足 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_23

注意:最小二乘法可以解决线性问题和非线性问题。线性最小二乘法的解是
闭式解(closed form solution),也叫解析解(analytical solution),即可以根据具体的公式求解。线性最小二乘法的解为 二元线性回归模型是平面吗 2元线性回归_线性回归_27


习题1:

二元线性回归模型是平面吗 2元线性回归_算法_28


9.2 Linear Regression Algorithm

样本数据误差 二元线性回归模型是平面吗 2元线性回归_线性回归_29 是权重 二元线性回归模型是平面吗 2元线性回归_机器学习_11 的函数,因为训练样本 二元线性回归模型是平面吗 2元线性回归_逻辑回归_07 和样本标签 二元线性回归模型是平面吗 2元线性回归_算法_10 均已知。所以问题也就转化为如何寻找 二元线性回归模型是平面吗 2元线性回归_机器学习_11 使得 二元线性回归模型是平面吗 2元线性回归_线性回归_29 最小。

为了表示方便,将 二元线性回归模型是平面吗 2元线性回归_线性回归_29 的9-5式求和的形式转化成向量与矩阵的形式,如下图中 式9-7所示。

二元线性回归模型是平面吗 2元线性回归_逻辑回归_36


我们最初的目标是寻找最小的 二元线性回归模型是平面吗 2元线性回归_线性回归_29 ,现在可表示为式9-8:

二元线性回归模型是平面吗 2元线性回归_算法_38


要求解此问题,需要先弄清楚左式的意义,其一维(d=1时)示意图如下图所示。

二元线性回归模型是平面吗 2元线性回归_线性回归_39


可以看出该函数为连续(continuous)、可微(differentiable)的凸(convex)函数,此处的凸函数其实就是我们学的凹函数,老师讲的跟我们学的有差别。寻找的最小的 二元线性回归模型是平面吗 2元线性回归_线性回归_29 类似于寻找谷底,即梯度(gradient)为 0 的点。梯度计算公式如式9-9所示。

二元线性回归模型是平面吗 2元线性回归_线性回归_41


现在需要寻找 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_42 使 得 二元线性回归模型是平面吗 2元线性回归_算法_43,其中 二元线性回归模型是平面吗 2元线性回归_逻辑回归_44 表示线性(linear)。

那么应该如何寻找?首先,进一步将公式9-7转化为9-10:

二元线性回归模型是平面吗 2元线性回归_机器学习_45


注意上式中 A、b、c所代表的的含义,关于对向量求梯度可以这么理解:

二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_46


线性代数的美妙之处就在于此,如此的相似。梯度公式可以用式9-11表示:

二元线性回归模型是平面吗 2元线性回归_机器学习_47

令式9-11求梯度结果为0,即可使得 二元线性回归模型是平面吗 2元线性回归_线性回归_29 最小。在输入空间 二元线性回归模型是平面吗 2元线性回归_逻辑回归_07 与输出向量 二元线性回归模型是平面吗 2元线性回归_算法_10 都为已知的情况下,求解最佳的假设函数 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_42 可分为两种情况,第一种是 二元线性回归模型是平面吗 2元线性回归_算法_52 可逆的情况,令式9-11等于0,即可求解,结果如式9-12所示。

二元线性回归模型是平面吗 2元线性回归_算法_53

其中 二元线性回归模型是平面吗 2元线性回归_逻辑回归_54 表示矩阵 二元线性回归模型是平面吗 2元线性回归_逻辑回归_07 的伪逆(pseudo-inverse)。矩阵 二元线性回归模型是平面吗 2元线性回归_逻辑回归_07二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_57 时才是方阵,伪逆矩阵与方阵的逆矩阵具有很多相似的性质,因此而得名。注意:二元线性回归模型是平面吗 2元线性回归_算法_52 在大部分的情况下是可逆的,原因是在机器学习中, 二元线性回归模型是平面吗 2元线性回归_逻辑回归_07 通常满足 $ N \gg d+1$ ,即样本数量 二元线性回归模型是平面吗 2元线性回归_机器学习_60 远大于样本的特征数量 二元线性回归模型是平面吗 2元线性回归_算法_05,因此在 二元线性回归模型是平面吗 2元线性回归_算法_52

第二种情况是 二元线性回归模型是平面吗 2元线性回归_算法_52 不可逆的情况。在这种情况下,实际上可以得到许多满足条件的解,只需要通过其他的方式求解出 二元线性回归模型是平面吗 2元线性回归_逻辑回归_54 ,选择其中一个满足条件 二元线性回归模型是平面吗 2元线性回归_线性回归_65

线性回归算法的求解过程如下:

  • 首先通过已知的数据集 二元线性回归模型是平面吗 2元线性回归_机器学习_66,构建输入矩阵 二元线性回归模型是平面吗 2元线性回归_机器学习_66 (样本)与输出向量 二元线性回归模型是平面吗 2元线性回归_算法_68(样本标签);
  • 然后通过构造的输入矩阵和输出向量,求解伪逆;
  • 最后通过伪逆求得假设函数 二元线性回归模型是平面吗 2元线性回归_逻辑回归_69

二元线性回归模型是平面吗 2元线性回归_机器学习_70

习题2:

二元线性回归模型是平面吗 2元线性回归_线性回归_71


9.3 Generalization Issue

本小节提出问题:上一小节中求解最佳假设函数 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_42

二元线性回归模型是平面吗 2元线性回归_算法_73

回答不是的理由:求解只一步就完成了,不像前面章节中提到的学习方法需要很多步的过程,即解析解(analytical solution) 或称为封闭解、闭式解(closed-form solution)。因此不同于PLA等通过迭代法求解 二元线性回归模型是平面吗 2元线性回归_线性回归_29

回答是的理由:更看重结果,这种直接求解方式是数学推导中的精确解,因此求出的 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_42 一定是的 二元线性回归模型是平面吗 2元线性回归_线性回归_29 最小解,符合求解条件,而且求解伪逆算法(高斯消元法)并非如公式展示中显示的那样,一步就可以得出最终结果,而是需要几次循环迭代。而判断是否发生机器学习过程最主要标准是学习到的 二元线性回归模型是平面吗 2元线性回归_逻辑回归_77

通过改进VC-bound,也可以证明在线性回归问题中VC起到了很好的约束作用,即找到了好的 二元线性回归模型是平面吗 2元线性回归_线性回归_29 就可以保证 二元线性回归模型是平面吗 2元线性回归_逻辑回归_77 还不错。下面通过一种更简单的方法,证明线性回归问题是可以通过线下最小二乘法方法计算得到好的 二元线性回归模型是平面吗 2元线性回归_线性回归_29二元线性回归模型是平面吗 2元线性回归_逻辑回归_77

二元线性回归模型是平面吗 2元线性回归_算法_82


公式 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_83 中,二元线性回归模型是平面吗 2元线性回归_算法_84 表示期望,不断的从整体样本空间中抽取样本集,计算其平均值; 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_85 表示关于;二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_86 表示数据中的噪音,二元线性回归模型是平面吗 2元线性回归_算法_87 为每次抽样的样本数量,二元线性回归模型是平面吗 2元线性回归_算法_88 为权值向量 二元线性回归模型是平面吗 2元线性回归_机器学习_89

根据平均误差的思想,改写上节提到的公式。新的公式 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_90 中, I 为 二元线性回归模型是平面吗 2元线性回归_算法_91 的单位矩阵,二元线性回归模型是平面吗 2元线性回归_算法_92 被称为帽子矩阵,可以使用 二元线性回归模型是平面吗 2元线性回归_算法_91

通过几何图形更具体的了解 H矩阵 的物理意义。

二元线性回归模型是平面吗 2元线性回归_线性回归_94


图中,二元线性回归模型是平面吗 2元线性回归_算法_10 是N维空间的一个向量,粉色区域表示输入矩阵 二元线性回归模型是平面吗 2元线性回归_逻辑回归_07 乘以不同权值向量 二元线性回归模型是平面吗 2元线性回归_机器学习_11 所构成的空间,根据所有 二元线性回归模型是平面吗 2元线性回归_机器学习_11 的取值,预测输出都被限定在粉色的空间中。向量 二元线性回归模型是平面吗 2元线性回归_算法_99 就是粉色空间中的一个向量,代表预测的一种。二元线性回归模型是平面吗 2元线性回归_算法_10

机器学习的目的是在粉色空间中找到一个 二元线性回归模型是平面吗 2元线性回归_算法_99,使它最接近真实的 二元线性回归模型是平面吗 2元线性回归_算法_10 ,那么我们只要将 二元线性回归模型是平面吗 2元线性回归_算法_10 在粉色空间上作垂直投影即可,投影得到的 二元线性回归模型是平面吗 2元线性回归_算法_99 即为在粉色空间内最接近 二元线性回归模型是平面吗 2元线性回归_算法_10 的向量。这样即使平均误差 二元线性回归模型是平面吗 2元线性回归_逻辑回归_106

从图中可以看出, 二元线性回归模型是平面吗 2元线性回归_算法_99二元线性回归模型是平面吗 2元线性回归_算法_10 的投影,已知 二元线性回归模型是平面吗 2元线性回归_机器学习_109 ,那么 H 表示的就是将 二元线性回归模型是平面吗 2元线性回归_算法_10 投影到 二元线性回归模型是平面吗 2元线性回归_算法_99 的一种操作。图中绿色的箭头表示的向量 二元线性回归模型是平面吗 2元线性回归_算法_112 垂直于粉色区域。已知 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_113 ,那么 二元线性回归模型是平面吗 2元线性回归_机器学习_114 就表示将 二元线性回归模型是平面吗 2元线性回归_算法_10 投影到 二元线性回归模型是平面吗 2元线性回归_算法_112

二元线性回归模型是平面吗 2元线性回归_逻辑回归_117 称为 二元线性回归模型是平面吗 2元线性回归_机器学习_114 的迹,值为 二元线性回归模型是平面吗 2元线性回归_算法_119。一个矩阵的迹(trace)等于该矩阵的所有特征值(Eigenvalues)之和。简单证明如下:

二元线性回归模型是平面吗 2元线性回归_算法_120


二元线性回归模型是平面吗 2元线性回归_机器学习_114 转换的物理意义:原来有N个自由度的向量y,投影到 二元线性回归模型是平面吗 2元线性回归_算法_05 维的空间二元线性回归模型是平面吗 2元线性回归_逻辑回归_123(代表一列的自由度,即单一输入样本的参数,如图中粉色区域),而余数剩余的自由度最大只有 二元线性回归模型是平面吗 2元线性回归_逻辑回归_124在存在noise的情况下,上图变为:

二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_125


图中,粉色空间的红色箭头是目标函数 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_126,虚线箭头是 二元线性回归模型是平面吗 2元线性回归_线性回归_127,可见,真实样本输出 二元线性回归模型是平面吗 2元线性回归_算法_10二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_126二元线性回归模型是平面吗 2元线性回归_线性回归_127 相加得到。由上面推导,已知向量 二元线性回归模型是平面吗 2元线性回归_算法_10 经过 二元线性回归模型是平面吗 2元线性回归_逻辑回归_132 转换为 二元线性回归模型是平面吗 2元线性回归_算法_112,而 二元线性回归模型是平面吗 2元线性回归_线性回归_127二元线性回归模型是平面吗 2元线性回归_算法_10 是线性变换关系,由此推导出二元线性回归模型是平面吗 2元线性回归_线性回归_127 经过 二元线性回归模型是平面吗 2元线性回归_逻辑回归_132 也能转换为 二元线性回归模型是平面吗 2元线性回归_算法_112。则对于样本平均误差,有下列推导成立:

二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_139


即:

二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_140


证明有点复杂,可以简单理解: 二元线性回归模型是平面吗 2元线性回归_逻辑回归_106二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_142 形式上只差了 二元线性回归模型是平面吗 2元线性回归_逻辑回归_143 项,从哲学上来说, 二元线性回归模型是平面吗 2元线性回归_逻辑回归_106 是看得到的样本的平均误差,如果有noise,把预测往noise那边偏一点,让 二元线性回归模型是平面吗 2元线性回归_逻辑回归_106 好看一点点,所以减去 二元线性回归模型是平面吗 2元线性回归_逻辑回归_143 项。同时,新的样本 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_142 是看不到的;如果noise在反方向,那么 二元线性回归模型是平面吗 2元线性回归_逻辑回归_106 就应该加上 二元线性回归模型是平面吗 2元线性回归_逻辑回归_143 项。 由 二元线性回归模型是平面吗 2元线性回归_逻辑回归_106二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_142 得到学习曲线:

二元线性回归模型是平面吗 2元线性回归_机器学习_152


其中在N趋于无穷大时,二元线性回归模型是平面吗 2元线性回归_逻辑回归_106二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_142 两者都会趋近于 二元线性回归模型是平面吗 2元线性回归_线性回归_155 的值,即 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_156

泛化误差之间的差距:二元线性回归模型是平面吗 2元线性回归_算法_157

至此可以表明在线性回归中可以寻找到很好的 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_158,因此线性回归可以学习。


习题3:

二元线性回归模型是平面吗 2元线性回归_线性回归_159


9.4 Linear Regression for Binary Classification

线性分类问题使用误差衡量方法是0/1 error,那么线性回归的平法误差能否应用到线性分类问题呢?

首先对比二元线性分类与线性回归之间的差异,分别在三个部分进行对比,输出空间、假设函数和错误衡量函数,如图9-7所示。

二元线性回归模型是平面吗 2元线性回归_算法_160


从求解问题的难度考虑,二元分类的求解是一个NP-hard问题,只能使用近似求解的方式,而线性回归通过求解析解,求解方便,程序编写也简单。

因此考虑能否通过求解线性回归的方式求二元分类问题,因为二元分类的输出空间 二元线性回归模型是平面吗 2元线性回归_线性回归_161 属于线性回归的输出空间,即 二元线性回归模型是平面吗 2元线性回归_算法_162,其中数据集的标记大于零的表示+1,小于零的表示-1,通过线性回归求得的解析解 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_42,直接得出最优假设 二元线性回归模型是平面吗 2元线性回归_逻辑回归_164

观察两种错误衡量方式:

二元线性回归模型是平面吗 2元线性回归_算法_165


观察两公式的共同特点都含有 二元线性回归模型是平面吗 2元线性回归_机器学习_166 这一向量内积的形式,如果将 二元线性回归模型是平面吗 2元线性回归_机器学习_166 作为横轴,将 err 作为纵轴,可以画出下图。

二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_168


从图中可知有下式成立:

二元线性回归模型是平面吗 2元线性回归_线性回归_169


根据之前的VC理论, 的上界满足

二元线性回归模型是平面吗 2元线性回归_线性回归_170


在实际运用中,一般都将通过线性回归求得的解析解 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_42 作为PLA或者pocket的初始值 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_172,达到快速求解的目的 。

从图中可以看出,用 二元线性回归模型是平面吗 2元线性回归_线性回归_173 代替 二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_174,仍然有上界,只不过是上界变得宽松了。也就是说用线性回归方法仍然可以解决线性分类问题,效果不会太差。二元分类问题得到了一个更宽松的上界,但是也是一种更有效率的求解方式。


习题4:

二元线性回归模型是平面吗 2元线性回归_二元线性回归模型是平面吗_175


参考:

https://github.com/RedstoneWill/HsuanTienLin_MachineLearning