林轩田-机器学习基石 课堂笔记(九) Linear Regression

1、Linear Regression Problem

我们之前的课程讲到我们在二元分类情况下证明的VC bound是可以用在不同的error measure和有noise的情形,当然也包括我们regression。想象我们已经有了bound,那么演算法上我们应该怎么设计呢?

回到我们之前讲的银行发信用卡的例子,如果今天银行不是要决定给不给用户发信用卡,而是要决定给某个用户多少的额度,那么这就不是一个是非题了,输出的不是+1或者-1而是一个具体的实数,因此我们可以看到regression问题的特点就是其输出空间是整个实数,当然在信用卡这个问题上,输出空间为正实数。那么当输出空间为实数时,我们的hypothesis会长什么样子呢? 



比如我们有顾客的一部分资料,我们将这些资料做一个加权处理,算一个分数,用这个分数来做运算。我们希望得出的这个分数与我们决定给用户的信用卡额度十分接近,这就与感知机不同了,因为感知机在算出分数后还要决定它是+1还是-1。

linear regression的hypothesis的图形如下:(左边输入空间为一维,右边输入空间为为二维)



可以看到,回归分析的目的是找出一条线或者一个平面来描述资料点。这些红色的部分我们叫做误差或者余数(residuals)。

传统上,我们要衡量余数小不小,一般用squared error进行错误衡量。 



注意我们现在讨论的是可能有noise的环境,除了输入x要从某个distribution出来,我们的输出y也要从某个distribution出来,然后两者结合起来,我们才可以说(x,y)是服从联合概率分布的。

接下来我们就要考虑怎么最小化Ein。


2、Linear Regression Algorithm

我们的目标是找到合适的w使得Ein(w)越小越好。为了方便计算,首先将向量w转置乘向量x转化为向量x转置乘向量w(向量内积符合交换律),再将平方求和转化为向量的模的平方,最后整理公式(d+1是因为加了x0的一列向量)。 




我们发现Ein关于w的图形为一个连续可微的凸函数(注意函数凹凸性与同济版高数书中的函数凹凸性相反),因此我们要找到最小的Ein,即找到对w梯度为0的位置,记为wLin。


 

将Ein(w)展开(Xw为一个列向量,y也为一个列向量,故其差为一个列向量,该列向量的模的平方为其内积,因此可以表示为向量转置乘向量的形式 ) 



假设为w只有一个维度,展开时如左图;当w为一个向量时,展开如右图(对应左图)。  





我们现在想要找到梯度为0的点,如果A矩阵可逆,很容易可以得到wLin。

 


pseudo-inverse是伪逆,因为输入矩阵X(维度为(d+1)*N)很少情况下是方阵(N=d+1)。但这种伪逆矩阵的形式和方阵中的逆矩阵具有很多相似的性质,因此才有此名。矩阵A一般情况下是可逆的,因为机器学习过程中,通常都满足N>>d+1,因此A中存在足够的自由度使其满足可逆的条件。

当矩阵A不可逆时,Ein的式子可看做线性代数中Aw=b求w的问题,实际上此时可以得到许多满足条件的解,只需要通过其他方式定义伪逆矩阵,然后求出满足条件的wLin。 



总结一下linear Regression的演算法:



3、Generalization Issus

我们可能会想,这种求解权重向量的方法真的是机器学习嘛?有两种观点;1、这不是机器学习,更接近于一种分析,并且在求解过程中没有相对提升Ein或者Eout的准确率;2、这是机器学习,因为从结果上来看,Ein和Eout都实现了最小化,且在实际计算过程中,求解伪逆矩阵并不是一步得到结果,而是需要几次迭代。总结来说,只要Eout(w)结果足够好,那么学习就发生了。 



下面我们来证明如何保证Eout足够小,首先从Ein出发,首先观察Ein的平均,不断从整体样本空间中抽取样本集,计算Ein,最后算所有Ein的平均值。Ein的平均大概等于关于噪音的一个式子。(PS:w.r.t=with regard to;noise level为噪音)

 


Ein(wLin)经过推导得到: 



 称为帽子矩阵(hat matrix),简称H矩阵。我们从几何图形来理解H矩阵的意义:

y是实际输出向量,粉色区域表示输入矩阵X乘以不同权值向量w所构成的空间,根据w的取值,预测的输出都被约束在粉色区域内。 



机器学习的目的是在粉色区域中找到一个预测输出y^使它接近最真实的y,因此我们要求的y^就是y在该粉色区域上的投影,因此有y-y^⊥粉色区域。假设y^=Hy(H表示将y投影到粉色区域为y^),则有(I-H)y=y-y^。

PS:trace(I-H)=N-(d+1)的物理意义— —原来有一个有N个自由度的向量,现在要把它投影到d+1维的空间,取余数,剩下的自由度最多只有N-(d+1)个。

在存在noise的情况下: 




图中,粉色空间的红色箭头是目标函数f(x),虚线箭头是noise,可见,真实样本输出y由f(x)和noise相加得到。由上面推导,已知向量y经过I-H转换为y-y^,而noise与y是线性变换关系,那么根据线性函数知识,我们推导出noise经过I-H也能转换为y-y^。 



那么就有 



对于Eout的证明比较复杂,不做探讨。

当N->∞时,Ein的平均和Eout的平均都会趋近于noise level的值;Ein的平均和Eout的平均相差2(d+1)/N。在由此我们可以得出Ein的平均和Eout的平均的图形 



当N足够大时,Ein和Eout逐渐接近,满足Ein≈Eout,且数值保持noise level,这就类似VC理论,证明了当N足够大时linear regression是可以进行机器学习的。


4、Linear Regression for Binary Classification

linear classification和linear regression到底有什么区别和相同之处呢?  





有人可能会想,既然linear regression这么好解,+1和-1也属于实数集中的一部分,如果我们将线性回归输出的正实数记为+1,负实数记为-1,那么我们能否用求线性回归的方法来求二元分类问题呢?听起来好像很有道理,但这个道理不一定是数学上的道理。

我们发现linear classification和linear regression最大的差别就是就是使用的error function不同。下面是当y=+1和-1时err与预测输出值得关系: 



我们发现,不管我们的预测输出值是什么,平方的错误一定比0/1的错误来的大。 



结合之前的VC理论  





不难看出,linear classification由此得到一个更宽松的上界,但却更有效率。也就是说用linear regression可以解决linear classification的问题,且效果可能不会太差。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值