基于capped-l1范数的提高TWSVM算法鲁棒性的方法与流程

文档序号:16001005发布日期:2018-11-20 19:27阅读:816来源:国知局

技术领域

本发明涉及算法改进和数据处理领域,特别涉及一种基于capped-l1范数的提高TWSVM算法鲁棒性的方法。



背景技术:

支持向量机作为一个很好的工具,已经被广泛的应用到数据分类和回归问题上去了。其中包括生物信息、文本分类、图像处理等各个领域。近年来,Mangasarian和Wild提出了基于广义特征值的多平面近似支持向量机(Proximal SVM based 0n Generalized Eigenvalues,GEPSVM)。该算法通过求解两个广义特征值问题来求解两个非平行超平面。GEPSVM在保证较SVM更好的计算效率的同时,也可以得到较好的分类性能。源于GEPSVM的思想,2007年,Javadeva等人提出了孪生支持向量机(Twin SVM,TSVM).TSVM寻求两个非平行的最优分类面,使得每一个分类面靠近一类样本而远离其它类样本.TSVM适合于交叉分类面数据集的分类,且求解两个相对更小的二次规划问题(Quadratic Programming Problem,QPP),这使得TSVM的速度明显快于标准的支持向量机.至此以后,许多研究者在TWSVM基础上提出了不少算法。

但是,许多已存在的TWSVM模型在训练分类面时往往没有考虑到噪声数据,在现实应用中,很多数据都会有数据噪声,如果不去管这些噪声数据,会容易导致训练得到的分类平面有偏差,分类的精确度降低,算法的鲁棒性能不好。之所以噪声数据对于分类平面的决策产生影响是因为许多基于TWSVM上的模型采用的还是L2范数,L2范数通过平方操作会扩大噪声数据的影响作用。如果一个数据没有噪声,那这些算法的性能会非常好,但是,现实生活中,没有噪声的数据是不可能存在的。因此,在设计算法时,我们还要考虑到数据的噪声问题。很显然,如果数据中有许多噪声野值点,那么L2范数很不适用,基于L2范数的TWSVM模型算法也就很不适用。为了提高算法对于野值点的鲁棒性,我们提出了capped-l1范数的TWSVM,摒弃了L2的劣势,大大的提高算法的鲁棒性。



技术实现要素:

发明目的:针对现有技术中存在的问题,本发明提供一种基于capped-l1范数的提高TWSVM算法鲁棒性的方法,能够大大提高TWSVM算法的鲁棒性,并且在原始的数据集上也有较好的精度。

技术方案:本发明提供了一种基于capped-l1范数的提高TWSVM算法鲁棒性的方法,包括以下步骤:步骤一:输入原始数据矩阵M和参数C1、C2、ε1和ε2;所述数据矩阵M分为正数据矩阵H 和负数据矩阵G,其中,H∈Rm1×(n+1), G∈Rm2×(n+1),其中,m1和m2为所述数据矩阵M中的数据个数,n为所述数据矩阵M的数据维度;步骤二:将两个对角阵矩阵F和D初始化为单位矩阵;步骤三:根据所述正数据矩阵H、负数据矩阵G、参数C1、C2、ε1、ε2以及对角矩阵F和D,计算得到分类平面的参数w和b;步骤四:根据所述w和b,计算所述正数据矩阵H中的所有数据点到分类平面的距离,若有数据点大于ε1,则判断该点为野值点,将对应的所述对角矩阵F中的那一项值设置为smallval,smallval为一个接近零的值;根据所述w和b,计算所述负数据矩阵G中的数据点到所述分类平面的距离,若有数据点大于ε2,则判断该点为野值点,将对应的所述对角矩阵D中的那一项值设置为所述smallval;以此方法来更新对角矩阵F和D;步骤五:计算目标值obj。

优选地,在所述步骤四中,根据野值点将对应的对角矩阵F中的那一项值设置为smallval的计算方法如下:;根据野值点将对应的对角矩阵D中的那一项值设置为smallval的计算方法如下:

优选地,在所述步骤五中,所述目标值;其中,z=(w,b)T,e为一个m1×1的列向量,每个元素都为1。

进一步地,在所述步骤五之后,还包括以下步骤:步骤六:迭代所述步骤三-步骤五步直至所述目标值obj收敛;步骤七,确定最佳的分类平面的参数w和b。步骤三和步骤四的迭代更新设置使得本发明发能够得到最佳的分类平面的参数w和b,进一步提高TWSVM算法的鲁棒性和精度。

优选地,所述smallval=1e-5。

有益效果:

与传统TWSVM算法不同,本算法将capped-l1范式应用到目标函数中,使得该算法能够大大提高TWSVM算法的鲁棒性;它的原理是去掉那些噪声野值点对分类平面的决策的影响,即去掉这些野值点后再进行决策。此外,本发明因为在目标函数中的损失部分应用了capped-l1范数,因此不管一个点被错分的多么严重,这个函数的损失的值也不会变化太大,以此来提高算法的鲁棒性;最后,本发明还通过一套简单而有效的迭代求解方法,求解出一个局部最优值。

相比较传统的TWSVM算法,本发明基于capped-l1范式距离度量的TWSVM方法具有更好的鲁棒性,并且在原始的数据集上也有较好的精度;本发明选用了12个UCI数据,在相同数据集上,将本方法与TWSVM,WLTSVM,L1-GEPSVM,L1-NPSVM 和pTWSVM这5个算法进行精度差异比较,比较结果显示,本发明的方法在12个数据集中,有8个表现的比其它算法好,并且,在加入相同的噪声情况下,仍然在8个数据集上表现的比其它算法好。

附图说明

图1是基于capped-l1范数的TWSVM算法在数据集Haberman上的目标值迭代收敛过程的示意图;

图2为基于capped-l1范数的TWSVM算法在数据集Sonar上的目标值迭代收敛过程示意图。

图3为人为向交叉平面的数据中加入噪声点的情况下,本发明中基于capped-l1范数的TWSVM算法和其它五个算法的精度变化比较示意图;

图4为在不同的噪声因子情况下,本发明中基于capped-l1范数的TWSVM算法和其它五个算法的精度变化比较示意图。

具体实施方式

下面结合附图对本发明进行详细的介绍。

本实施方式提供了一种基于capped-l1范数的提高TWSVM算法鲁棒性的方法,包括以下步骤:

步骤一:输入原始数据矩阵M和参数C1、C2、ε1和ε2;数据矩阵M分为正数据矩阵H 和负数据矩阵G,其中,H∈Rm1×(n+1), G∈Rm2×(n+1),其中,m1和m2为数据矩阵M中的数据个数,n为数据矩阵M的数据维度;

步骤二:将两个对角阵矩阵F和D初始化为单位矩阵;

步骤三:根据正数据矩阵H、负数据矩阵G、参数C1、C2、ε1、ε2以及对角矩阵F和D,计算得到分类平面的参数w和b;

步骤四:根据w和b,计算正数据矩阵H中的所有数据点到分类平面的距离,若有数据点大于ε1,则判断该点为野值点,通过公式将对应的对角矩阵F中的那一项值设置为1e-5;

根据w和b,计算负数据矩阵G中的数据点到分类平面的距离,若有数据点大于ε2,则判断该点为野值点,通过公式将对应的对角矩阵D中的那一项值设置为1e-5;

以此方法来更新对角矩阵F和D;

步骤五:计算目标值obj,,其中,z=(w,b)T,e为一个m1×1的列向量,每个元素都为1。

步骤六:迭代上述步骤三-步骤五步直至目标值obj收敛;

步骤七,确定最佳的分类平面的参数w和b。

为了直观的显示本方法能够快速的收敛,本实施方式中列举了两个基于capped-l1范数的TWSVM算法在两个UCI数据集上的收敛性表现。如图1和2,从图1和2中可以发现,本方法可以很快的迭代收敛到一个稳定的值,说明基于capped-l1范数的TWSVM算法在计算和时间复杂度上来说都是可行的。

另外,本实施方式中人为向交叉平面的数据中加入了比较明显的噪声点,如图3示,

以此数据为例,比较了TWSVM, WLTSVM, L1-GEPSVM, L1-NPSVM, pTWSVM 和基于capped-l1范数的TWSVM算法在以上数据上的精度,分别是55.26%, 95.12%, 97.60%, 54.64%, 55.36% 和98.07%。很明显的,本方法(基于capped-l1范数的TWSVM算法)精度高于其他5个算法,其鲁棒性能更好。

此外,本实施方式对比了在不同的噪声比例情况下,基于capped-l1范数的TWSVM算法和其它五个算法的精度变化。如图4,从图4可以看出在不同噪声情况下,基于capped-l1范数的TWSVM算法不仅比其他算法精度要好,而且还比其它算法要平稳。虽然在噪声因子为0.25的情况下,TWSVM的精度和基于capped-l1范数的TWSVM算法的精度要一样,但是TWSVM表现的非常不平稳。此外,WLTSVM, L1-GEPSVM, L1-NPSVM和pTWSVM虽然在不同噪声影响下表现的很平稳,但是它们的平均精度为78.90%, 83.66%, 80.23% 和 77.67%,而基于capped-l1范数的TWSVM算法为86.00%。所以,最终,还是本方法(基于capped-l1范数的TWSVM算法)比较有优势。

上述实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1