二分类问题是监督学习中最基本的问题之一,本文旨在从评分值、损失函数的角度,对解决二分类问题的诸多机器学习算法作一个梳理。相关算法的详细介绍能够参考相关教材[1][2]。 算法
给定一个数据集 ,其中
,
为d维向量 。注意有些资料中二分类比较喜欢用
表示,使用什么数字表示二分类从原理上讲没有区别,但在数学表达上会有一些细微差别。机器学习
评分值不是一个机器学习算法中的一个正式名词,可是咱们不妨创建这样一个认识角度。咱们但愿创建关于样本的一个评分函数
,它的基本性质很简单,就是要求和目标值
同号,即正样本评分为正数,负样本评分为负数,这样最终的二分类函数为
。ide
那么咱们要如何创建评分函数呢?直观的想法是,对样本的个属性进行加权求和,这样能体现每一个属性在评分中的重要性,如此创建的评分不必定在0值处有区分做用,所以再加上一个偏置项,因此评分函数为
,这个基本的评分函数能够衍生出不少算法。函数
评价二分类问题的基本标准是分类错误率,针对每个样本,若是去计算它的损失函数,就是分类正确损失为0,分类错误损失为1,这种损失函数通常叫作0-1损失函数,可记为。学习
若是咱们统一考虑正、负样本,令 ,那么分类正确时,
必然始终为正值,不妨称其为绝对评分值,
是对分类是否正确的一个度量。则
,故
是关于
的分段函数。从最优化理论的角度来看,这个函数没法求梯度或次梯度,所以须要找它的近似来优化。这个近似
的基本标准是:始终为非负值;当它很小时,
很小。优化
评分值是属性的线性组合,从另外一个角度看,评分值也是关于权值
的线性组合。通常的,咱们将
变换到新的特征空间获得
。则评分值为
。上述分析基本不变,只是模型的复杂度更高了。如下分析如无特别说明仍在原空间进行。3d
要求评分值与目标值同号,若是目标定得更加狭隘一些,能够令评分值直接为,这是线性回归问题,损失函数使用偏差平方(能够作直观的理解,也能够认为样本的偏差符合正态分布,从极大似然的角度推导出,这不是本文的重点。)。注意到
,故偏差函数是关于绝对评分值
的二次函数。从图中能够看出
是始终大于
的,并且当
比较小时,
也比较小,因此能够做为
的近似。cdn
线性回归有封闭解,因此使用线性回归作二分类很是简单,可是效果通常不太好,为何呢?从
的曲线能够看出,当绝对评分值很大时,
应该为0,直观来讲,绝对评分值很大应该是区分度高的一件好事情,可是
却给与了更高的惩罚,这是不合理的。线性回归能够给出一个还不错的
值,能够用做其余算法的初始值。blog
感知机学习能够用以下的直观想法来理解:针对绝对评分值,当它为正数时,分类正确,咱们认为偏差为0,当它为负数时,咱们认为离0值越远,偏差越大,即,从
的曲线来看,也是
的一个近似,虽然它也是一个分段函数,可是是能够求次梯度的,
时,认为梯度为0,当
时,
,使用随机梯度降低法,
也就是说,只在出现评分错误时进行优化,这刚好就是感知机学习算法所作的工做。排序
对感知机学习的偏差函数,咱们能够进一步优化,咱们但愿绝对评分值要充分大,这样认为样本是正样本咱们才更加放心,考虑到是关于
可缩放的,不妨定义充分大为大于1。因而有
,这个损失函数被称为hinge损失函数。考虑结构风险,咱们的优化目标为
经过松弛变量法,就能够变为软间隔支持向量机,经过二次规划来求出模型。
从评分值的角度来理解,评分值充分大使得模型针对新的样本有较好的鲁棒性,这正是支持向量机比较优秀的地方。若是引入特征空间,则在支持向量机的求解过程当中要大量计算内积,将特征空间的内积简化为原空间的核函数能够引入核方法。
在值的基础上,咱们但愿它能算出一个几率,衡量分类正确的几率或者说程度。即将
的值域从
映射到
,那么sigmoid函数是个好的选择,它可求梯度并且在0处几率刚好为0.5。即
而后,咱们再根据这个sigmoid函数,再来模拟损失函数,咱们要求损失函数关于
递减,并且始终为正数,考虑几率求对数后再取负号,故
由图能够看出,它也是的一种近似。以对数损失函数为优化目标。
这是带正则化的Logistic回归,因为到处可微,所以可使用梯度降低法等最优化方法求解。
指数函数一样能够知足近似的基本条件,即损失函数定义为
。
指数损失函数结合加性模型,能够推导出AdaBoost算法。
所谓加性模型,能够这样来理解:假设咱们获得的特征空间中的d维向量对应的就是d个弱分类器,就是说比随机猜想50%的正确率高一点的分类器。所谓的Boost方法就是有效的组合这些弱分类器来构建强分类器。加性模型本质上依然是一个线性模型。依然有评分函数为
。(考虑到弱分类器自己能够有偏置,所以取
。)只不过这里的
表明一个弱分类器,而不是一个简单的属性变换(本质上看,也是一种属性变换)。
AdaBoost是一个逐步迭代的过程,假设通过轮迭代已经获得评分函数
,在第
轮迭代后获得
,则
,AdaBoost的优化目标是使得每一步获得的评分函数关于指数损失函数最小,即
该式的进一步推导此处再也不详述。
以上介绍了6种损失函数,他们都是关于评分值的单调非增函数,其中后面5种是关于0-1损失函数的近似替代,经过求解替代函数可否获得原问题的解,有深刻的研究,称为替代损失的“一致性”问题[3]。
此外,若是咱们要找出全部样本种的正例并排序,那么评分值应该在参与优化的时候就具有排序的特性,对数损失和指数损失是单调递减的,以它们为优化目标的模型计算出的评分值能够参与排序,其余几种损失函数不是单调递减的,所以相应的评分值不适合排序。