机器学习基石笔记9——机器能够怎样学习(1)

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

目录

机器学习基石笔记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)

 

9、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。spa

使用图像的方式更形象的描述线性回归,如图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的初始值,达到快速求解的目的 。

相关文章
相关标签/搜索