1、第 卷第 期重庆邮电大学学报(自然科学版)年 月 ():不平衡数据分类问题的基于间隔放大损失的支持向量机收稿日期:修订日期:通讯作者:鲁淑霞 基金项目:河北省科技计划重点研发项目();河北省自然科学基金():();()王 众,鲁淑霞,(河北大学 数学与信息科学学院,河北 保定;河北省机器学习与计算智能重点实验室(河北大学),河北 保定)摘 要:针对不平衡数据分类问题,提出了一种带有间隔感知标签分布损失函数的支持向量机,称为基于间隔放大损失的支持向量机(,)。考虑各类样本的分布情况以及数据不平衡比,设计了一种间隔放大损失函数,最小化基于间隔的泛化误差界;将间隔放大损失函数应用于 模型中,增强了少
2、数类样本对分类超平面的影响,实现对少数类样本的准确分类。在 和 数据库上的实验表明,在不平衡数据分类精度和时间效率上均优于其他 种对比方法,实现了对不平衡数据的有效分类。关键词:非平衡;间隔;鲁棒性;支持向量机()中图分类号:文献标志码:文章编号:(),(,;(),):,(),:;()引 言在现今社会发展过程中,机器学习领域得到了飞速的发展,其中,针对不平衡数据分类的研究一直是机器学习领域的热点。在过去的几十年里,机器学习领域的专家学者针对不平衡数据分类问题提出了许多方法。这些方法基本上可分为数据级方法和算法级方法两类。数据级方法主要通过改变多数类或少数类样本数量(多数类欠采样法或少数类过采样
3、法),使各类样本数量平衡后,再使用传统分类器分类。欠采样法对于去掉的多数类样本若进行随机选取,可能会丢失较为重要样本信息。所以,大多数欠采样方法会使用一些启发式的方法。等使用 均值方法对多数类样本聚类,聚成与少数类数量相同个数的簇,用各簇的聚类中心或者聚类中心的最近邻样本来替代各簇内的样本。但欠采样法都会或多或少地存在信息缺失的问题,过采样方法则不会。通过寻找所有少数类样本的 近邻并对近邻进行随机选取,在该样本与近邻样本之间的线段上生成新样本,实现与多数类样本数量相同。但过采样方法的时间复杂度普遍过高,而且容易改变原始样本分布,影响分类效果。算法级方法是对传统分类器进行修改,使传统分类器可以直
4、接对不平衡数据进行精准分类。支持向量机(,)是经典的分类器之一,近些年有许多 的改进算法。针对不平衡数据分类的改进,主要是修改优化模型改变数据分布,或修改损失函数使分类超平面向多数类偏移。等提出将不同类别样本分开处理,人为地分配不同损失;等则提出了一种基于熵的模糊隶属度评估方法并引入到损失函数,使少数类样本拥有相对较大的损失值。该方法考虑了样本分布,但模糊隶属度的计算复杂度过高;等将密度权值引入到松弛变量或正则化项中,但密度权值需要寻找所有样本的 近邻,因此,同样会有较高的计算复杂度;等通过对类内分散矩阵分配不同的权值来改变多数类和少数类样本的分散性,使少数类样本更有聚集性;等通过各个样本在高
5、维空间中到各自类别中心的距离提出亲和力的概念,依据亲和力找出离群样本、多数类样本的边界点和类概率,使少数类和多数类样本得到不同的损失值,但该算法对于亲和力的确定同样要花费较多的时间。为了实现传统 对不平衡数据高效精准的分类,提出了间隔放大损失,并应用于 模型中。本文工作主要贡献是提出了一种新的损失函数,可以根据样本分布,给样本分配不同的损失,实现各类样本间隔最大化以及间隔的泛化界最小化;并将基于间隔放大损失应用于 模型中,提出了一种简单高效的不平衡数据分类的 模型基于间隔放大损失的(,)。通过在公共数据集上的实验表明,针对不平衡数据分类具有良好的性能。相关工作 算法支持向量机通过使各类样本间隔
6、最大化来寻找一个分离超平面,再通过超平面将各类样本分开。超平面表示为()()()式中:(;)为法向量,是分离超平面的权值向量;是模型的偏差量。“软间隔”支持向量机二次优化模型表示为,(,)()(),()式中:为松弛变量;是惩罚系数,限制间隔和误差容忍度之间的关系。为了方便求解,对()式进行优化,将约束条件结合到目标函数之中,原优化模型转化为,(,)(,()()由于在现实世界中,很多样本都不是线性可分的,因此,支持向量机使用核函数 (,)(),()()()。下面引入表示定理 ()()()式中:(),(),();,。通过()式,可以得到 ,。由此得 ,其中,核矩阵为,具体表示为()()()()()
7、()()()把原问题转化为对偶问题,()式变为()(,()()第 期 王 众,等:不平衡数据分类问题的基于间隔放大损失的支持向量机 基于方差减小的随机梯度下降方法 有很多求解方法,基于方差减小的随机梯度下 降(,)是最具代表的求解方法之一。在迭代过程中,它通过外循环计算全梯度,通过内循环计算随机选取 点的梯度,通过 个梯度值对梯度进行更新,直到梯度达到临界值,结束算法。算法具有结构简单,占用空间小的特点,主要的迭代公式表示为 ()(?(?)()()式中:()为第 个样本进行到内部循环次数迭代的梯度值;为步长;?为全梯度;为上一次内循环的梯度;?为上一次外循环最终得到的梯度。的具体算法如下。算法
8、 输入:数据集,外部循环次数,内部循环次数;输出:?。初始化:?,?计算目标函数在?处的全梯度?,随机取 个样本,计算该样本的 个梯度值(?)和()更新梯度 ()(?(?)?I1 假设外循环迭代次数为,内循环迭代次数为,该算法时间复杂度与内外循环次数有关,为()。间隔放大损失间隔放大损失主要由标签分布感知间隔损失和放大系数组成。考虑了样本分布对 分类的影响,引入了标签分布感知间隔损失;基于 性质,进一步引入了放大系数。假设在训练和测试时,类条件分布为(),则(),其中,。表示从两类样本均匀采样的平衡数据分布。对于一个模型,在二分类训练集 (,),(,),(,)中,。(,),(,)。为 类的样本
9、个数。在平衡分布情况下的 标准误差表示为(,)()()()同理,正类的误差被定义为(,)()(),负 类 的 误 差 被 定 义 为(,)()()。将样本(,)的间隔定义为(,)()()()定义 类的训练间隔为(,)()得到两类之间的间隔为,。第 类样本的硬间隔损失定义为,(,)()()()将定义为一个函数类,则第 类样本间隔的经验 复杂度为()()()()()式中,是,均匀分布的独立同分布向量。经验 复杂度衡量了 在上与随机噪声关联度的期望,描述了 的复杂度。若()是的某个适当的复杂性度量,则训练集样本分布和测试集样本分布为()。当测试样本分布和训练样本分布都不平衡时,不平衡测试样本误差为(
10、)()去掉恒定项的不等式用表示。可以发现,该误差并不考虑各类样本的总体分布,只是通过各个样本的间隔和总体的样本个数来获得的。因此,可以基于此来设计针对于不平衡数据分类的损失函数。应用基于间隔的泛化界(文献的),该泛化界是经验间隔损失、经验 复杂度与一个极小值之和。当训练数据的随机概率为(),和 均大于 时,的类平衡泛化 重 庆 邮 电 大 学 学 报(自然科学版)第 卷界为 ,()()()(,()()()()式中:为常数。通常,对于大部分(),复杂度可以被缩放为(),于是不等式()变为 ,()()()当训练数据的随机性具有高概率()时,将不等式()简化可得 ()()第 类的误差 为()()因此
11、,可以通过增加少数类样本的间隔来增加少数类样本的泛化误差界。但在增加少数类样本间隔的同时,要保证多数类样本间隔在安全的范围内。通过对不等式()优化可得()通过计算 和 的相对尺度来获取最优间隔。也即,假设,即使改变相同的偏差量,也可以最小化()式,因此,最优 和 满足()()()当不等式()取等时获得最优解,表示为()()式中,为常数。原始的软间隔 损失函数(损失)为 ()(),)()将最优间隔与 损失函数相结合,实现在 模型下,分类超平面向多数类训练样本适当移动,可以得到 ()(),()()式中,为一个超参,被称为间隔系数。但传统的 损失是不光滑的,这对于优化模型的求解会带来难度,对()式进
12、行平滑优化可以得到 ()()()()将该损失函数与 模型相结合,使 算法模型多数类和少数类训练样本间隔最大化,同时,分类超平面向多数类训练样本适当偏移。直接将该损失函数加入到 中,很多情况下,对于超平面的影响并不是十分显著,甚至会有失效的情况,原因是 的模型的输出可能非常小的。在少数类训练样本输出过小时,或者少数类与多数类训练样本数量相差不大时,()式的损失函数对于超平面的影响则会非常小。因此,引入一个放大系数。该放大系数通过对训练样本的分布考虑,将训练样本输出的分布与非平衡比相结合,对超平面偏移量进行适当的放大,实现模型对于不平衡数据集的普遍适用。通过对训练样本分布的考虑,放大系数为()()
13、()将()式与非平衡比综合考虑便可得到()()()()式中,。将()式与()式结合,得到了基于间隔放大损失,表示为 (,)(,)()()式中,。对()进行简化得 (,)(,)()()式中,。该损失保证了少数类样本比多数类样本获得相对更高的损失,分类超平面均可以向多数类训练样本偏移。为了更直观地显示损失函数第 期 王 众,等:不平衡数据分类问题的基于间隔放大损失的支持向量机的作用,人工地生成了两类一维不平衡样本,其中,多数类样本数量为,少数类样本数量为。各样本损失值图如图 所示。图 各样本损失值图 从图 可以看出,多数类和少数类样本损失均在特定范围内,将其应用于 模型中,则会具有一定的鲁棒性。优
14、化模型将正则化项和基于间隔放大损失函数相结合,便可以得到 的优化模型,表示为()(,)(,)()()式中,。为了简化参数选择,并保证损失函数始终为正,将原损失函数变为平方的形式。针对大多数据集都不是线性可分的情况,将原问题转化为对偶问题。依据表示定理可得,则()式转化为()()()式中:;为 的第 列。算法使用 方法来进行求解。在对优化模型()进行求解时,需用梯度进行计算,梯度公式表示为 ()()式中,。实验与结果分析实验环境为英特尔酷睿 处理器,内存,所用的编程语言为,版本为。实验主要包括实验参数的选择、与 个算法的对比实验和分析。实验均使用 折交叉验证的方法,将原始数据分为 份,每次选择其
15、中 份作为测试集,其余 份作为训练集。实验选用 数据库和 网站的 个公共数据集进行对比实验,其中,去掉了部分少数类样本,提高了非平衡比,其他均为原始数据集。数据集如表 所示,数据集样本数量为 ,非平衡比为。表 数据集 编号数据集样本数特征数不平衡比 混淆矩阵如表 所示。表 混淆矩阵 样本预测结果正类预测结果为负类正类样本负类样本依据表,各个不平衡算法针对不平衡数据分类评价指标如下。)召回率:();)精准率:();)特异度:();)度量:()();重 庆 邮 电 大 学 学 报(自然科学版)第 卷):;)()是接受者操作特征(,)曲线下的面积。曲线是由(,)坐标轨迹所形成的曲线。实验参数的选取在
16、 中,有 个参数需要进行自行设定,即惩罚系数 和间隔系数。此外,在处理线性不可分的数据集过程中,选取的核函数为高斯核,高斯核的数学表达式为(,)(),()()()式中,为高斯核的带宽参数,需要提前设定。为了研究不同的惩罚系数、间隔系数和带宽参数对 算法分类性能的影响,对表 中的 和 数据集进行了实验。并使用控制变量法,在对其中一个参数进行对比实验时,其他参数保持不变。在参数对比实验中,选取 度量和 作为评价指标。度量更侧重于少数类样本分类的准确性;则是分别对少数类样本和多数类样本的准确性的综合评价,以保证整个数据集分类的精准性。惩罚系数 对 性能影响如图 所示,其对 算法的性能影响不大,设置为(,)。间隔参数 对 性能影响如图 所示,针对不同的数据集(数据分布)必须选取适当的数值才可得到最好的结果,并且变化明显。因此,对于 算法的性能起到了决定性作用,这进一步说明了损失函数在 模型中可以最大化间隔,并对不平衡数据进行精准分类。高斯核带宽 对 性能的影响如图 所示,其对分类性能具有一定影响,带宽为 和 时,和 在 度量和 总体上取得最好性能,此处带宽设置为(,)。图 惩罚系数 对 性能的