单分类支持向量机用于样本不平衡数据集建模研究
2020-06-29吴疆岳贤亮董婷蒋平
吴疆 岳贤亮 董婷 蒋平
摘 要:主要研究应用单分类支持向量机(One-class Support Vector Machine,OneSVM)在不平衡样本数据集的建模问题。首先从UCI 获得Abalon数据集,随机挑选400正样本和400负样本构建训练集,交叉验证方法用于OneSVM 分类器训练,模型对数据集的预测精度达到98.00%,与标准SVM分类器对此数据集83.10%的预测正确率相比具有明显的竞争力。然后在样本数据不平衡数据机上训练加权SVM对负样本的预测精度为76.70%,模型对负样本不具有稳定性。实验结果表明单分类支持向量机在样本数目失衡的学习问题中具有良好的泛化能力,同时单分类支持向量机只用一类样本训练分类器,在算法的复杂度上也具有优势。
关键词: 支持向量机; 单分类支持向量机; 预测偏置
中图分类号: TP 311
文献标志码: A
Abstract: The purpose of this article is to study the performance ofone-class support vector machine (OneSVM) used in unbalanced dataset prediction. Firstly, the Abalon dataset was obtained for UCI, in which 400 positive and negative samples were selected to construct training datasets, cross-validation method was employed to train OneSVM classifiers, 98.00% accuracy was obtained and the results indicates more promisingcompared with the accuracy 83.10% obtained by using SVM methods. Secondly, an unbalanced dataset was constructed to train right-SVM; the specificity accuracy 76.70% showed the model was lack of stability. The results indicate OneSVM has great generalization in unbalanced dataset learning problems, where, OneSVM is only trained on single class samples that intend to more superior in the complexity.
Key words: support vector machine; OneSVM; prediction bias
0 引言
支持向量機是基于统计学习理论实现的小样本学习算法,核心思想是实现最大间隔分类从而降低模型的置信范围,引入核函数对数据空间进行升维从而解决线性不可分问题在超平面上变得线性可分。支持向量机设计应用与二分类问题,在许多领域的应用取得巨大的成功。很多研究者针对不同的问题提出了多种改进算法,如最小二乘支持向量机(Least Square SVM,LSSVM),它遵循结构风险最小化的原则[1]。张学工教授提出了中心支持向量机(Central SVM,CSVM)用于回归分析[2]。此后,林智仁教授设计并开发了较为完善的Libsvm软件工具包[3]。
然而在实际应用中,很多的机器学习问题都是小样本学习问题,无法获得大量的样本数据,或者存在某类样本无法获得的情况,诸如入侵检测、敌我识别往往只能获得一类样本。因此可以应用于单分类问题的支持向量机算法就显得尤为重要,Schlkopf设计出了单类样本学习的支持向量机算法(OneSVM)[4],在很多应用中取得巨大的成功。
1 材料与方法
1.1 支持向量机(SVM)
SVM的数据描述就是找到一个最优分类面,要求能把两类样本没有错误地分开并且分类间隔保证最大。前者是逼近经验风险最小(模型对训练集样本能正确分类);使分类间隔最大实现置信范围最小,从而逼近真实风险最小。SVM可以描述为求解的一个优化问题,如式(1)。
1.2 单分类支持向量机(OneSVM)
OneSVM只在一类样本集上训练分类器[5]。在二类问题中常常出现这样的情况,正样本容易收集而负样本很少或者收集需要付出更多的成本,标准SVM算法根本无法有效解决这样的问题[6]。OneSVM可以看作是解决两类样本分类问题的特例,只有正样本而负样本很少,或者几乎没有负样本的情况下,单分类支持向量机要求找到这样一个超平面,这个超平面可以把正样本完全分开并使得最优分类面距离坐标原点的间隔最大,OneSVM可以描述为求解的一个优化问题[7],如式(2)。
1.3 数据
在本文中,所用数据来源于机器学习标准数据库(UCI Machine Learning Repository),名称为Abalone(鲍鱼数据库)由塔斯马尼亚大学的计算机科学部门在1995年捐赠。鲍鱼标准数据集[5]共收有1 528条雄性鲍鱼数据和1 342条幼年体鲍鱼数据。每条数据由8个属性组成分别为Length、Diam、Height、Whole、Shucked、Viscera、Shell和Rings。我们将雄性鲍鱼作为正样本(Positive samples),幼年体鲍鱼作为负样本(Negative samples)。随机在正样本和负样本中各选取400条数据作为训练集,验证模型对雄性、幼年体鲍鱼的预报能力。列出鲍鱼数据特征统计信息,如表1所示。
2 实验结果与讨论
2.1 模型性能评价参数
引入四种常用的分类器性能评价指标准确率(Accuracy, Acc)、灵敏度(Sensitivity,Se)、特异性(Specificity, Sp)来评价模型的预报能力和稳定性,如式(3)—式(5)。
其中TP(True Positive)是正样本数据被模型预测为正类的样本数目,TN(True Positive)是负样本数据被模型预测为负类的样本数目,
FP(False Positive)是负样本数据被模型预测为正类的样本数目,FN(False Negative)是正样本数据被模型预测为负类样本数目。Acc表示数据集整体的预测准确度;Se表示正样本的预测精度;Sp表示出负样本的预测精度。
2.2 支持向量机分类法用于鲍鱼数据建模
本实验通过20-fold交叉验证的方式来对鲍鱼数据进行建模,在训练分类器模型时,遵循正负样本平衡的原则,即在选取的训练集中正样本的数量与负样本的数量相等。由于鲍鱼原始数据量较大,因此本实验随机选取正负样本各400条,训练支持向量机分类器,灵敏度为77.0%、特异性为89.3%、准确率为83.1%、马修相关系数为0.667 5。本分类器模型有预测偏置(灵敏度与特异性相差超过10%),故需再寻求新的实验方式验证,实验结果如表2所示。
2.3 支持向量机对失衡鲍鱼数据集建模
本实验验证支持向量机算法在正负样本数目失衡数据集上的泛化能力,在3.2节所用实验数据基础上随机挑选300条正样本和30条负样本构建失衡数据集,20-fold交叉验证方法用来训练支持向量机分类器,灵敏度为99.0%、特异性为76.7%、准确率为97.0%、马修相关系数为0.807 4。本分类器虽然准确率高达97.0%但是存在严重预测偏置,且预测偏置高达22.3%,这说明分类器对负样本存在欠拟合问题,导致不能模型不具有稳定性,实验结果如表3所示。
2.4 加权支持向量机对失衡鲍鱼数据集建模
为了解决支持向量机算法在处理正负样本数目失衡数据集上的预测偏置问题,从过对核函数矩阵正负样本数据加权的方式在3.3节的数据集上训练SVM分類器,灵敏度为95.0%、特异性为86.7%、准确率为94.2%、马修相关系数为0.7117。本分类器模型虽然准确率达到94.2%,但是预测偏置依旧存在,达8.3%,但比3.3节中模型预测偏置要小,实验结果如表4所示。
2.5 单分类支持向量机对鲍鱼数据建模
支持向量机算法适用于两类样本的分类问题,而在实际应用中往往会面对正负样本不平衡的情况,如入侵检测、敌我识别。在这时支持向量机就无法对数量较少的样本取得良好的预测精度。单分类支持向量机是一种无监督的学习方法,它通过计算样本特征空间的概率密度分布的方法实现对样本的划分。在给定的训练样本中,单分类支持向量机训练一个决策函数,如果它落入概率密度区域,则被判定为正样本,没有落入概率密度区域,则被判定为负样本。单分类支持向量机使正常类数据在特征空间中的像与原点以最大间隔分开,如图1所示。
在本次实验中,在3.2节的数据集上,对各为400条样本正负负样本数据集上训练单分类支持向量机,同样对应用20-fold交叉验证方法获得最优模型,对正负样本的预测精度为98%,比较四种方法对鲍鱼数据建模结果,如表5所示。
由实验结果可以得出,虽然二分类算法对失衡鲍鱼数据建模的整体准确率高达97.0%,但是会出现预测偏置的情况,加权法虽然可以使分类器的预测偏置缩小,但是是牺牲了数目较大的样本类的预测精度(灵敏度从99.0%下降到95.0%),而单分类支持向量机在本实验中表现出良好泛化能力,98%的预测精度具有明显竞争力,并且能有效解决分类器在样本不平衡情况下的预测偏置问题。
3 总结
标准支持向量机在解决样本数目失衡学习问题时会发生欠拟合情况,分类器模型对正样本与负样本的预测精度会出现偏置,不具备较好的稳定性和推广性[8]。加权的方法可以有效解决支持向量机分类器预测偏置问题,但是这种优化是通过平衡模型灵敏度和特性而实现的,不能从本质上解决分类器的鲁棒性问题。单分类支持向量机算法对样本数目不平衡数据集的学习问题表现出良好的泛化能力,为解决同类问题,尤其是极致情况下(某类样本无法获得,只有正样本或负样本)的无监督学习问题有着巨大的适应性。
参考文献
[1] 袁凯.多视角协同训练算法研究[J].西安电子科技大学学报,2013,18(1):45-48.
[2] 许良凤,徐小兵,胡敏,等.基于多分类器融合的玉米叶部病害识别[J]. 农业工程学报,2015(14):194-201.
[3] 邹晴.多分类器融合的文本分类研究[D].长沙:湖北工业大学,2015.
[4] 吴巾一,周德龙.人脸识别方法综述[J].计算机应用研究, 2009(9):3205-3209.
[5] 陈善学,尹修玄,杨亚娟.基于码字匹配和引力筛选的半监督协同训练算[J].武汉大学学报(信息科学版),2015(4010):1386-1391.
[6] 薛贞霞,刘三阳,刘万里.改进的渐进直推式支持向量机算法[J].系统工程理论与实践2009(5):142-148.
[7] 廖东平,姜斌,魏玺章,等.一种快速的渐进直推式支持向量机分类学习算法[J].系统工程与电子技术, 2007(1):87-91.
[8] 冯慧敏.多分类器融合中的模糊测度研究[D].石家庄:河北大学,2005.
(收稿日期: 2019.08.23)