机器学习基石笔记11——机器能够怎样学习(3)

转载请注明出处: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)

 

11、Linear Models for Classification

用于分类的线性模型。算法

11.1 Linear Models for Binary Classification

用于二元分类的线性模型。机器学习

目前叙述的算法模型主要有3类:线性二元分类,线性回归,logistic回归,这三个模型的最主要的相同点在假设函数和错误函数中都出现了线性得分函数(linear scoring function),如公式11-1所示。函数

 

    (公式11-1)学习

 

三类模型与得分s之间的关系如图11-1所示。大数据

 

图11-1 三类模型与得分s的关系优化

 

最左为线性二元分类,其假设函数为,通常使用0/1错误,经过求解最优权值向量w比较困难;中间为线性回归模型,其假设函数为,通常使用平方错误,可直接经过解析解求解最优w;最右为logistic回归模型,假设函数为,使用交叉熵错误,经过梯度降低法求出近似的w。设计

从上述分析不难看出,线性二元分类问题的求解方式最为困难,但与另外两种模型存在着共同点——得分s,可否利用这两种模型的算法近似求得二分类问题的最优w呢?调试

回顾10.2节,logistic回归的错误,可用符号 表示,其中CE为交叉熵(cross-entropy )的缩写,能够写成公式11-2所示。htm

 

    (公式11-2)

 

是否二元分类模型和线性回归模型的错误函数能够写成关于 的形式?答案是能够的,如图11-2所示。

 

图11-2 三类模型的错误函数

 

二元分类模型和线性回归模型错误函数中的转换都用到了 的性质。接着观察三类模型的错误函数与ys之间的关系。本节开头回顾了s的物理意义为得分,此处ys的物理意义是正确的得分 ,所以ys越大越好,表示二者接近且同号。

根据图11-2中的三类模型的错误函数有关ys的公式,能够得出如图11-3所示的关系图。

 

图11-3 三类模型的错误函数与ys的关系图

 

其中蓝色的折线表示0/1错误 ,在ys大于0时,,反之;红色的抛物线表示平方错误,在 时与在该范围内所表现出的特征类似,可是在时与在该范围内所表达的效果相去甚远,所以只有在很小的状况下,可使用取代;墨绿的曲线表示,一样如图11-3所示也只有在很小的状况下, 可互相取代。可是跟想获得的错误曲线还有一些差距,所以略作转变,获得公式11-3。

 

    (公式11-3)

 

其中表示缩放的(scaled),即对作了一个换底,所以能够获得图11-4。

 

图11-4 关于ys的图

 

如图11-4中墨绿色的线表示,从图中能够看出,该错误函数很适合作的上限,在很小的状况下, 可互相取代,如公式11-4所示。

 

    (公式11-4)

 

经过公式11-4能够得出的上限,如公式11-5和公式11-6所示。

 

    (公式11-5)

 

    (公式11-6)

 

再经过VC限制理论能够获得公式11-7。

 

        (公式11-7)

 

第一个不等号链接的是在VC限制下和其上界,概念见7.4节, 其中函数也是在7.4节中提到过的模型复杂度,在二元分类中能够写成的形式。

所以获得以下结论:小的能够经过小的得出。同理能够证实小的也能够经过小的得出,即线性回归模型和logistic回归模型能够用做二元分类。

算法流程通常是在输出空间 的状况下,经过线性回归和logistic回归相对应的求解方法求出最优

将求得的代入公式sign,获得最优假设函数

三类模型作分类的利弊分析如表11-1所示。

 

表11-1 三类模型作分类的利弊分析

 

二元分类

线性回归

Logistic回归

好处

在线性可分的状况下能够保证完成

最容易的优化算法

容易的优化算法

坏处

在线性不可分的状况,须要使用启发式pocket

很是大时,相对于是一个很宽松的上界

在ys为负时,是一个宽松的上界

 

线性回归通常只做为PLA、pocket、logistic回归的初始向量 ;logistic回归常常取代pocket算法。

 

11.2 Stochastic Gradient Descent

随机梯度降低。

如公式11-8为迭代优化算法的通式,学过的PLA的迭代算法如公式11-9,logistic回归中梯度降低的迭代公式如公式11-10。

 

    (公式11-8)

 

    (公式11-9)

 

        (公式11-10)

 

对比以上两种迭代优化方法,:PLA与logistic回归的梯度降低。发现PLA只须要经过一个样本点即可计算出,即每次迭代的时间复杂度为 ;logistic回归的梯度降低须要遍历全部的样本点才能计算出,即每次迭代的时间复杂度为。有无可能将logistic回归每次迭代时间复杂度降为

观察公式11-10,方向向量v,v≈,该梯度是经过全部的样本点加权求和再取平均获得的,如何使用一个样本点的取值近似总体的平均值?

能够将求平均的过程理解为求指望值,此处使用在N个样本中随机抽取一个样本点求出的梯度取代原来的指望梯度,这种随机选取的梯度称为随机梯度(stochastic gradient),可用符号表示,而真实的梯度与随机梯度的关系如公式11-11。

 

    (公式11-11)

 

随机梯度值能够看作真实的梯度值加上一个噪音,使用随机梯度取代真实梯度作梯度降低的算法称做随机梯度降低(stochastic gradient descent),简称SGD。这种替代的理论基础是在迭代次数足够多的状况下,平均的随机梯度和平均的真实梯度相差不大。

该算法的优势是简单,容易计算,适用于大数据或者流式数据;缺点是不稳定。

Logistic回归的随机梯度降低的迭代如公式11-12所示。

 

    (公式11-12)

 

是否联想到了其余的迭代算法?PLA,如公式11-13所示。

 

    (公式11-13)

 

所以logistic回归随机梯度降低相似于"软"的PLA,为何称为软的?缘由是它的以前的权值并无那么绝对不是1就是0,而是一个在0~1之间的值。在公式11-12中,若是始终是一个很大的值,则logistic回归随机梯度降低至关因而PLA。

SGD须要调试两个参数:迭代步骤t和学习速率。调试迭代步骤是由于不知道真实的梯度值是否接近0,只能假设足够步数后是已经作到足够好,即一般设置一个大的数值做为步数;学习速率一般也很难选定,林老师推荐的是数字为0.1126。

 

11.3 Multiclass via Logistic Regression

经过logistic回归实现多类别分类。

多类别分类有许多应用场景,特别是在识别(recognition)领域。

如图11-5为,输出空间y为四类别的状况,即

 

图11-5 四分类问题

 

实际多类别问题也可使用二元分类问题 的思路进行分类,如将原四类问题分解为是否为 ,即将与其余的类别分离,生成一个新的二元分类问题,即,经过此方式获得一个分类超平面,如图11-6所示。

 

图11-6 以是否为进行二元分类

 

同理能够以是否为生成一个新的二元分类问题,即,该分类超平面如图11-7所示。

 

图11-7 以是否为进行二元分类

 

另外两种状况就不一一列举,最终以是否为每一个类别获得的二元分类如图11-8。

 

图11-8 四个类别各自的二元分类状况

 

当将图11-8的四种状况合并在一个图中会发现有一些没法处理的情形,如图11-9所示。

 

图11-8 四种状况合并图

 

其中四个边缘的三角阴影所在的区域为相邻两个类别都争夺的区域,如最上方的三角区域是类别和类别重叠的区域;还有图正中的区域又不属于任何类别。这些问题如何解决?

使用之前学过的软性分类,仍是关于类别的二元分类问题,此处再也不使用硬划分,而是使用该样本点是的可能性,即 ,如图11-9所示。

 

图11-9 关于类别的软化分

 

余下三种状况再也不一一举例,最终获得的四种类别的分类状况和合并后的状况分别如图11-10和图11-11所示。

 

图11-10四个类别各自的软二元分类状况

 

图11-11四个类别软二元分类合并后状况

 

如何判断样本点属于哪一个类别,能够分别计算样本点在四种软二元分类状况下几率,选择其中几率最大的一个做为所属类别,如公式11-14所示。

 

    (公式11-14)

 

其中求几率的公式使用logistic函数 ,k表示类别,注意到logistic函数是一个单调函数,所以能够消去该函数,直接使用个类别的得分值做比较,如公式11-5所示。

 

    (公式11-15)

 

用此种思路设计的算法称做一对多(One Versue All),简称为OVA,表示一个类别对其余全部类别,算法流程以下:

在整个训练数据集D上, (在y=k时为+1,y≠k时为-1,符号取1或者0 ),使用logistic函数计算各个类别的权值向量

返回假设函数g,

该算法的优势是简单有效,易于相似于logistic函数的二元分类问题扩展成多类别分类;缺点是当类别特别多时,产生了不平衡的现象(如类别特别多,则+1的数据量就不多,大部分都是-1,数据量严重不平衡)。

 

11.4 Multiclass via Binary Classification

经过二元分类实现多类别分类。

上一节的最后提到OVA的方式在类别很是多的状况下,出现了训练数据严重失衡的现象,因而本节介绍一种应对这类不平衡问题的方法。

仍是上节中使用的四分类问题,不像OVA在整个数据集中计算是否为的权值向量w,此种方法是任意选择四类中的两类,如类别和类别,将两个类别分别设为+1和-1,形式如,在包含两类的数据集上计算权值向量w,如图11-12。

 

图11-12类别和类别的二分类

 

如上述状况相同,从四种类别中选取两种作二元分类,一共可得6种对比( ),各对好比图11-13所示。

 

图11-13 6种对比状况

 

如图11-13获得6个不一样的权值向量w,如何判断某新进样本属于哪一个分类?如11-14中紫色的样本点在6中状况下所属的类别,前三种属于,第4种属于,后两种属于,只须要找出在全部对比中胜利次数最多的类别,所以该点属于。这种方式如同投票选举,样本点属于全部类别对比中赢得次数最多的那种类别。

 

 

图11-14 某点在6种情形下的隶属状况

 

这种分类方式称为一对一(one vervuse one),简称OVO。其算法流程以下:

全部类别的任意两个类别作对比,使用二元分类算法,在数据集D, 求出最佳的权值向量

经过投票返回假设函数g。

其优势是简单有效,在作两两对比时,每次使用的不是所有训练数据,而是仅属于当前两类的训练数据,能将全部相似于二元分类的算法扩展成多元分类问题; 缺点是对比次数是 ,即 ,其中K表示类别数,所以就须要花费更多的存储空间、计算时间。

相关文章
相关标签/搜索