浙江大学学报(工学版), 2021, 55(2): 367-376 doi: 10.3785/j.issn.1008-973X.2021.02.017

计算机与控制工程

基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法

王友卫,, 凤丽洲,

1. 中央财经大学 信息学院,北京 100026

2. 天津财经大学 统计学院,天津 300222

Improved AdaBoost algorithm using group degree and membership degree based noise detection and dynamic feature selection

WANG You-wei,, FENG Li-zhou,

1. School of Information, Central University of Finance and Economics, Beijing 100081, China

2. School of Statistics, Tianjin University of Finance and Economics, Tianjin 300222, China

通讯作者: 凤丽洲,女,讲师. orcid.org/0000-0002-1010-8539. E-mail: lzfeng15@126.com

收稿日期: 2020-03-12  

基金资助: 国家自然科学基金资助项目(61906220);教育部人文社科资助项目(19YJCZH178);国家社会科学基金资助项目(18CTJ008);天津市自然科学基金资助项目(18JCQNJC69600)

Received: 2020-03-12  

Fund supported: 国家自然科学基金资助项目(61906220);教育部人文社科资助项目(19YJCZH178);国家社会科学基金资助项目(18CTJ008);天津市自然科学基金资助项目(18JCQNJC69600)

作者简介 About authors

王友卫(1987—),男,副教授,博士,从事机器学习、数据挖掘研究.orcid.org/0000-0002-3925-3422.E-mail:ywwang15@126.com , E-mail:ywwang15@126.com

摘要

为了提高AdaBoost集成学习算法的数据分类性能,提出基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法. 综合考虑待检测样本与邻居样本的相似度及与不同类别样本集的隶属关系,引入合群度和隶属度的概念,提出新的噪声检测方法. 在此基础上,为了更好地选择那些能够有效区分错分样本的特征,在传统过滤器特征选择方法的基础上提出通用的结合样本权重的动态特征选择方法,以提高AdaBoost算法针对错分样本的分类能力. 以支持向量机作为弱分类器,在8个典型数据集上分别从噪声检测、特征选择及现有方法比较3个方面进行实验. 结果表明,所提算法充分考虑了噪声样本和样本权重对AdaBoost分类结果的影响,相对于传统算法在分类性能上获得显著提升.

关键词: 集成学习 ; 数据分类 ; 噪声检测 ; 特征选择 ; 样本权重

Abstract

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: ensemble learning ; data classification ; noise detection ; feature selection ; sample weight

PDF (1050KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

王友卫, 凤丽洲. 基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法. 浙江大学学报(工学版)[J], 2021, 55(2): 367-376 doi:10.3785/j.issn.1008-973X.2021.02.017

WANG You-wei, FENG Li-zhou. Improved AdaBoost algorithm using group degree and membership degree based noise detection and dynamic feature selection. Journal of Zhejiang University(Engineering Science)[J], 2021, 55(2): 367-376 doi:10.3785/j.issn.1008-973X.2021.02.017

集成学习是模式识别和机器学习领域研究的热点问题[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算法

传统AdaBoost算法针对不同的训练集训练多个弱分类器,然后将这些在不同训练集上得到的分类器组合起来构成一个强分类器. 给定训练样本集:S = {s1, s2,···, sM},M为样本数,S对应的类别标签集为Y={yi| yi∈{−1, +1}},AdaBoost算法执行过程[3-4]如下.

算法1. 传统AdaBoost算法

输入:训练样本集St,标签集Y,弱分类器hSt所含样本数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,计算加权错误率:

$ {\varepsilon _t} = \sum\limits_{{s_i} \in S,\;{h_t}\left( {{s_i}} \right) \ne {y_i}} {{D_{t,i}}}. $

式中:htsi)为使用ht预测的si的类别.

6. 计算弱分类器ht的权重:

$ {\alpha _t} = \frac{1}{2}\ln \;\left( {\frac{{1 - {\varepsilon _t}}}{{{\varepsilon _t}}}} \right).\; $

7. 更新训练集中每个样本的权值:

8. Fori=1∶1∶M

$ {D}_{t+1,i}=\frac{{D}_{t,i}}{{Z}_{t}}\times \left\{ {\begin{array}{l}{{\rm{e}}}^{-{\alpha }_{t}},\;\;\;\;\;\;{h}_{t}\left({s}_{i}\right)={y}_{i};\\ {{\rm{e}}}^{{\alpha }_{t}},\;\;\;\;\;\;\;{\text{其他}}{.}\end{array}} \right. $

式中:Zt为归一化因子,即

$ {Z_t} = \sum\limits_{{s_j} \in S} {{D_{t,j}}\exp \;\left[ { - {\alpha _t}{y_j}{h_t}\left( {{s_j}} \right)} \right]} . $

9. end for

10. end for

11. 得到最终的强分类器H. 针对样本s,其类别为

$ H\left( s \right) = {\rm{sign}}\;\left( {\sum\limits_{t = 1}^T {{\alpha _t}{h_t}\left( s \right)} } \right). $

2. 本研究算法设计

2.1. 基于合群度-隶属度的噪声检测方法

Cao等[9]根据样本邻居节点被错分的可能性判定其是否为噪声,但是该方法忽略了样本自身真实标签的影响. 楼晓俊等[8]根据样本邻居中与其类别不一致的样本比率确定该样本是否可能为噪声,该方法针对特定情况的噪声样本识别效果较好,但是未考虑不同类别样本集密度可能不同的特点. 如图1所示,设C1类样本和C2类样本在去噪前对应的分类边界为L1,邻居样本数量k=5,则由文献[8]知,样本s将被识别为噪声,样本集在去噪后对应的分类边界将变为L2,这将使得待预测样本s1被错分至C2类. 可见,样本s对分类边界位置起关键作用,单纯利用k近邻方法将其认定为噪声样本是不合理的. 进一步发现,样本s2s被文献[8]检测为噪声的可能性是一样的,但由于s2位于C2内部,因此其为噪声的可能性应该大于s,这与文献[8]的结论是不符的.

图 1

图 1   样本密度对噪声检测的影响

Fig.1   Effect of sample density on noise detection


为此,本研究在文献[8]的基础上引入样本合群度、隶属度的概念,通过综合考虑待检测样本与邻居样本的相似度及与不同类别样本集的隶属关系实现噪声样本检测,具体如下.

定义1 合群度. 样本sk邻域样本中与其类别相同的样本所占比例,记为s的合群度:

$g\left( s \right) = \frac{1}{k}\sum\limits_{{s_i} \in {\rm{Neig}}\left( {s,k} \right)} {C\left( s \right) = = C\left( {{s_i}} \right)}. $

式中:C(s)为样本s的类别,Neig(s, k)为sk邻居样本. 可见,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的隶属度:

$l\left( {s,c} \right) = {\rm{SFSVM}}\left( {s,c} \right).$

式中: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)越小,即

$\eta \left( s \right) = g\left( s \right) l\left( {s,C(s)} \right).$

可见,η(s)越小,s为噪声的可能性越大;反之,s为噪声的可能性越小. 针对图1中的ss2 2个样本,存在g(s)=g(s2),l(s,C1)>l(s2,C1),因此,由式(8)可知,ss2的非噪度满足η(s)>η(s2),符合样本s被判定为噪声的可能性小于s2的判定.

在此基础上,给出本研究基于合群度-隶属度的噪声检测算法执行流程如下.

算法2. 基于合群度-隶属度的噪声检测算法

输入:样本集St={si} (1≤iM),样本集类别Y={yi}(1≤iM),样本邻居数量k,样本类别数L,非噪度阈值th.

输出:样本集St中的噪声样本集合ns.

1. 对样本集St进行SFSVM训练.

2. for each si in St

3. 获得sik近邻样本集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. ${\rm{ns}} \leftarrow {\rm{ns}} \cup \left\{ {{s_i}} \right\}$.

9. end if

10. end for

由定义2、3可知,当g(si)<1/kl(si, C(si))<1/L时,si为噪声的可能性较大,因此,这里设置阈值 ${\rm{th}} = {1}/({{k L}})$. SFSVM算法时间复杂度为TSFSVM=M2N2[18],可以得到本研究噪声检测算法时间复杂度为

$\begin{split} T_{\rm{pro}} =& {M^{\rm{2}}}{N^{\rm{2}}} + M\left( {MN + M\log_2\; M} \right) =\\ & {M^{\rm{2}}}\left( {{N^{\rm{2}}} + N + \log_2\; M} \right). \\ \end{split} $

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≤iM), xi={xij}(1≤jN),样本集类别标签Y={yi}(1≤iM),类别集C={Ci}(1≤iL),样本权重矩阵D={di}(1≤iM, di为样本si的权重),总特征集F={fi}(1≤iN),所选特征数目N1.

输出:所选特征集sf.

1. fori=1∶1∶N

2. 利用FFS算法,计算特征fi的得分FFS(fi).

3. 计算出现fi的所有样本权重之和:

$ {w_i} = \sum\limits_{{s_j} \in {S_{\rm{t}}},{f_i} \Rightarrow {s_j}} {{d_j}} . $

式中: ${f_i} \Rightarrow {s_j}$表示特征fi出现在样本sj中.

4. end for

5. fori=1∶1∶N

6. 将FFS(fi)、wi归一到区间[0,1.0]:

$ \left. {{\begin{array}{*{20}{l}} {{{\rm{FFS} }_{\rm{N}}}\left( {{f_i}} \right) = \dfrac{{{\rm{FFS}} \left( {{f_i}} \right)}}{{\mathop {\max }\limits_k \;\left( {{\rm{FFS}} \left( {{f_k}} \right)} \right)}}} ,\\ {{w_{{\rm{N}}i}} = \dfrac{{{w_i}}}{{\mathop {\max }\limits_k \;\left( {{w_k}} \right)}}} . \end{array}} } \right\} $

7. 计算fi的权重

$ {\rm{FFSW}} \left( {{f_i}} \right) = {{\rm{FFS}} _{\rm{N}}}\left( {{f_i}} \right) \times {w_{\rm{N}}}_i. $

8. end for

9. 按照FFSW对集合F中所有特征进行从大到小排序,前N1个特征即为所选特征集sf.

由式(12)可知,FFSW算法弱化了权重较小的样本所含的特征信息. 由于权值较大的样本即为先前被错分的样本,选择这些样本中所含的特征有助于提升弱分类器针对它们的处理能力,继而提高AdaBoost算法的整体分类性能.

2.3. 基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法

鉴于SVM分类器具有泛化能力强、准确性高的优势,使用SVM作为AdaBoost算法的弱分类器,在此基础上提出基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法. 如图2所示,本算法执行步骤如下.

图 2

图 2   本研究算法执行流程

Fig.2   Execution flowchart of proposed algorithm


算法4. 基于合群度-隶属度噪声检测及动态特征选择的改进AdaBoost算法

输入:样本集St={si}={xi,yi}(1≤iM),标签集Y={yi}(1≤iM),所选特征数目N1,迭代次数T,样本权重矩阵D={Di,j}(1≤iT, 1≤jM).

输出:最终分类器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 eachsjsni

$ {D_{i,\varphi \left( {{s_j}} \right)}} = 0. $

式中:ϕ(sj)为样本sj在原始训练集St中的编号.

8. end for

9. 按照算法3从sti中选择最优特征集fsi.

10. 利用fsisti中的样本进行表示,使用SVM对sti训练得到弱分类器hi.

11. 按照式(1)、(2)计算hi在集合sti−sni上的错误率δi以及分类器权重αi.

12. if${\delta _i} \geqslant {{\left( {L - {\rm{1}}} \right)} / L}\;{\rm{or}}\;{\delta _i} = 0$

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. 实验准备

实验选用UCI数据库中8个典型数据集[23],每个数据集对应的样本数范围为300~4601,特征维数范围为34~10000,类别数范围为2~16. 各个数据集的具体信息如表1所示.

表 1   实验数据集信息

Tab.1  Information of experimental datasets

数据集 样本数 特征数 类别数 最大类样本数 最小类样本数
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

新窗口打开| 下载CSV


实验随机选择每个数据集中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  Comparison of average F1 values (Fa) of different noise detection algorithms

数据集 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

新窗口打开| 下载CSV


进一步地,将不同噪声检测算法的执行效率进行比较. 当rf=0.1、0.2、0.3、0.4、0.5时统计不同噪声检测算法对应的运行时间均值ts,结果如表3所示. 可以看出,由于文献[11]使用SOM算法来对训练样本集进行聚类,噪声检测耗时最大. 相对于文献[8]而言,本研究考虑了待检测样本针对各个类别的偏离度,因此对应的运行时间稍高;与文献[9]、[10]相比,本研究在执行效率上优势明显,主要是因为前2种方法须使用SVM分类器预测待检测样本的所有邻居样本类别,相对于本研究仅预测待检测样本类别而言带来了额外的计算开销.

表 3   不同噪声检测算法耗时比较

Tab.3  Comparison of consuming timeofdifferent noise detection algorithms

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

新窗口打开| 下载CSV


3.3. 特征选择方法比较

为了验证不同特征选择方法的执行效率,将几种典型的FFS方法(IG、CHI、MRMR及CMFS)与相应的FFSW方法(IGW、CHIW、MRMRW及CMFSW)的时间复杂度进行比较,结果如表4所示. 可以看出,IG和CMFS对应的时间复杂度相等,且均小于CHI的时间复杂度. 由于FFSW方法须计算特征出现的样本权重和,对应的时间复杂度较相应的FFS方法稍高. 以CMFS为例,存在

表 4   不同特征选择方法对应的时间复杂度比较

Tab.4  Comparison of time complexities of different feature selection methods

特征选择方法 时间复杂度
IG ${ {O} }\left( {N\left( {M + L + ML + {\rm{log_2\;} }N} \right)} \right)$
CHI ${ {O} }\left( {N\left( {M + {\rm{3} }L + {\rm{2} }ML + {\rm{log_2\;} }N} \right)} \right)$
MRMR ${{O} } \left( {\displaystyle\sum\limits_{S = 0}^{ {N_1} - 1} {S\left( {N - S} \right)\left( {2M + 2L} \right)} } \right)$
CMFS ${ {O} }\left( {N\left( {M + L + ML + {\rm{log_2\;} }N} \right)} \right)$
IGW ${ {O} }\left( {N\left( { {\rm{2} }M + L + ML + {\rm{log_2\;} }N} \right)} \right)$
CHIW ${ {O} }\left( {N\left( { {\rm{2} }M + {\rm{3} }L + ML + {\rm{log_2\;} }N} \right)} \right)$
MRMRW ${{O} } \left( {\displaystyle\sum\limits_{S = 0}^{ {N_1} - 1} {\left( {N - S} \right)\left( {S\left( {2M + 2L} \right) + M} \right)} } \right)$
CMFSW ${ {O} }\left( {N\left( { {\rm{2} }M + L + ML + {\rm{log_2\;} }N} \right)} \right)$

新窗口打开| 下载CSV


$\begin{split} \dfrac{{{T_{{\rm{CMFSW}}}} - {T_{{\rm{CMFS}}}}}}{{{T_{{\rm{CMFS}}}}}} =& \dfrac{{NM}}{{N\left( {M + L + ML + {\rm{log_2\;}}N} \right)}} = \\ &\frac{1}{{\left( {1 + {L}/{M} + L + ({{{\rm{log_2\;}}N}})/{M}} \right)}} .\\[-8pt] \end{split} $

由于L<<M且log2 N<<M,式(14)可以简化为

$\frac{{{T_{{\rm{CMFSW}}}} - {T_{{\rm{CMFS}}}}}}{{{T_{{\rm{CMFS}}}}}} \approx \frac{1}{{1 + L}}.$

可见,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  Comparison of average increments of average F1 value of different feature selection methods

数据集 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

新窗口打开| 下载CSV


表 6   不同特征选择方法的平均运行时间增幅均值比较

Tab.6  Comparison of average increments of average running time values of different feature selection methods

数据集 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

新窗口打开| 下载CSV


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]. 电子学报, 2019, 47 (5): 96- 104

[本文引用: 1]

LIU Jin-ping, HE Jie-zhou, MA Tian-yu, et al

Selective ensemble of KELM-based complex network intrusion detection

[J]. Acta Electronica Sinica, 2019, 47 (5): 96- 104

[本文引用: 1]

GALAR M, FERNANDEZ A, BARRENECHEA E, et al

A review on ensembles for the class imbalance problem: bagging, boosting, and hybrid-based approaches

[J]. IEEE Transactions on Systems Man & Cybernetics Part C Applications & Reviews, 2012, 42 (4): 463- 484

[本文引用: 1]

FREUND Y, SCHAPIRE R E. Experiments with a new boosting algorithm [C]// Proceedings of the 13th International Conference on Machine Learning. Bari: ACM, 1996.

[本文引用: 2]

FREUND Y, SCHAPIRE R E

A decision-theoretic generalization of online learning and an application to boosting

[J]. Journal of Computer and System Sciences, 1997, 55 (1): 119- 139

DOI:10.1006/jcss.1997.1504      [本文引用: 4]

SCHAPIRER E, SINGER Y

Improved boosting algorithms using confidence-rated predictions

[J]. Machine Learning, 1999, 37 (3): 297- 336

DOI:10.1023/A:1007614523901      [本文引用: 1]

ZHU J, ZOU H, ROSSET S, et al

Multi-class AdaBoost

[J]. Statistics and its Interface, 2009, 2 (3): 349- 360

DOI:10.4310/SII.2009.v2.n3.a8      [本文引用: 2]

杨新武, 马壮, 袁顺

基于弱分类器调整的多分类AdaBoost算法

[J]. 电子与信息学报, 2016, 38 (2): 373- 380

[本文引用: 2]

YANG Xin-wu, MA Zhuang, YUAN Shun

Multi-class AdaBoost algorithm based on the adjusted weak classifier

[J]. Journal of Electronics and Information Technology, 2016, 38 (2): 373- 380

[本文引用: 2]

楼晓俊, 孙雨轩, 刘海涛

聚类边界过采样不平衡数据分类方法

[J]. 浙江大学学报: 工学版, 2013, 47 (6): 944- 950

[本文引用: 13]

LOU Xiao-jun, SUN Yu-xuan, LIU Hai-tao

Clustering boundary over-sampling classification method for imbalanced data sets

[J]. Journal of Zhejiang University: Engineering Science, 2013, 47 (6): 944- 950

[本文引用: 13]

CAO J, KWONG S, WANG R

A noise-detection based AdaBoost algorithm for mislabeled data

[J]. Pattern Recognition, 2012, 45 (1): 4451- 4465

[本文引用: 9]

张子祥, 陈优广

基于样本噪声检测的AdaBoost算法改进

[J]. 计算机系统应用, 2017, 26 (12): 186- 190

[本文引用: 7]

ZHANG Zi-xiang, CHEN You-guang

Improvement of AdaBoost algorithm based on sample noise detection

[J]. Computer Systems and Applications, 2017, 26 (12): 186- 190

[本文引用: 7]

YANG P, WANG D, WEI Z, et al

An outlier detection approach based on improved self-organizing feature map clustering algorithm

[J]. IEEE Access, 2019, 7: 115914- 115925

DOI:10.1109/ACCESS.2019.2922004      [本文引用: 8]

姚旭, 王晓丹, 张玉玺, 等

基于随机子空间和AdaBoost的自适应集成方法

[J]. 电子学报, 2013, 41 (4): 810- 814

DOI:10.3969/j.issn.0372-2112.2013.04.031      [本文引用: 2]

YAO Xu, WANG Xiao-dan, ZHANG Yu-xi, et al

A self-adaption ensemble algorithm based on random subspace and AdaBoost

[J]. Acta Electronica Sinica, 2013, 41 (4): 810- 814

DOI:10.3969/j.issn.0372-2112.2013.04.031      [本文引用: 2]

曹莹, 刘家辰, 苗启广, 等

AdaBoost恶意程序行为检测新算法

[J]. 西安电子科技大学学报, 2013, 40 (6): 116- 124

[本文引用: 1]

CAO Ying, LIU Jia-chen, MIAO Qi-guang, et al

Improved behavior-based malware detection algorithm with AdaBoost

[J]. Journal of Xidian University: Natural Science, 2013, 40 (6): 116- 124

[本文引用: 1]

SUN B, CHEN S, WANG J, et al

A robust multi-class AdaBoost algorithm for mislabeled noisy data

[J]. Knowledge-Based Systems, 2016, 102 (5): 87- 102

[本文引用: 2]

YOUSEFI M, YOUSEFI M, FERREIRA R P M, et al

Chaotic genetic algorithm and AdaBoost ensemble metamodeling approach for optimum resource planning in emergency departments

[J]. Artificial Intelligence in Medicine, 2018, 84: 23- 33

DOI:10.1016/j.artmed.2017.10.002      [本文引用: 1]

CHEN Y B, DOU P, YANG X J

Improving land use/cover classification witha multiple classifier system using AdaBoost integration technique

[J]. Remote Sensing, 2017, 9 (10): 1055- 1075

DOI:10.3390/rs9101055      [本文引用: 1]

LIN H T, LIN C J, WENG R C

A note on Platt’s probabilistic outputs for support vector machines

[J]. Machine Learning, 2007, 68 (3): 267- 276

DOI:10.1007/s10994-007-5018-6      [本文引用: 1]

刘宏伟, 黄静

基于朴素贝叶斯算法的垃圾邮件网关

[J]. 微计算机信息, 2006, 22 (18): 73- 75

DOI:10.3969/j.issn.1008-0570.2006.18.025      [本文引用: 1]

LIU Hong-wei, HUANG Jing

Spam filtering gateway based on NB algorithm

[J]. Microcomputer Information, 2006, 22 (18): 73- 75

DOI:10.3969/j.issn.1008-0570.2006.18.025      [本文引用: 1]

YANG Y, PEDERSEN J O. A comparative study on feature selection in text categorization [C]// Proceedings of the 14th International Conference on Machine Learning. Nashville: ACM, 1997.

[本文引用: 1]

WANG Y W, FENG L Z, ZHU J M

Novel artificial bee colony based feature selection for filtering redundant information

[J]. Applied Intelligence, 2017, 48 (3): 868- 885

[本文引用: 2]

BOMMERT A, SUN X, BISCHL B, et al

Benchmark for filter methods for feature selection in high-dimensional classification data

[J]. Computational Statistics and Data Analysis, 2019, 143: 106839

[本文引用: 1]

YANG J, LIU Y, ZHU X, et al

A new feature selection based on comprehensive measurement both in inter-category and intra-category for text categorization

[J]. Information Processing and Management, 2012, 48 (4): 741- 754

DOI:10.1016/j.ipm.2011.12.005      [本文引用: 1]

DADANEH B Z, MARKID H Y, ZAKEROLHOSSEINI A

Unsupervised probabilistic feature selection using ant colony optimization

[J]. Expert Systems with Applications, 2016, 53: 27- 42

DOI:10.1016/j.eswa.2016.01.021      [本文引用: 1]

LEE W, JUN C H, LEE J S

Instance categorization by support vector machines to adjust weights in AdaBoost for imbalanced data classification

[J]. Information Sciences, 2017, 381: 92- 103

DOI:10.1016/j.ins.2016.11.014      [本文引用: 1]

/