林钧涛 肖燕珊 刘波
摘 要:
现有的一分类支持向量机算法基于优化最小间隔的思想,只考虑了样本靠近空间原点一侧的噪声,对噪声信息较为敏感。针对该问题,通过优化间隔分布思想,同时考虑样本靠近空间原点和远离空间原点两侧的噪声,提高一分类支持向量机算法的抗噪声能力。为此,提出了一种基于最优间隔分布的一分类学习方法(one-class optimal margin distribution machine,OCODM),该方法通过最大化间隔的均值和最小化间隔方差的方式来优化间隔分布。实验结果表明,相比于现有的一分类支持向量机算法,该方法具有更好的鲁棒性,是现有一分类支持向量机方法的有益补充,能够增强现有方法的抗噪声能力。
关键词:一分类学习;间隔分布;一分类支持向量机
中图分类号:TP181 文献标志码:A 文章编号:1001-3695(2023)09-028-2749-06
doi: 10.19734/j.issn.1001-3695.2022.12.0798
One-class optimal margin distribution machine
Lin Juntaoa, Xiao Yanshana, Liu Bob
(a. School of Computers, b. School of Automation, Guangdong University of Technology, Guangzhou 510000, China)
Abstract:
The existing one-class support vector machine algorithms are based on the idea of minimum margin. They consider only the noise close to the space origin and are sensitive to noise. To improve the anti-noise ability of the one-class support vector machine through the idea of optimal margin distribution, which considers both of the noise close to the space origin and that far from the space origin, this paper proposed a novel OCODM method. This method maximized the margin and minimized the margin variance to optimize the margin distribution. The experimental results show that compared to the existing one-class support vector machine algorithms, this method has better robustness, and it is a supplement of the existing one-class support vector machine algorithms and can enhance the anti-noise ability of existing methods.
Key words:one-class classification learning; margin distribution; one-class support vector machine
支持向量机(support vector machine,SVM)是经典的二分类学习算法之一,其基于结构化风险最小化和经验风险最小化原则,具有高泛化性能的优点。一分类支持向量机(OCSVM)是SVM在一分类方面的扩展。OCSVM的目标是训练一个分类器,该分类器可以将目标类的实例与非目标类的实例区分开来[1]。与SVM不同的是,OCSVM在训练过程中,只有目标类中的实例可用于训练超平面,它通过最大化目标类中的实例到原点的最小间隔来学习超平面。到目前为止,OCSVM已经取得了众多应用,包括人跌倒检测系统、医疗诊断、自动货币验证、视频显著性检测等。
迄今为止,研究人员已经提出了很多的OCSVM改进算法。例如,Bicego等人[2]提出了加权OCSVM算法,该算法根据训练集中每个实例的不同重要性,对实例进行加权。Yin等人[3]根据每个实例与训练实例中心之间的距离,修改了每个实例的惩罚系数。Zhu等人[4]提出了加权OCSVM的加权策略,在该加权策略中,权重由K最近邻(K-nearest neighbor,KNN)算法决定,即位于目标类中心附近的实例被赋予较大的权重,而距离目标类中心较远的实例则分配较小的权重。Xiao等人[5]设计了一个Ramp Loss 函数来代替OCSVM中的Hinge Loss损失函数,并利用约束凹凸过程(constrained concave-convex procedure,CCCP)解决了其优化问题。Xu等人[6]提出了基于重缩放Hinge Loss函數的OCSVM,并使用半二次优化技术对其进行了求解。
现有的OCSVM算法都是基于优化最小间隔的思想,即最大化从目标实例到原点的最小距离。与优化最小间隔思想不同,近年来,有研究[7]提出了优化间隔分布的思想。例如,Zhang等人[8]提出了面向二分类学习问题的最优间隔分布机(optimal margin distribution machine,ODM),该方法采取优化间隔分布的策略。随后,ODM被扩展到多分类学习[9]和多标签学习[10]。此外,优化间隔分布的思想也被应用于聚类学习[11]。文献[8~11]的实验结果表明,优化间隔分布有助于获得较好的分类结果。优化间隔分布的思想已被应用于二分类、多分类、多标签学习和聚类。但是,到目前为止,优化间隔分布在一分类学习方面还没有相关的工作。为此,本文将优化间隔分布的思想引入到一分类学习中,并提出了基于最优间隔分布的一分类学习方法。与传统的OCSVM不同,OCSVM通过最大化目标实例和原点之间的最小间隔来学习超平面,而OCODM是通过最大化目标函数中的间隔均值和最小化间隔方差来优化目标类的间隔分布,所得到的目标方程可以转换为标准的二次规划(quadratic programming,QP)问题进行求解。在真实数据上的实验结果表明,本文OCODM方法具有较好的鲁棒性,分类效果良好,是现有OCSVM算法的有益补充。
1 OCODM算法
1.1 OCODM目标方程
假设一分类数据集X有m个目标类实例,数据维度为d,X可表示为X=[(x1), (x2), …, (xm)]。在X中的第i个实例为(xi),其中,xi∈Euclid ExtraaBpd,(·)表示映射函数,将原始空间中的实例映射到更高维度的特征空间。那么,间隔方差和间隔均值可以表示为
2 实验及结果分析
2.1 对比方法
为了验证本文方法的有效性,OCODM将和以下几个常用的一分类算法进行对比:
a)一分类支持向量机(OCSVM)[1],其通过在特征空间中寻找训练实例和原点之间的最大间隔来构造超平面,将学习到的超平面用于预测未知实例。
b)支持向量数据描述算法(SVDD)[12],其在特征空间中学习一个紧凑的超球体,该超球体尽可能地将目标类的实例包裹起来,落在超球体以外的实例则被认为是异常类。
c)基于自适应损失函数的最小二乘一分类支持向量机(ALFLS-OCSVM)[13],该方法是基于最小二乘一分类支持向量机的方法,其使用自适应损失函数代替平方损失函数,增强了最小二乘一分类支持向量机的抗离群点能力。
d)加权OCSVM(WOC-OCSVM)[14] ,该算法基于距离的策略和密度的策略来对每个训练实例的误差加权,再将两种加权策略在学习模型中线性组合形成一个新的学习模型。
e)基于鲁棒 AdaBoost的一类支持向量机集成学习算法(RAEOCSVM)[15],它是基于AdaBoost的集成学习方法,基分类器是OCSVM。该算法将AdaBoost中的传统损失函数用平方损失和修正的指数损失函数的组合进行替换。
f)孤立森林(iForest)[16],它通过对样本点的孤立来检测异常值。该算法利用孤立树(iTree)的二叉搜索树结构来孤立样本。由于异常值的数量较少且与大部分样本的疏离性,异常值会被更早的孤立出来,即异常值会距离iTree的根节点更近。
2.2 数据集
在真实数据集上进行实验,数据集分别是图像数据集CIFAR[17]、手写数据集MNIST[18]和物体分类数据集COIL[19]。
a)CIFAR:它是一个包含60 000张彩色图像数据集,每张图像的大小为32×32像素,每个像素包含大小为0~255的三个RGB值,该数据集有10个不同的类别。在本实验中,选取前5个类别(即飞机、汽车、鸟、猫和鹿)作为目标类,并把这5个类别转换为一分类数据集。具体来说,分别将每一个类别看做目标类,其他9个类别看做非目标类,可以得到5个一分类子数据集,即CIFAR-1~CIFAR-5。
b)MNIST:该数据集由16 000张手写数字0~9的灰色图像组成。每个图像的大小为28×28像素。选择前5个类别(即手写数字0~4)作为目标类。跟CIFAR数据集类似,把每一个类别看做目标类,其他9个类别看做非目标类,可以得到5个一分类数据集,即MNIST-1~MNIST-5。
c)COIL:该数据集包含1 440张20个不同物体类别的图片。每一个类别有72张图片,取自于物体的72个角度,每5°拍摄一张,每张图片的大小为32×32像素。跟CIFAR和MNIST类似,在实验中,选取前5个类别作为目标类,将数据集划分为5个子数据集,即COIL-1~COIL-5。
2.3 实验环境和算法实现
在本实验中,实验运行的计算机硬件配置CPU为Intel CoreTM i5-11300H 3.10 GHz,RAM为16.0 GB,操作系统为Microsoft Windows 11,实验环境为MATLAB。在实验中,OCODM优化求解后得到的QP问题,采用MATLAB的QP工具包进行求解。
OCODM和其他六个对比算法的参数设置如下。在实验中,采用10折交叉验证来汇报实验结果,并且所有方法都采用线性核。在OCODM算法中,参数θ的选择范围为{0.1,0.2,…,0.9}, 参数C在{0.01,0.1,…,1000}中进行选择。在OCSVM算法中,参数ν的选择范围为{0.01,0.05,0.1,0.2,…,1}。在SVDD算法中,参数C在{2-7,2-6,…,27}中进行选择。在ALFLS-OCSVM算法中,参数C的选择范围为{10-3,10-2,…,103},参数α在{10-10,10-9,…,0, 0.1,…,1,2,…,10}进行选择,参数c的选择范围为{0.001,0.01,0.1, 0.2,…,1,2,…,10};在WOC-OCSVM算法中,参数γ的选择范围为{0,0,1,…,1},参数ν在{10-4, 10-3,…,103}
中进行选择,参数k的选择范围为{2,4,6,…,20}。在RAEOCSVM算法中,基分类器参数ν与OCSVM算法中的ν取值相同,基分类器的权重为20。在iForest算法中,参数ψ为256,参数t为100。
2.4 实验结果
表1中汇报了OCODM算法和其他对比算法在CIFAR、MNIST和COIL子数据集上的AUC值和标准差。从表中可以发现,本文方法OCODM比其他对比算法在全部数据集上都获得了更好的分类性能。以CIFAR-5子数据集为例,OCSVM、SVDD、ALFLS-OCSVM、WOC-SVM、RAEOCSVM和iForest的平均AUC值分别为0.612、0.591、0.646、0.622、0.637和0.591,本文方法OCODM的平均AUC值为0.706。OCODM算法相比于其他对比算法在AUC值上获得了0.060~0.115的提升。
WOC-SVM、RAEOCSVM、ALFLS-OCSVM、OCSVM和SVDD都是基于OCSVM模型的一類分类方法。从表1中还可以看出,一方面,WOC-SVM、RAEAOCSVM和ALFLOCSVM的性能优于OCSVM和SVDD。例如,在表1中的MNIST-4子数据集上,WOC-SVM、RAEOCSVM和ALFLS-OCSVM的平均AUC值分别为0.731,0.772和0.751,高于OCSVM的0.712和SVDD的0.699。WOC-SVM、RAEOCSVM和ALFLS-OCSVM是基于OCSVM提出的,它们通过设计不同的策略来减少噪声对分类器的影响。另一方面,OCODM算法获得了最高的分类精度,其性能优于WOC-SVM、RAEOCSVM和ALFLS-OCSVM算法。以COIL-3子数据集为例,OCODM算法的AUC值为0.968,明显高于WOC-SVM的0.917、RAEOSVM的0.924和ALFLS-OCSVM的0.913。尽管WOCSVM、RAEOCSVM和ALFLS-OCSVM采用了不同的策略来减少噪声的影响,但它们都是基于OCSVM提出的。在OCSVM及其变体方法中,通过优化最小间隔来学习分类器,即最大化实例到原点的最小距离,而目标类的总体分布没有得到充分考虑。与这些方法不同,OCODM将目标类的分布信息融入到一分类分类器的学习过程中,这使得OCODM算法具有更好的泛化性能,并导致更准确的分类结果。此外,跟OCSVM类似,本文方法是一个基础分类器,可作为WOC-SVM、RAEAOCSVM和ALFLS-OCSVM的基础分类器来进一步提高它们的泛化性能。
2.5 间隔分布分析
图2给出了OCODM和经典的最大间隔方法OCSVM的间隔分布,可以观察到OCODM的曲线总是位于OCSVM的右侧,OCODM方法比OCSVM方法获得更大的间隔,这意味着OCODM具有更好的泛化性能。
2.6 参数敏感度分析
OCODM算法有三个参数,分别是μ、θ和C。参数θ与算法的稀疏性相关,参数C是为了权衡间隔均值和间隔方差。为了研究OCODM受参数变化的影响情况,将μ设置为1,并分析参数θ和C对OCODM算法性能的影响。图3展示了OCODM算法性能在不同参数组合下的变化情况。本文选择在COIL-2、COIL-4、CIFAR-5和MNIST-1数据集上进行参数敏感性分析。从图2可以看出,OCODM算法对参数C比较不敏感。此外,当参数C选择相对大的数(100或者1 000),并且参数θ选择0.4或者0.6時,OCODM算法可以获得更好的分类性能。
2.7 运行时间分析
表2给出了在CIFAR、MNIST和COIL数据集上的平均训练时间。从表2可以看出:a)OCSVM和SVDD的训练时间最快。它们只需要求解一个规模为m的QP问题,这里,m为训练实例数量;b)相比于OCSVM和SVDD,WOC-SVM、OCODM和ALFLS-OCSVM方法的训练时间较长,这是因为WOC-SVM方法需要额外的数据预处理时间,计算每一个实例的K近邻和权重,再训练OCSVM分类器。OCODM方法需要求解一个规模为2m的QP问题。ALFLS-OCSVM方法采用了自适应损失函数,需要多次循环调整拉格朗日乘子。最后, RAEOCSVM方法的训练时间最长。RAEOCSVM采用了循环迭代的框架,需要多次训练OCSVM分类器,训练时间较长。
2.8 不同噪声水平对算法性能的影响
为了研究不同噪声水平对算法性能的影响,需要对数据集添加额外的噪声信息。这里,使用Aggarwal 等人[20] 的相同方法来生成噪声信息。首先,计算在第i维中整个数据的标准差为 σ0i;其次,为了模拟不同维度上的噪声差异,定义第 i 维标准差σi从范围 [0, 2σ0i] 中获取;再次,将标准偏差为σ0i的随机分布噪声添加到第 i维;最后,根据相应的噪声百分比随机选择若干实例,并将这种噪声信息添加到被选择的实例中。
图4显示了在COIL-1、COIL-5、MNIST-2和CIFAR-1数据集上,噪声百分比以5%为步长,从5%变化到30%的过程中AUC值的变化情况。可以看出,从总体趋势来看,随着噪声百分比的增加,7种方法的分类性能均有所下降。此外,OCODM在这些数据集上都获得了更好的抗噪声效果,具有更好鲁棒性。
2.9 在真实数据集上的分析
为了验证OCODM方法的有效性,对滚动轴承实验台上的轴承故障数据进行分析,实验数据来自美国 Case Western Reserve University 电气工程实验室。该实验室利用电火花加工的方法在测试轴承上产生不同故障等级,分别是内圈故障、滚动体故障和外圈滚道故障。使用加速度传感器来收集四种不同工况(即空载、轻载、满载和超载)下的振动数据。振动信号通过一个16通道的采集器来记录,并在MATLAB环境中进行数据处理,所有的数据文件都被保存成MATLAB格式。在实验中,选择采样频率为12 kHz的数据,采样长度为 512点。为了达到较好的分类效果,训练实例应包括多种正常工况下的数据,以尽可能地代表其真实分布。因此,训练集包含了四种不同工况(即空载、轻载、满载和超载)下的120组正常实例;测试集包含了四种不同工况下的120组正常实例、60组内圈故障实例、60组滚动体故障实例和60组外圈故障实例。
由于测试集包含了四个类别的数据类型,即正常实例、内圈故障实例、滚动体故障实例和外圈故障实例,为了更好地展示不同算法在不同类型数据上的分类表现,表3给出了在四个类别数据上的识别率。可以看出,OCODM分类器获得相对较好的分类性能,对正常实例的识别率为92.50%,内圈故障和外圈故障的识别率均达到100%,滚动体故障的识别率为93.33%,较好地识别了正常实例和故障实例,得到了较高的诊断准确率,在故障诊断中利用该方法能够有效识别出设备的运行状态,从而避免发生重大损失。
3 结束语
本文提出了一种基于最优间隔分布的一分类学习算法,该算法首次将优化间隔分布的思想引进到一分类的学习中。通过最大化间隔均值和最小间隔方差的思想,将目标类的分布信息融入到一分类分类器的学习过程中。与OCSVM类似,OCODM算法是一个基础分类器,可以将其结合到现有的基于OCSVM的方法中,以进一步增强其分类性能。在基准一分类数据集和真实数据集上进行了实验,实验结果表明,OCODM算法分类效果良好,具有较好的鲁棒性,是现有一分类支持向量机算法的有益补充。
但是,OCODM算法存在一定的局限性。该算法需要求解规模为2m的QP问题,因此,其时间复杂度为O(4m2),运行时间相对较长。为了加快该算法的优化求解,在未来的工作中,将尝试扩展现有的支持向量机快速优化算法,例如dual coordinate descent算法[21]等,用于加快OCODM优化问题的求解,提高运行效率。
参考文献:
[1]罗力维. 基于一分类支持向量机的无线传感器网络离群值检测算法研究 [D]. 南昌: 南昌大学,2022. (Luo Liwei. Research on outlier detection algorithm for wireless sensor networks based on one classification support vector machine [D]. Nanchang: Nanchang University,2022.)
[2]Bicego M,Figueiredo M. Soft clustering using weighted one-class support vector machines [J]. Pattern Recognition,2009,42(1): 27-32.
[3]Yin Shen,Zhu Xiangping,Chen Chen. Fault detection based on a robust one class support vector machine [J]. Neurocomputing,2014,145(5): 263-268.
[4]Zhu Fa,Yang Jian,Gao Cong,et al. A weighted one-class support vector machine [J]. Neurocomputing,2016,189(12): 1-10.
[5]Xiao Yingchao,Wang Huangang,Xu Wenli. Ramp loss based robust one-class SVM [J]. Pattern Recognition Letters,2017,85(1): 15-20.
[6]Xu Guibiao,Cao Zheng,Hu Baogang,et al. Robust support vector machines based on the rescaled hinge loss function [J]. Pattern Re-cognition,2017,63: 139-148.
[7]张腾. 最优间隔分布学习机 [D]. 南京: 南京大学,2019. (Zhang Teng. Optimal margin distribution machine [D]. Nanjing: Nanjing University,2019.)
[8]Zhang Teng,Zhou Zhihua. Optimal margin distribution machine [J]. IEEE Trans on Knowledge and Data Engineering,2020,32(6): 1143-1156.
[9]Zhang Teng,Zhou Zhihua. Multi-class optimal margin distribution machine [C]//Proc of the 34th International Conference on Machine Learning. [S.l.]: JMLR.org,2017: 4063-4071.
[10]Tan Z H,Tan Peng,Jiang Yuan,et al. Multi-label optimal margin distribution machine [J]. Machine Learning,2019,109(9): 623-642.
[11]张腾,黎铭,金海. 面向半监督聚类的最优间隔分布学习机 [J]. 中国科学: 信息科学,2022,52(1): 86-98. (Zhang Teng,Li Ming,Jin Hai. Optimal margin distribution machine for semi-supervised clustering [J]. Chinese Science: Information Science,2022,52(1): 86-98.)
[12]Tax D M J,Duin R P W. Support vector data description [J]. Machine Learning,2004,54(1): 45-66.
[13]Xing Hongjie,He Zichuan. Adaptive loss function based least squares one-class support vector machine [J]. Pattern Recognition Letters,2022,156: 174-182.
[14]Zhao Yongping,Huang Gong,Hu Qiankun,et al. An improved weighted one class support vector machine for turboshaft engine fault detection [J]. Engineering Applications of Artificial Intelligence,2020,94(9): 103796.
[15]Xing Hongjie,Liu Weitao. Robust AdaBoost based ensemble of one-class support vector machines [J]. Information Fusion,2020,55(3): 45-58.
[16]Liu F T,Ting Kaiming,Zhou Zhihua. Isolation forest [C]// Proc of the 8th IEEE International Conference on Data Mining. Piscataway,NJ: IEEE Press,2008: 413-422.
[17]Krizhevsky A,Hinton G. Learning multiple layers of features from tiny images [EB/OL]. (2009). https://learning2hash.github.io/publications/cifar2009learning/.
[18]LeCun Y,Bottou L,Bengio Y,et al. Gradient-based learning applied to document recognition [J]. Proceedings of the IEEE,1998,86(11): 2278-2324.
[19]Nene S A,Nayar S K,Murase H. Columbia university image library (coil-20),Technical Report CUCS-005-96 [R]. [S.l.]:Columbia University,1996.
[20]Aggarwal C,Philip S Y. A framework for clustering uncertain data streams [C]// Proc of the 24th IEEE International Conference on Data Engineering. Piscataway,NJ: IEEE Press,2008: 150-159.
[21]Chou H Y,Lin P Y,Lin C J. Dual coordinate-descent methods for linear one-class SVM and SVDD [C]// Proc of SIAM International Conference on Data Mining. 2020: 181-189.
收稿日期:2022-12-19;修回日期:2023-02-20 基金项目:国家自然科学基金资助项目(62076074)
作者简介:林钧涛(1996-),男,广东汕头人,硕士研究生,主要研究方向为机器学习(linjuntao0824@163.com);肖燕珊(1981-),女,广东中山人,教授,博士,主要研究方向为机器学习;刘波(1978-),男,河南鶴壁人,教授,博士,主要研究方向为支持向量机