基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法
Improved AdaBoost algorithm using group degree and membership degree based noise detection and dynamic feature selection
通讯作者:
收稿日期: 2020-03-12
基金资助: |
|
Received: 2020-03-12
Fund supported: | 国家自然科学基金资助项目(61906220);教育部人文社科资助项目(19YJCZH178);国家社会科学基金资助项目(18CTJ008);天津市自然科学基金资助项目(18JCQNJC69600) |
作者简介 About authors
王友卫(1987—),男,副教授,博士,从事机器学习、数据挖掘研究.orcid.org/0000-0002-3925-3422.E-mail:
为了提高AdaBoost集成学习算法的数据分类性能,提出基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法. 综合考虑待检测样本与邻居样本的相似度及与不同类别样本集的隶属关系,引入合群度和隶属度的概念,提出新的噪声检测方法. 在此基础上,为了更好地选择那些能够有效区分错分样本的特征,在传统过滤器特征选择方法的基础上提出通用的结合样本权重的动态特征选择方法,以提高AdaBoost算法针对错分样本的分类能力. 以支持向量机作为弱分类器,在8个典型数据集上分别从噪声检测、特征选择及现有方法比较3个方面进行实验. 结果表明,所提算法充分考虑了噪声样本和样本权重对AdaBoost分类结果的影响,相对于传统算法在分类性能上获得显著提升.
关键词:
An improved AdaBoost algorithm using group degree and membership degree based noise detection and dynamic feature selection was proposed in order to improve the performance of AdaBoost ensemble learning algorithm on data classification. Firstly, the similarity between a sample and its neighbor samples and the membership relationship between a sample and the categories were comprehensively considered. The conceptions of group degree and membership degree were introduced, and a new noise detection method was proposed. On this basis, for the purpose of selecting the features those can effectively distinguish the misclassified samples, a general and sample weight combined dynamic feature selection method was proposed based on the traditional feature selections of filters, improving the classification ability of AdaBoost algorithm on misclassified samples. Experiments were carried out by using support vector machine as the weak classifier on eight typical datasets from three aspects of noise detection, feature selection and existing algorithms comparison. Experimental results show that the proposed method comprehensively considers the influences of sample density and sample weights on the classification results of AdaBoost algorithm, and obtains significant improvement on classification performance compared to traditional algorithms.
Keywords:
本文引用格式
王友卫, 凤丽洲.
WANG You-wei, FENG Li-zhou.
集成学习是模式识别和机器学习领域研究的热点问题[1-2],它能够显著提高学习系统的准确性及泛化性能,因此受到了越来越多的关注. 在众多集成学习方法中,AdaBoost因具有实现简单、适应性强的优势成为当前主流算法之一. AdaBoost是由Freund和Schapire提出的用于二分类问题的集成分类方法[3]. 该算法根据弱分类器的分类效果自适应地改变训练样本权重,通过关注被弱分类器错分的样本获得新的分类器,从而将弱分类器提升为强学习器. AdaBoost.M1[4]、AdaBoost.M2[4]与AdaBoost.MH[5]等算法在AdaBoost基础上实现多分类问题求解. Zhu等[6]提出新的适用于多分类问题的方法SAMME. 该算法降低了弱分类器正确率的要求,因此无法有效提升最终强分类器的准确率. 在此基础上,杨新武等[7]提出SAMME_R算法,通过增加对弱分类器的限制保证了弱分类器的有效性.
目前,现有针对AdaBoost算法的研究主要包括噪声检测和分类器性能提升2个方面. 在噪声检测方面,楼晓俊等[8]根据样本K近邻中与其类别不一致的样本比率确定该样本是否可能为噪声. Cao等[9]提出基于K近邻去噪的AdaBoost算法. 算法通过统计某样本K近邻样本的预测类别来确定该样本是否为噪声样本,缺点在于忽略了样本的真实标签信息. 张子祥等[10]重新定义了样本距离评价函数,通过结合样本真实标签信息与基分类器对K近邻样本的预测结果实现噪声样本检测,但不足之处在于未考虑不同类别样本集密度可能不同的特点. 为了降低样本分布密度不均带来的影响,Yang等[11]提出邻居熵局部离群值因子的离群点检测算法. 该算法先使用改进的自组织映射(self organizing map,SOM)算法对数据集进行聚类,然后在每个聚类中计算样本的K近邻信息熵以实现离群点检测. 该算法能有效检测样本集边缘的噪声样本,但难以检测处于聚类中心附近的噪声样本.
在分类器性能提升方面,现有算法大多从特征选择、损失函数优化、弱分类器选择等角度展开研究,目的在于提升分类器的训练效率、分类精度及泛化能力. 姚旭等[12]利用粒子群优化(particle swarm optimization,PSO)算法寻找使得AdaBoost依样本权重抽取的数据集分类错误率最小的最优特征权重分布,依据此最优权重分布对特征随机抽样生成随机子空间并应用于AdaBoost的训练过程中,在增加分类器间差异性的同时保证了弱分类器的准确度. 为了避免噪声样本的影响,曹莹等[13]提出抗噪声损失函数,限制始终不能被正确分类的样本权值,防止算法过度聚焦于噪声或是奇异值样本点. Sun等[14]设计了新的多类别损失函数,并通过优化该函数获得弱分类器最佳权重,有效提升了算法的分类精度. 此外,为了结合不同分类器的优势,Yousefi等[15]将自适应神经模糊推理系统(adaptive network-based fuzzy inference system,ANFIS)、前馈神经网络(feed forward neural network,FFNN)和循环神经网络(recurrent neural network,RNN)作为弱分类器,有效提升了AdaBoost算法的分类精度. Chen等[16]提出基于多分类器组合的改进AdaBoost算法并将其用于分析土地的利用情况. 该算法通过实验确定支持向量机(support vector machine,SVM)、C4.5决策树和人工神经网络(artificial neural network,ANN)等分类器的权重,并对分类器加权组合以获得性能更强的弱分类器.
研究发现,现有的AdaBoost改进算法普遍面临以下问题:1)大多数噪声检测算法仅考虑待检测样本与其K近邻样本的相似性,忽略该样本偏离其所属类别的程度信息,导致评价结果受样本集分布影响严重;2)现有特征选择方法忽略样本权重的动态变化,难以捕获那些能够有效区分当前被错分样本的特征信息. 为此,本研究在现有AdaBoost算法的基础上,综合考虑样本集密度和样本权重的影响,提出改进的AdaBoost算法. 1)针对噪声检测过程中样本集密度的影响,提出基于合群度-隶属度的噪声检测方法,提高噪声检测的准确性;2)充分考虑AdaBoost算法迭代过程中样本权重的动态变化,提出通用的基于传统过滤器的动态特征选择方法,以提高针对错分样本的分类能力.
1. 传统AdaBoost算法
算法1. 传统AdaBoost算法
输入:训练样本集St,标签集Y,弱分类器h,St所含样本数M,样本权重矩阵D,迭代次数T.
输出:最终分类器H.
1. For i=1∶1: M
2. 初始化样本si的权值:D1, i=1/M.
3. end for
4. fort=1∶1∶T
5. 随机从训练集St中选择子样本集S,训练得到弱分类器ht,计算加权错误率:
式中:ht(si)为使用ht预测的si的类别.
6. 计算弱分类器ht的权重:
7. 更新训练集中每个样本的权值:
8. Fori=1∶1∶M
式中:Zt为归一化因子,即
9. end for
10. end for
11. 得到最终的强分类器H. 针对样本s,其类别为
2. 本研究算法设计
2.1. 基于合群度-隶属度的噪声检测方法
Cao等[9]根据样本邻居节点被错分的可能性判定其是否为噪声,但是该方法忽略了样本自身真实标签的影响. 楼晓俊等[8]根据样本邻居中与其类别不一致的样本比率确定该样本是否可能为噪声,该方法针对特定情况的噪声样本识别效果较好,但是未考虑不同类别样本集密度可能不同的特点. 如图1所示,设C1类样本和C2类样本在去噪前对应的分类边界为L1,邻居样本数量k=5,则由文献[8]知,样本s将被识别为噪声,样本集在去噪后对应的分类边界将变为L2,这将使得待预测样本s1被错分至C2类. 可见,样本s对分类边界位置起关键作用,单纯利用k近邻方法将其认定为噪声样本是不合理的. 进一步发现,样本s2和s被文献[8]检测为噪声的可能性是一样的,但由于s2位于C2内部,因此其为噪声的可能性应该大于s,这与文献[8]的结论是不符的.
图 1
为此,本研究在文献[8]的基础上引入样本合群度、隶属度的概念,通过综合考虑待检测样本与邻居样本的相似度及与不同类别样本集的隶属关系实现噪声样本检测,具体如下.
定义1 合群度. 样本s的k邻域样本中与其类别相同的样本所占比例,记为s的合群度:
式中:C(s)为样本s的类别,Neig(s, k)为s的k邻居样本. 可见,g(s)反映样本s与其邻居样本的相似性关系. g(s)∈[0, 1.0],g(s)越小,说明s与邻居样本的相似性越小,其为噪声样本的可能性越大;g(s)越大,说明s与邻居样本的相似性越大,s为正常样本的可能性越大.
定义2 隶属度. 样本s属于类别c的程度记为s针对c的隶属度l(s, c). 基于sigmoid fitting的支持向量机(sigmoid fitting based support vector machine,SFSVM)可以准确计算每个样本属于各个类别的概率[17],因此可以利用SFSVM获得样本s针对类别c的隶属度:
式中:SFSVM(s,c)输出样本s属于类别c的概率. 可见,l(s,c)∈[0,1.0],该值越大,说明s属于类别c的可能性越大;该值越小,说明s属于类别c的可能性越小.
定义3 非噪度. 样本s的非噪度η(s)描述s不是噪声样本的可能性. 由定义1、2可知,样本s合群度g(s)越小且s相对于其真实类别C(s)的隶属度越小,则s的非噪度η(s)越小,即
可见,η(s)越小,s为噪声的可能性越大;反之,s为噪声的可能性越小. 针对图1中的s和s2 2个样本,存在g(s)=g(s2),l(s,C1)>l(s2,C1),因此,由式(8)可知,s和s2的非噪度满足η(s)>η(s2),符合样本s被判定为噪声的可能性小于s2的判定.
在此基础上,给出本研究基于合群度-隶属度的噪声检测算法执行流程如下.
算法2. 基于合群度-隶属度的噪声检测算法
输入:样本集St={si} (1≤i≤M),样本集类别Y={yi}(1≤i≤M),样本邻居数量k,样本类别数L,非噪度阈值th.
输出:样本集St中的噪声样本集合ns.
1. 对样本集St进行SFSVM训练.
2. for each si in St
3. 获得si的k近邻样本集Neig(si, k).
4. 按照式(6)计算si的合群度g(si).
5. 按照式(7)计算si针对其真实类别C(si)的隶属度l(si, C(si)).
6. 按照式(8)计算样本si的非噪度η(si).
7. if η(si)<th
8.
9. end if
10. end for
由定义2、3可知,当g(si)<1/k且l(si, C(si))<1/L时,si为噪声的可能性较大,因此,这里设置阈值
2.2. 基于传统过滤器的动态特征选择方法
在AdaBoost多分类任务中,每个弱分类器所用特征将直接影响分类质量. 文献[12]引入PSO优化来获得随机子空间,通过更新的样本权重分布和特征权重分布来训练AdaBoost分类器. 但是,PSO优化参数依赖性较大,且易陷入局部极值,继而影响特征选择的执行效果. 研究发现,传统AdaBoost算法大多并未进行特征选择或者仅使用较为简单的过滤器特征选择方法(如IG[19]、CHI[20]、MRMR[21]、CMFS[22]等),因此存在2个问题:1)若不进行特征选择,则在处理大规模数据集时耗时较大;2)简单的特征选择方法在每次选择特征时将所有样本平等对待,忽略样本权重对特征选择结果的影响,使得所选特征仅能区分当前训练集中的“大多数”样本,而无法处理先前被错分的“少数”样本.
为了解决上述问题,在传统方法的基础上进行改进,提出通用的基于过滤器的动态特征选择方法. 该方法强调样本权重的动态变化,针对权重较大样本中所含的特征赋予较大权重,以更好地选择出那些包含在错分样本中的代表性特征. 给定传统过滤器特征选择算法FFS,基于FFS的动态特征选择方法FFSW执行过程如下.
算法3. FFSW算法执行过程
输入:训练样本集St={si}={xi, yi}(1≤i≤M), xi={xij}(1≤j≤N),样本集类别标签Y={yi}(1≤i≤M),类别集C={Ci}(1≤i≤L),样本权重矩阵D={di}(1≤i≤M, di为样本si的权重),总特征集F={fi}(1≤i≤N),所选特征数目N1.
输出:所选特征集sf.
1. fori=1∶1∶N
2. 利用FFS算法,计算特征fi的得分FFS(fi).
3. 计算出现fi的所有样本权重之和:
式中:
4. end for
5. fori=1∶1∶N
6. 将FFS(fi)、wi归一到区间[0,1.0]:
7. 计算fi的权重
8. end for
9. 按照FFSW对集合F中所有特征进行从大到小排序,前N1个特征即为所选特征集sf.
由式(12)可知,FFSW算法弱化了权重较小的样本所含的特征信息. 由于权值较大的样本即为先前被错分的样本,选择这些样本中所含的特征有助于提升弱分类器针对它们的处理能力,继而提高AdaBoost算法的整体分类性能.
2.3. 基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法
鉴于SVM分类器具有泛化能力强、准确性高的优势,使用SVM作为AdaBoost算法的弱分类器,在此基础上提出基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法. 如图2所示,本算法执行步骤如下.
图 2
算法4. 基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法
输入:样本集St={si}={xi,yi}(1≤i≤M),标签集Y={yi}(1≤i≤M),所选特征数目N1,迭代次数T,样本权重矩阵D={Di,j}(1≤i≤T, 1≤j≤M).
输出:最终分类器H.
1. fori=1∶1∶M
2. D1,i=1/M.
3. end for
4. fori=1∶1∶T
5. 对训练集St进行随机采样,获得包含m个样本的训练集sti.
6. 利用算法2获得sti中的噪声集合sni.
7. for eachsj∈sni
式中:ϕ(sj)为样本sj在原始训练集St中的编号.
8. end for
9. 按照算法3从sti中选择最优特征集fsi.
10. 利用fsi对sti中的样本进行表示,使用SVM对sti训练得到弱分类器hi.
11. 按照式(1)、(2)计算hi在集合sti−sni上的错误率δi以及分类器权重αi.
12. if
13. 删除hi,跳转至步骤4).
14. end if
15. 按照式(3)、(4)更新样本权重矩阵Di.
16. end for
17. 重复执行步骤4)~16)以获得弱分类器集hs={h1, h2, ···, hT},按照式(5)获得最终集成分类器H.
3. 实验结果与分析
3.1. 实验准备
表 1 实验数据集信息
Tab.1
数据集 | 样本数 | 特征数 | 类别数 | 最大类样本数 | 最小类样本数 |
Spambase | 4601 | 58 | 2 | 2788 | 1813 |
AD | 3279 | 1558 | 2 | 2820 | 459 |
KDD99 | 1951 | 42 | 6 | 1407 | 2 |
DrivFace | 606 | 6400 | 3 | 546 | 3 |
Arrhythmia | 452 | 279 | 16 | 245 | 2 |
AntiVirus | 371 | 531 | 2 | 301 | 70 |
dermatology | 366 | 34 | 6 | 112 | 20 |
Amazon | 300 | 10000 | 10 | 30 | 30 |
实验随机选择每个数据集中90%的样本作为训练集,10%的样本作为测试集. 为了衡量算法在不同训练集上的表现,选用F1值[20]作为算法准确性衡量标准. 设置迭代次数T=10,噪声检测算法中邻居数量k=10. 为了保证分类结果的准确性,SVM相关参数设置如下:核函数为RBFKernel,惩罚系数C=40000,核函数中参数g=0.07. 实验采用的机器配置如下:内存:8G,CPU为Core i7、3.40 G Hz,相关算法使用Matlab 2013实现.
3.2. 噪声检测方法比较
在不同的测试集情况下,将本研究噪声检测方法与文献[8]、[9]、[10]及[11]中方法进行比较. 设置文献[8]中噪声敏感因子β=0.1,文献[11]中隐藏层神经元数量som_num=25、迭代次数T=100. 在保证其他条件相同的情况下,当所选特征比例rf=0.1、0.2、0.3、0.4、0.5时统计不同算法对应的F1值均值(记为Fa),结果如表2所示. 可以看出,文献[10]相对于文献[8]所得Fa普遍偏高,说明综合考虑样本真实标签信息和预测标签信息能有效提高噪声检测效果. 本研究所得结果均普遍高于文献[8]及文献[10],说明在噪声识别过程中考虑样本的类别隶属度能有效降低噪声误识率、提高噪声检测精度. 除KDD99和AntiVirus这2个数据集之外,本研究所得Fa相对文献[9]、[11]在其他数据集上具有明显提高,可能是由于:1)文献[9]仅通过判断样本邻居来获得其为噪声的可能性,忽略了样本自身真实标签的影响;2)文献[11]仅考虑待检测样本与邻居样本的特征相似性,难以检测处于聚类中心附近的噪声样本.
表 2 不同噪声检测算法对应的F1均值(Fa)比较
Tab.2
数据集 | Fa | ||||
文献[8] | 文献[9] | 文献[10] | 文献[11] | 本研究 | |
Spambase | 0.849 | 0.864 | 0.867 | 0.867 | 0.875 |
AD | 0.952 | 0.953 | 0.955 | 0.951 | 0.964 |
KDD99 | 0.987 | 0.992 | 0.985 | 0.985 | 0.991 |
DrivFace | 0.963 | 0.965 | 0.972 | 0.971 | 0.979 |
Arrhythmia | 0.606 | 0.602 | 0.618 | 0.598 | 0.626 |
AntiVirus | 0.988 | 0.991 | 0.992 | 0.986 | 0.991 |
Dermatology | 0.959 | 0.965 | 0.976 | 0.964 | 0.981 |
Amazon | 0.783 | 0.783 | 0.786 | 0.787 | 0.792 |
表 3 不同噪声检测算法耗时比较
Tab.3
s | |||||
数据集 | ts | ||||
文献[8] | 文献[9] | 文献[10] | 文献[11] | 本研究 | |
Spambase | 2.215 | 2.852 | 2.882 | 67.287 | 2.583 |
AD | 0.646 | 0.935 | 1.051 | 252.627 | 0.917 |
KDD99 | 0.342 | 0.472 | 0.542 | 21.612 | 0.433 |
DrivFace | 0.086 | 0.102 | 0.112 | 367.372 | 0.089 |
Arrhythmia | 0.035 | 0.043 | 0.052 | 18.223 | 0.038 |
AntiVirus | 0.021 | 0.034 | 0.039 | 18.658 | 0.031 |
Dermatology | 0.023 | 0.041 | 0.036 | 5.329 | 0.033 |
Amazon | 0.036 | 0.089 | 0.083 | 88.173 | 0.077 |
3.3. 特征选择方法比较
为了验证不同特征选择方法的执行效率,将几种典型的FFS方法(IG、CHI、MRMR及CMFS)与相应的FFSW方法(IGW、CHIW、MRMRW及CMFSW)的时间复杂度进行比较,结果如表4所示. 可以看出,IG和CMFS对应的时间复杂度相等,且均小于CHI的时间复杂度. 由于FFSW方法须计算特征出现的样本权重和,对应的时间复杂度较相应的FFS方法稍高. 以CMFS为例,存在
表 4 不同特征选择方法对应的时间复杂度比较
Tab.4
特征选择方法 | 时间复杂度 |
IG | |
CHI | |
MRMR | |
CMFS | |
IGW | |
CHIW | |
MRMRW | |
CMFSW | |
由于L<<M且log2 N<<M,式(14)可以简化为
可见,FFSW方法的时间复杂度受L影响,其相对于FFS的增幅不超过1/3(L=2时),L越大,FFSW相对于FFS带来的额外计算开销将越小.
为了验证样本权重对特征选择结果的影响,分别在所选特征比例rf=0.1、0.2、0.3、0.4、0.5情况下,将上述不同的特征选择方法应用于算法4中的步骤9),计算10次实验对应的F1均值(Fa),结果如图3所示. 图中,细虚线为FFS方法对应结果,粗实线为FFSW方法对应结果. 可以看出,针对所含特征总数小于100的样本集(Spambase、KDD99及Dermatology)而言,rf的变化对于Fa影响较大;针对所含特征总数大于5000的样本集(DrivFace及Amazon)而言,rf的变化对于Fa的影响不明显. 整体来看,FFSW方法所得结果明显高于FFS方法. 例如,在Amazon数据集中,CMFSW对应结果除rf=0.5情况外均高于CMFS;当rf=0.3时,CHIW相对于CHI方法的Fa提高约0.1. 在Dermatology数据集中,IGW对应结果均高于IG. 在Arrhythmia数据集中,IGW和CHIW表现在除rf=0.1情况外均优于IG和CHI方法,MDMRW方法在rf=0.5条件下取得最大值约0.75.
图 3
图 3 不同特征选择方法在不同数据集上的F1均值(Fa)比较
Fig.3 Comparison of average F1 values(Fa)of different feature selection methods on different datasets
如表5所示为上述FFSW方法相对于FFS方法在不同数据集上的Fa增幅均值Fai. 可以看出,Fa增幅均值大于0和0.05(加粗表示)的概率分别为93.75%和34.38%,验证了改进的特征选择方法在提升AdaBoost分类精度方面仍具有一定优势. 进一步地,如表6所示为FFSW方法相对于FFS方法在不同特征比例下的平均运行时间增幅均值rai. 可以看出,IGW、CHIW和CMFSW在所有数据集上的运行时间与IG、CHI和CMFS相近;MRMRW在所含特征总数大于1000的数据集(AD、DrivFace及Amazon)上执行速度慢于MRMR,而在其他数据集上表现与MRMR相近. 可见,在选择合适的FFS方法的情况下,FFSW方法相对于FFS方法不会带来显著的计算开销.
表 5 不同特征选择方法的F1均值的增幅均值比较
Tab.5
数据集 | Fai | |||
IGW vs IG | CHIW vs CHI | MRMRW vs MRMR | CMFSW vs CMFS | |
Spambase | −0.065 | 0.007 | 0.004 | 0.002 |
AD | 0.004 | 0.028 | 0.012 | 0.002 |
KDD99 | 0.061 | 0.082 | 0.000 | 0.078 |
DrivFace | 0.020 | 0.118 | 0.012 | 0.059 |
Arrhythmia | 0.061 | 0.036 | 0.009 | 0.010 |
AntiVirus | −0.002 | 0.024 | 0.002 | 0.011 |
Dermatology | 0.077 | 0.314 | 0.023 | 0.015 |
Amazon | 0.073 | 0.029 | 0.034 | 0.067 |
All datasets | 0.028 | 0.079 | 0.012 | 0.030 |
表 6 不同特征选择方法的平均运行时间增幅均值比较
Tab.6
数据集 | rai | |||
IGW vs IG | CHIW vs CHI | MRMRW vs MRMR | CMFSW vs CMFS | |
Spambase | 0.007 | 0.011 | 0.013 | 0.016 |
AD | 0.126 | 0.131 | 26.927 | 0.107 |
KDD99 | 0.013 | 0.016 | 0.005 | 0.018 |
DrivFace | 0.806 | 1.275 | 4.572 | 0.586 |
Arrhythmia | 0.172 | 0.265 | 0.004 | 0.052 |
AntiVirus | 0.005 | 0.008 | 0.006 | 0.001 |
Dermatology | 0.000 | 0.001 | 0.000 | 0.000 |
Amazon | 0.412 | 0.307 | 53.862 | 0.465 |
All datasets | 0.192 | 0.251 | 10.673 | 0.155 |
3.4. 与现有AdaBoost算法比较
在不同迭代次数情况下,将本研究算法与几种典型的改进AdaBoost算法进行比较. 选择的改进AdaBoost算法包括Ada_M1[4]、SAMME[6]、SAMME_R[7]、AW_Ada[24]、ND_Ada[9]、ROB_Ada[14]. 相关参数设置如下:1)在本研究、ND_Ada及ROB_Ada噪声检测过程中,取邻居样本数量为k=10;2)本研究采用CMFSW特征选择方法,其他算法统一使用CMFS特征选择方法. 令迭代次数T=10、30、50、70、90、110,在每个数据集上统计每种算法在特征选择比例为0.1、0.2、0.3、0.4、0.5情况下的F1均值Faa,所得结果如图4所示. 可以看出,随着迭代次数T取值增大,本研究算法在数据集KDD99、Arrhythmia及Dermatology上表现明显优于其他算法,对应的Faa相对其他算法均明显偏高. 并且,本研究算法在数据集Spambase和AD上表现与ND_Ada、ROB_Ada相近且明显优于其他算法,说明检测训练集中的噪声样本对于提高分类精度具有重要作用. 进一步发现,虽然本研究在数据集DrivFace、AntiVirus和Amazon上不能针对每一个T均取得最大值,但从总体上来看其对应的Faa仍普遍高于大部分算法,验证了基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法在提升分类精度方面的有效性.
图 4
图 4 不同迭代次数下不同算法的F1均值比较
Fig.4 Comparison of average F1 values of different algorithms under different iterations
4. 结 论
提出基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法. 为了验证算法的有效性,在8个典型数据集上分别从噪声检测、特征选择以及与现有AdaBoost算法比较3个方面展开实验. 主要结果如下.
(1)基于合群度-隶属度的噪声检测方法综合考虑了样本邻居样本及其同类别样本的分布特征,有效提高了噪声检测的准确性.
(2)FFSW方法结合了样本权重的影响,在保证不带来较大计算开销的情况下有效提升了分类器对于错分样本的处理能力.
(3)与现有典型的AdaBoost方法比较,本研究在多个数据集上获得较明显的优势,验证了其在数据分类方面的有效性.
(4)由于本研究在错误率计算过程中并未考虑不同类别样本集规模的影响,未来将结合不同类别召回率设计新的错误率计算方法以进一步改善AdaBoost算法分类性能.
参考文献
基于KELM选择性集成的复杂网络环境入侵检测
[J].
Selective ensemble of KELM-based complex network intrusion detection
[J].
A review on ensembles for the class imbalance problem: bagging, boosting, and hybrid-based approaches
[J].
A decision-theoretic generalization of online learning and an application to boosting
[J].DOI:10.1006/jcss.1997.1504 [本文引用: 4]
Improved boosting algorithms using confidence-rated predictions
[J].DOI:10.1023/A:1007614523901 [本文引用: 1]
Multi-class AdaBoost
[J].DOI:10.4310/SII.2009.v2.n3.a8 [本文引用: 2]
基于弱分类器调整的多分类AdaBoost算法
[J].
Multi-class AdaBoost algorithm based on the adjusted weak classifier
[J].
聚类边界过采样不平衡数据分类方法
[J].
Clustering boundary over-sampling classification method for imbalanced data sets
[J].
A noise-detection based AdaBoost algorithm for mislabeled data
[J].
基于样本噪声检测的AdaBoost算法改进
[J].
Improvement of AdaBoost algorithm based on sample noise detection
[J].
An outlier detection approach based on improved self-organizing feature map clustering algorithm
[J].DOI:10.1109/ACCESS.2019.2922004 [本文引用: 8]
基于随机子空间和AdaBoost的自适应集成方法
[J].DOI:10.3969/j.issn.0372-2112.2013.04.031 [本文引用: 2]
A self-adaption ensemble algorithm based on random subspace and AdaBoost
[J].DOI:10.3969/j.issn.0372-2112.2013.04.031 [本文引用: 2]
AdaBoost恶意程序行为检测新算法
[J].
Improved behavior-based malware detection algorithm with AdaBoost
[J].
A robust multi-class AdaBoost algorithm for mislabeled noisy data
[J].
Chaotic genetic algorithm and AdaBoost ensemble metamodeling approach for optimum resource planning in emergency departments
[J].DOI:10.1016/j.artmed.2017.10.002 [本文引用: 1]
Improving land use/cover classification witha multiple classifier system using AdaBoost integration technique
[J].DOI:10.3390/rs9101055 [本文引用: 1]
A note on Platt’s probabilistic outputs for support vector machines
[J].DOI:10.1007/s10994-007-5018-6 [本文引用: 1]
基于朴素贝叶斯算法的垃圾邮件网关
[J].DOI:10.3969/j.issn.1008-0570.2006.18.025 [本文引用: 1]
Spam filtering gateway based on NB algorithm
[J].DOI:10.3969/j.issn.1008-0570.2006.18.025 [本文引用: 1]
Novel artificial bee colony based feature selection for filtering redundant information
[J].
Benchmark for filter methods for feature selection in high-dimensional classification data
[J].
A new feature selection based on comprehensive measurement both in inter-category and intra-category for text categorization
[J].DOI:10.1016/j.ipm.2011.12.005 [本文引用: 1]
Unsupervised probabilistic feature selection using ant colony optimization
[J].DOI:10.1016/j.eswa.2016.01.021 [本文引用: 1]
Instance categorization by support vector machines to adjust weights in AdaBoost for imbalanced data classification
[J].DOI:10.1016/j.ins.2016.11.014 [本文引用: 1]
/
〈 |
|
〉 |
