从这节课开始就进入机器学习基石这门课的下半部分,之前的课程中介绍了linear classification的问题,这节课将继续介绍一个新的问题:Linear Regression(线性回归)。
一、Linear Regression Problem
- 首先,仍然以信用卡发放为例,这一次问题改为如何给发放信用卡的用户设定信用额度?
- 这种输出空间不再是0或1,而是整个实数R的问题,我们称之为Linear Regression。
- 由上图,Linear Regression的目的在于找到一条直线(一维)或者一个平面(二维)使得所有样本中的点越接近这个直线/平面越好,即剩余误差residuals达到最小;
- 那怎么来评估这个误差呢?
- 一般情况下,我们使用squared error来进行error measure;
二、Linear Regression Algorithm
接下来,我们需要来求解一下什么时候Ein(w)达到最小:
- 经过化简,我们把Ein用X、w、y进行表示,由于X和y是已知,那么我们的任务就是找出一个w使得Ein达到最小;
- 对于此类的Linear Regression问题,Ein(w)一般是凸函数,就意味着只要对Ein(w)求导,使其等于0,就可以找到最优解;
- 那么将Ew对每个wi,i=0,1,⋯,d求偏导,偏导为零的wi,即为最优化的权重值分布。
- 对Ein(w)进行求矩阵偏导如上;
- 令偏导为零,最终可以计算出权重向量w的值了;
- 我们把上图中 ( X T X ) − 1 X T (X^TX)^{-1}X^T (XTX)−1XT称为伪逆矩阵pseudo-inverse,记为 X 十 X^十 X十,维度是(d+1)xN。
- 我们注意到,伪逆矩阵中有逆矩阵的计算,逆矩阵 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1是否一定存在?一般情况下,只要满足样本数量N远大于样本特征维度d+1,就能保证矩阵的逆是存在的,称之为非奇异矩阵。
- 但是如果是奇异矩阵,不可逆怎么办呢?其实,大部分的计算逆矩阵的软件程序,都可以处理这个问题,也会计算出一个逆矩阵。所以一般伪逆矩阵是可解的。
三、Generalization Issue
现在,可能有这样一个疑问,就是这种求解权重向量的方法是机器学习吗?这不就只是方程式的求解而已么?
-
一种认为这不是机器学习,因为这种closed-form解的形式跟一般的机器学习算法不一样,而且在计算最小化误差的过程中没有用到迭代;
-
另一种认为这属于机器学习,因为从结果上看,Ein和Eout都实现了最小化,而且实际上在计算逆矩阵的过程中,也用到了迭代;
-
其实,只从结果来看,这种方法的确实现了机器学习的目的。下面通过介绍一种更简单的方法,证明linear regression问题是可以通过线下最小二乘法方法计算得到好的Ein和Eout的。
-
首先,我们根据平均误差的思想,把Ein写成如上图的形式( I I I为单位矩阵),同时我们把 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 ‾ \overline E E最小;
-
从图中可以看出, y ^