码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习基石笔记9——机器可以怎样学习(1)

时间:2015-03-05 01:29:40      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html

目录

机器学习基石笔记1——在何时可以使用机器学习(1)

机器学习基石笔记2——在何时可以使用机器学习(2)

机器学习基石笔记3——在何时可以使用机器学习(3)(修改版)

机器学习基石笔记4——在何时可以使用机器学习(4)

机器学习基石笔记5——为什么机器可以学习(1)

机器学习基石笔记6——为什么机器可以学习(2)

机器学习基石笔记7——为什么机器可以学习(3)

机器学习基石笔记8——为什么机器可以学习(4)

机器学习基石笔记9——机器可以怎样学习(1)

机器学习基石笔记10——机器可以怎样学习(2)

机器学习基石笔记11——机器可以怎样学习(3)

机器学习基石笔记12——机器可以怎样学习(4)

机器学习基石笔记13——机器可以怎样学得更好(1)

机器学习基石笔记14——机器可以怎样学得更好(2)

机器学习基石笔记15——机器可以怎样学得更好(3)

机器学习基石笔记16——机器可以怎样学得更好(4)

九、Linear Regression

线性回归。

9.1 Linear Regression Problem

线性回归问题。

在第二章中提到的银行发放信用卡问题,通过是否发放信用卡引出了二元分类问题;本章再次使用这个例子通过发放用户多大额度的信用卡引出回归(regression)或者说线性回归(linear regression)的问题。回归问题与二元分类问题最大的不同在于输出空间,二元分类的输出空间为二元标记,要么+1要么-1,而回归问题的输出空间是整个实数空间,即技术分享

以银行发放信用卡为例,输入集合依然是用户的特征空间,如年龄,收入等等,可以使用与二元分类一致的表示方式技术分享 ;因为输出集合的转变导致回归问题的假设函数与二元分类中的有所不同,但思想一致,仍需考虑对每个输入样本的各个分量进行加权求和,因此最终目标函数f(含有噪音,使用y表示)的表示如公式9-1所示。

 

技术分享     (公式9-1)

 

而假设函数的向量表示如公式9-2所示。

 

技术分享     (公式9-2)

 

从公式9-2的表示方式可以看出,与二元分类假设函数的表示只差了一个取正负号的函数sign。

使用图像的方式更形象的描述线性回归,如图9-1所示。

 

技术分享

图9-1 a) 1维输入空间的线性回归 b) 2维空间的线性回归

 

图9-1a中表示输入空间为1维的线性回归表示,其中圆圈○表示输入样本点,蓝色直线表示假设函数技术分享,连接圆圈与蓝色直线之间的红色线段表示样本点到假设函数的距离,称为剩余误差(residuals),在9-1b中有类似表示。而设计算法的核心思想是使总体剩余误差最小。

上一章中也提到过回归使用的错误衡量是平方误差技术分享,因此技术分享如公式9-3所示。

 

技术分享    (公式9-3)

 

在线性回归问题中,假设函数h与权值向量技术分享存在着一一对应的关系,因此公式9-3通常表示为权值向量技术分享的形式,如公式9-4所示。

 

技术分享    (公式9-4)

 

同理技术分享表示如公式9-5所示,注意这里使用的是含有噪音的形式,因此技术分享服从联合概率分布P。

 

技术分享    (公式9-5)

 

VC限制可以约束各种情况的学习模型,当然回归类型的模型也被也受此约束,想要学习到知识,只需要寻找技术分享足够小便可以满足技术分享够小的需求。

 

9.2 Linear Regression Algorithm

线性回归算法。

此节重点是如何寻找最小的 技术分享,为了表达的简便,将求和公式转化成向量与矩阵的形式,将公式9-4转换成公式9-6的形式。

 

技术分享

(为方便显示将向量w与向量x位置交换,因为是向量内积,符合交换律)

技术分享

(将平方求和转换成矩阵平方的形式)

技术分享

(再拆解成矩阵X和向量w与向量y的形式)

技术分享    (公式9-6)

 

再回到最初的目标寻找一个最小的技术分享,如公式9-7所示。

 

技术分享     (公式9-7)

 

求解此问题,需要了解左式,其一维(d=1时)示意图如图9-2所示。

 

技术分享

图9-2 一维示意图

 

可以看出该函数为连续(continuous)、可微(differentiable)的凸(convex)函数,其中连续及可微的概念,学过高等数学的都应该有所了解,凸函数说的通俗点就如图9-2所示,像一个山谷一样的形式(注意国内数学教材中的凹函数是这里凸函数的定义,有点囧),寻找的最佳技术分享便是山谷中的最低点,对应图中的黑点,以数学的形式表示即梯度(gradient)为0 的点。(我理解的梯度,大概意思是某一向量其各个分量的偏导数组成的向量),梯度为的表示方式如公式9-8所示。

 

技术分享     (公式9-8)

 

其中技术分享即梯度符号,需要寻找的是技术分享,该向量满足技术分享,这里技术分享的下标表示线性linear的意思。紧接着的问题是如何求解技术分享时的技术分享

继续对公式9-6做转化,如公式9-9所示。

 

技术分享    (公式9-9)

 

其中技术分享用矩阵A表示,技术分享用向量b表示,技术分享用标量c表示,紧接着对技术分享求梯度。向量对向量求导数,可能很多人都没有接触甚至没有听说过,最多也就是了解向量对某标量求导。可通过图9-3在w为标量情况下的对比形式,理解技术分享求梯度的步骤。

 

 

技术分享 技术分享

图9-3 a) w为标量时求技术分享的梯度 b) w为向量时求技术分享的梯度

 

线性代数的美妙之处就在于此,如此的相似。因此技术分享可以写成公式9-10的形式。

 

技术分享    (公式9-10)

 

令公式9-10求梯度结果为0,即使技术分享最小。在输入空间X与输出向y都为已知的情况下,如何求解最佳的假设函数技术分享呢?求解该问题分为两种情况,一是在技术分享可逆的情况下,求解该问题很简单,将公式9-10右边的部分设为0,如公式9-11。

 

技术分享     (公式9-11)

 

其中技术分享表示矩阵X的伪逆(pseudo-inverse),注意此处输入矩阵X在很少的情况下才是方阵(N=d+1时)。而这种伪逆矩阵的形式和方阵中的逆矩阵具有很多相似的性质,因此才有此名称。还有一点需要说明,技术分享在大部分的情况下是可逆的,原因是在进行机器学习时,通常满足技术分享 ,即样本数量N远远大于样本的维度d加1,因此在技术分享中存在足够的自由度使其可以满足可逆的条件。

另一种是技术分享不可逆的情况,实际上可以得到许多满足条件的解,只需要通过其他的方式求解出技术分享,选择其中一个满足技术分享条件的解。

总结下线性回归算法的求解过程,首先通过已知的数据集,构建输入矩阵X与输出向量y,如公式9-12所示。

 

技术分享     (公式9-12)

 

通过公式9-12直接求得伪逆技术分享

在通过公式9-11求得假设函数,如公式9-13所示。

 

技术分享    (公式9-13)

 

9.3 Generalization Issue

泛化问题。

本小节讨论的问题理解起来不简单,目前自己还是一知半解,如有表述不正确的地方还希望指正。

首先要回答一个问题,上一小节中使用到的求解最佳假设函数技术分享的算法,是否能算是机器学习?

如回答不是,其理由很简单,求解只一步就完成了,不像前面章节中提到的学习方法需要很多步的过程。实际上,这种求解方式在数学中被称作解析解(analytical solution)或者叫封闭解或闭式解(closed-form solution),此种解是一些严格的公式,给出任意的自变量就可以求出其因变量,通常与数值解对应。因此这种求解方式并不像之前提到的PLA等算法时一步一步迭代求出的技术分享的最小解。

回答是的理由更看重结果,这种直接求解方式是数学推导中的精确解,因此求出的技术分享一定是技术分享的最小解,符合求解条件,而且求解伪逆算法(此方法被称为高斯消元法,又见高斯,查了一下一共有110项以他名字命名的成果,整个机器学习笔记中你还会不断的听到以他命名的成果)并非如公式展示中显示的那样,一步就可以得出最终结果,而是需要几次的循环迭代(观察了矩阵求伪逆的程序,好像是三层循环,也就印证了NG在他机器学习课程中提到的矩阵求逆的复杂度为技术分享 ),只是被程序封装的看不出迭代的过程而已。而判断是否发生机器学习过程最主要标准是学习到的技术分享是否够好!

其实通过改进VC限制,也可以证明在线性回归问题中VC起到了很好的约束作用,即找到了好的技术分享就可以保证技术分享还不错,这里不再证明,因为是件非常繁琐的过程。此处只需要记住VC限制不只在二元分类问题中起作用,在线性回归问题中也发挥着作用。

但是本节使用一种比VC限制更容易证明的保证,来说明解析解也可以得到一个好的技术分享

以下给出证明:为什么解析解求出的技术分享的结果是好的。而有关技术分享的证明与之类似。

首先观察技术分享的平均,用符号技术分享表示,可写成公式9-14所示。

 

技术分享    (公式9-14)

 

其中技术分享表示期望,不断的从整体样本空间中抽取样本集,算其平均值,技术分享表示关于,技术分享表示数据中的噪音,N为每次抽样的样本数量,d+1为权值向量w的维度。

从上一节中得知,可以将技术分享写成公式9-15,注意技术分享技术分享使向量形式。

 

技术分享技术分享    (公式9-15)

 

其中I是技术分享 的单位矩阵,技术分享可以使用技术分享的H矩阵(hat matrix)表示。

此处通过几何图形来更具体的了解H矩阵的物理意义,如图9-4所示。

 

技术分享

图9-4 有关H矩阵的几何图形

 

其中紫色向量表示实际输出向量y。

粉色区域表示输入矩阵X乘以不同权值向量w所构成的空间,从这个定义得知,解析解求得最优权值向量技术分享所表示的输出向量技术分享也落在该空间中,其中技术分享为N维向量,不难想象技术分享正是实际输出向量y在该空间上的投影。

而绿色虚线表示实际输出与最优假设输出之间的差距,写作技术分享。从上述情况可知技术分享

因此得知H矩阵是一个投影过程,向量技术分享是向量y通过矩阵H所做的投影,可以将矩阵H理解为一系列旋转放缩的动作,有技术分享

技术分享 的矩阵同样也是一种线性变化, 技术分享是向量y通过技术分享的线性变化得到的向量。

在图9-4中再加入一点元素,构成图9-5。

 

技术分享

图9-5 加入理想的目标输出f(x)

 

如果实际输出矩阵y由理想的目标输出f(x)加上噪音部分共同构成(如图中红色和黑色虚线部分)。则其中技术分享的形式也可以通过噪音按照技术分享的变换方式构成。因此,得到公式9-16。

 

技术分享    (公式9-16)

 

其中技术分享是通过技术分享的迹(trace)得出的。在求解之前,可以想象技术分享,因为经过两次转换所得到的还是第一次时的误差向量,trace(I-H)的求解过程如公式9-17。(这里为什么使用到迹,我至今都不知道,望大神指教)

 

技术分享

(根据迹的性质技术分享

技术分享

(根据迹的性质技术分享

技术分享    (公式9-17)

 

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

最终可以写出技术分享的结果,同理也可以写出技术分享 的噪音表示,如公式9-18和公式9-19所示。

 

技术分享    (公式9-18)

 

技术分享    (公式9-19)

 

这个证明更为复杂,我也没有找到相关资料,就不证明了,在此只介绍一下,在哲学意义上,两者之间存在这个差异的原因。

因为前者做了优化,所以 技术分享 有机会比「理想值」多 fit 数据中的 噪音一点点,所以会比「理想值」好一点;但 技术分享 的部份则要付出代价(想象在测试的时候,拿到了与训练数据「完全不同」的噪音),所以可能反而多远离理想值一些。

从上面两个公式可以得到一个学习鸿沟图,如图9-6所示。

技术分享

图9-6 机器学习的学习鸿沟

 

其中在N趋于无穷大时,技术分享技术分享两者都会趋近于noise level的值,即技术分享

泛化错误之间的差距:技术分享

至此可以表明在线性回归中可以寻找到很好的技术分享,因此线性回归可以学习。

第一次吐糟,这一节的内容我整整写了一天,是开始写笔记至今,第一次一个小节写了一天时间,普通情况边玩边写一天也可以写2到3小节,主要是这节内容确实很抽象,而且很多证明都没有给出,给出的证明也没有解释清楚,可能是我太笨了,唉,其中迹的证明就是我根据提示自己整理的,如有错误请指正,如果你了解这部分为什么莫名其妙的使用了迹的概念也请指点下我。

 

9.4 Linear Regression for Binary Classification

使用线性回归做二元分类。

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

 

技术分享

图9-7 二元线性分类与线性回归的对比

 

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

因此考虑能否通过求解线性回归的方式求二元分类问题,因为二元分类的输出空间{-1,+1}属于线性回归的输出空间,即技术分享。其中数据集的标记大于零的表示+1,小于零的表示-1,通过线性回归求得的解析解技术分享,直接得出最优假设技术分享 。但是这种推理只符合直觉,而如何使用数学知识去说明这种方式的合理性呢?

观察两种错误衡量方式,技术分享技术分享分别表示为公式9-20和公式9-21。

 

技术分享     (公式9-20)

 

技术分享    (公式9-21)

 

观察两公式的共同特点都含有技术分享这一向量内积的形式,如果将技术分享作为横轴,将err结果作为纵轴,可以画出图9-8。

其中图9-8a)为y=+1时,两err值的图像表示;而图9-8b)为y=-1时,两err值的图像表示。两幅图中红色的线表示技术分享,蓝色的先表示技术分享

 

技术分享

图9-8 a)y=+1时,两err值 的表示 b) y=-1时两err值的表示

 

从图中得出公式9-22的结论。

 

技术分享    (公式9-22)

 

回忆下第七章中证明的二元分类下技术分享的上限,结合公式9-22的结论,得公式9-23。

 

技术分享        (公式9-23)

 

因此二元分类问题得到了一个更宽松的上界,但是也是一种更有效率的求解方式。

在实际运用中,一般都将通过线性回归求得的解析解技术分享作为PLA或者pocket的初始值技术分享,达到快速求解的目的 。

机器学习基石笔记9——机器可以怎样学习(1)

标签:

原文地址:http://www.cnblogs.com/ymingjingr/p/4314665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!