第3章〓基于加权堆叠选择集成的传统多标签学习 在多标签学习中,多标签分类是重点应用领域,如疾病诊疗、图像标注、基因预测等。现有大量的传统多标签集成方法是基于bagging和boosting的集成模式,如EBR、ELP、ECC、EPS、RAkEL、CDE、RFPCT、AdaBoost.MH等,基于stacking的集成算法较少,代表的有MLS。然而,这些集成方法在实际应用中存在两个局限: 一是在集成策略上主要依赖投票或加权投票的方式,这种方法较为直接但缺乏灵活性,尤其是对于分类器的加权选择策略考虑不足,未能充分利用各分类器间的性能差异来优化集成效果; 二是没有考虑标签之间成对的依赖关系,如共生、互斥。为了解决这些问题,本章提出了一种基于stacking模式的加权堆叠选择集成算法MLWSE。该算法可以使用任意的多标签方法作为基学习器,其具有较强的扩展性,而且大量的实验表明了该算法在多标签分类任务中取得了显著的效果提升。 3.1引言 集成学习算法通过将来自异质或同质模型的单个学习器结合起来,获得一个集成的学习器,能有效处理模型过拟合,提高模型的学习泛化性,广泛应用于多个领域。近年来,许多集成方法被用作多标签分类任务的基准[94],它们通常采用bagging方案生成不同的分类器作为集成成员,并通过多数投票策略获得最后的集成结果。在测试阶段,每个类的预测结果是通过平均每个分类器的置信度来确定的,而没有考虑标签之间分类器选择权重,忽略了局部成对标签依赖关系的影响。尽管堆叠集成方法stacking在许多学习任务中具有出色的性能,但也忽视了局部标签之间的依赖关系。MLS[17]可以视为堆叠集成技术的代表,它首先为每个标签训练独立的二值分类器(一级),然后将它们的预测作为元级学习模型的输入,最后利用共识函数(元级分类器)对多个标签进行堆叠集成,得到最终的预测结果。虽然MLS在元级层上考虑了标签间的全局相关性,但仍然忽略了局部成对标签依赖关系的影响,此外,现有的堆叠集成方法也没有考虑分类器的选择权重。 为了解决上述问题,我们同时利用加权堆叠集成和成对标签依赖关系的优点,提出了一种加权分类器选择和堆叠集成的多标签分类算法MLWSE。在MLWSE中,对于不同的类标签,给每个基分类器赋予不同的权重,即任何两个强相关的类标签都比两个不相关或弱相关的类标签具有较高的相似权重。与现有的堆叠集成方法不同,MLWSE不仅利用稀疏正则实现了分类器选择和集成,而且学习到了标签元级的特别特征。本章可以概括如下: (1) 本章介绍一种基于stacking的多标签分类加权堆叠选择集成算法MLWSE,该结构采用稀疏正则化方法进行分类器选择和堆叠集成,并可以使用任意的多标签方法作为基学习器,该算法具有较强的扩展性。 (2) MLWSE算法同时利用了分类器权重和成对标签关联来选择标签元级特别特征,可以当作一种标签元级特别特征选择方法。 (3) MLWSE算法在二维仿真数据、13个Benchmark基准数据集和真实的心脑血管疾病数据集上进行了实验验证,MLWSE算法具有较强的鲁棒性和有效性。 3.2问题描述 在多标签分类中,令X=Rd表示d维的输入空间,Y=y1,y2,…,yl表示有l个类的类标空间,D={xi,yi|1≤i≤n}表示有n个实例的训练集。对每个多标签样本xi,yi,xi=xi1,xi2,…,xid∈X表示d维的特征向量,yi=yi1,yi2,…,yid表示xi的真实类标,当标签yj属于xi时,yij=1; 否则,yij=0。多标签学习的任务是从训练集D中学习一个映射关系h:X→2Y。在测试阶段,对看不见的样本x∈X,多标签分类器h的预测hxY可以当作样本x的近似。标记输入数据作为矩阵X=x1,x2,…,xnT∈Rn×d,输出作为标签矩阵Y=y1,y2,…,ynT∈Rn×l。 对于n×d的矩阵A=[Ai,j],其中i∈{1,2,…,n},j∈{1,2,…,d}; 用AT表示A的转置矩阵; tr(A)=∑ni=1Ai,i表示A的迹; ‖A‖F=∑ni=1∑dj=1A2i,j表示Frobenius范数; 对于任意一个向量a=[a1,a2,…,an]T,l2norm表示为‖a‖2=∑ni=1a2i,l1norm表示为‖a‖1=∑ni=1ai。 如图3.1所示,加权的堆叠集成最小化加权的预测得分Sw和真实的目标向量y之间的欧几里得距离可描述为 minw‖y-Sw‖22(3.1) 式中: S为预测的得分矩阵,w为加权向量,y为给定数据点的真实目标向量。 图3.1加权选择集成的三维超立方体(目的是最小化预测得分Sw和 目标向量y之间的欧几里得距离) 3.3MLWSE算法设计 根据式(3.1)提出的MLWSE算法主要分为四个步骤: 一是加权的堆叠集成; 二是基于稀疏正则化的分类器选择; 三是标签依赖关系的建模; 四是多标签的预测。 3.3.1加权的堆叠集成 在具有置信度输出的分类器集成问题中,集成过程是将基分类器获得的属于不同标签的预测分数作为元级分类器的输入。令skj表示第k个分类器对第j个标签的预测得分,则sk=sk1,sk2,…,sklT表示分类器k为所有标签的预测得分,那么集成所有基分类器输入表示为s=s1|s2|…|sm,其中m表示分类器个数,则最后的置信度得分矩阵S=[skij]表示为 S= s111s112…s11l s121s122…s12l  s1n1s1n2…s1nl s1……… sk11sk12…sk1l sk21sk22…sk2l  skn1skn2…sknl sk ………… 在stacking集成模式中,元级集成被定为一种映射g:Rm×l→Rl,也就是说,元级分类器最终的目的是使用新产生的数据集si,yijlj=1ni=1学习函数g,结合式(3.1),目标函数被最小化为 g(w1,w2,…,wm)=∑ni=1∑lj=1∑mk=1(skijwkj-yij)2(3.2) 式中: wkj表示分类器k为标签j的权重,且wk=wk1,wk2,…,wkl是分类器k的权重向量。令Wj=w1j|w2j|…|wmjT表示所有分类器为jth个标签的联合权重向量,Yj=y1j,y2j,…,ynjT表示在标签空间Y中标签的第j列(1≤j≤l),基于产生的置信度的得分矩阵,式(3.2)可进一步表示为 minWj12‖SWj-Yj‖22(3.3) 3.3.2基于稀疏正则的分类器选择 在式(3.3)中,产生的置信度得分矩阵S也许包含对标签无帮助且不相关的预测信息,因此不同的分类器对不同的标签应该分配不同的权重。为实现分类器的选择,通过增加稀疏正则保证权重稀疏,以阻止堆叠集成联合所有的分类器。使用稀疏正则的一个好处是它能自动完成选择,因此通过使用l1norm正则(Lasso)[95]为每个权重向量Wj,式(3.3)可进一步描述为 minWj12‖SWj-Yj‖22+α‖Wj‖1(3.4) 式中: α为正则参数。通过把所有的二值分类器联合,式(3.4)可写为 minW12‖SW-Y‖2F+α‖W‖1(3.5) 如果wkj=0,那么表示kth个分类器被排除且没有影响对jth个标签。在l1norm中不是所有的wkj都是零,也就意味着所选分类器对某些标签的信息不能被有效利用。如图3.2所示,组稀疏Lasso不仅考虑了分类器之间的稀疏,而且考虑了分类器内部之间的稀疏, 图3.2Lasso、Group Lasso和Group Sparsity Lasso比较 综合了Lasso和Group Lasso的优点,最终基于Group Sparsity Lasso,MLWSE可以表示为 minW12‖SW-Y‖2F+αλ‖W‖1+1-αλ∑mk=1ck‖WGk‖2(3.6) 式中: α∈[0,1],用于正则Lasso和Group Lasso; λ控制了稀疏度; ck为kth组WGk的权重,是一种先验为kth分类器选择的贡献,实验中设置ck=l。 3.3.3标签依赖关系的建模 在多标签分类任务中,标签依赖关系是至关重要的,正如多任务学习[97],任务和模态之间存在着依赖关系。若标签yj和yk是强相关的,则分类器分类标签yj有高的概率分类yk。换句话说,如果两个标签yj和yk是强相关的,那么权重向量对Wj,Wk应该有高的相似; 否则,应该有低的相似。通过在标签空间重建一个图,V表示标签的集合,E表示每对标签之间的边集合,给定标签相关矩阵R在E,建模标签的依赖关系能被最小化为下式: 12∑lj=1∑lk=1‖Wj-Wk‖2Rjk=tr(WD-RWT)=trWHWT(3.7) 式中: H=D-R为图的拉普拉斯矩阵,D为对角矩阵,Dii=∑nj=1Rij; Rjk为标签yj和yk之间的相似度,本书使用余弦相似度计算标签相关性矩阵。 联立式(3.5)和式(3.7),基于Lasso的MLWSEL1可表示为 minW12‖SW-Y‖2F+α‖W‖1+β2tr(WHWT)(3.8) 联立式(3.6)和式(3.7),基于Group Sparsity Lasso的MLWSEL21可表示为 minW12‖SW-Y‖2F+αλ‖W‖1+1-αλ∑mk=1ck‖WGk‖2+β2tr(WHWT)(3.9) 3.3.4多标签的预测 使用算法MLWSEL1和MLWSEL21之后,可得到分类器的权重矩阵W*。当给定使用特征矩阵X*表示的测试数据集时,使用不同的基分类器生成置信度得分矩阵S*,则可以使用阈值符号函数sign:X→R获得最后的预测结果(实验中阈值τ设置为0.5): signS*W*,τ= 1,S*W*≥τ0,其他(3.10) 3.4MLWSE算法优化 尽管式(3.8)和式(3.9)是两个凸的优化问题,由于使用l1norm正则化,目标函数是非平滑的,本节使用加速的近端梯度下降[9899]和块坐标下降[100]算法来优化MLWSEL1和MLWSEL21。 3.4.1MLWSEL1优化 通常情况下,加速的近端梯度可描述为下面的凸优化问题[99]: minW∈HFW=f(W)+g(W)(3.11) 式中: H是希尔伯特(Hilbert)空间; f(W)是凸的并且平滑的; g(W)是凸的,可以是非平滑的。如果f(W)有一个利普希茨(Lipschitz) 连续梯度,通过使用Lipschitz常数L,则有 ‖fW1-fW2‖≤L‖W1-W2‖ 代替直接的最小化F(W),近端梯度算法可以最小化其复合二次逼近: QL(W,W(t))=f(W(t))+〈f(W(t)),W-W(t)〉+L2‖W-W(t)‖2F+g(W)(3.12) 根据式(3.8)和式(3.11),f(W)和g(W)可写为 f(W)=12‖SW-Y‖2F+β2tr(WHWT)(3.13) g(W)=α‖W‖1(3.14) 根据式(3.13),可得 f(W)=ST(SW-Y)+βWH(3.15) 给定W1和W2,为MLWSEL1,可获得Lipschitz常数[101102]: L=2‖STS‖22+2‖βH‖22(3.16) 根据式(3.12)、式(3.14)和式(3.16),令 Z(t)=W(t)-1Lf(W(t)) 权重矩阵W可优化为 W*=argminWQL(W,W(t)) =argminW12‖W-Z(t)‖2F+g(W) =argminW12‖W-Z(t)‖2F+αL‖W‖1(3.17) 在加速的近端梯度算法中,当序列bt满足b2t-bt≤b2t-1时,令Wt是W的tth迭代,则有 W(t)=Wt+bt-1-1bt(Wt-Wt-1) 能提高算法收敛率到O(1/t2)[99]。在式(3.17)中,近端梯度联合g(W)是一个软阈值操作,也就是说,在每次迭代中,W*能被获得通过下面的优化问题: W(t+1)=proxε[Z(t)]=argminW12‖W-Z(t)‖2F+ε‖W‖1(3.18) 式中: proxε[·]是一个软阈值操作,可定义为 proxε[wij]=wij-ε,wij>εwij+ε,wij<ε0,其他(3.19) 根据式(3.17)和式(3.19),W能被获得通过下面的软阈值操作: W(t+1)=proxαL[Z(t)](3.20) 根据上述的描述,提出的MLWSEL1可描述为算法3.1。 算法3.1MLWSEL1 输入: 训练集矩阵X∈Rn×d; 标签矩阵Y∈Rn×l,基学习器Cimi=1; 参数α、β、η; 输出: 权重矩阵W*∈Rml×l 步骤: 1. 通过基分类器Cimi=1生成置信度得分矩阵S∈Rn×ml 2. 初始化b0,b1←1; t←1; W0,W1←(STS+ηI)-1STY 3. 计算矩阵Y的拉普拉斯矩阵H 4. 根据式(3.16)计算L 5. while not converged do 6. W(t)←Wt+bt-1-1bt(Wt-Wt-1) 7. 根据式(3.15)计算f(W(t)) 8. Z(t)←W(t)-1Lf(W(t)) 9. W(t+1)←proxαL[Z(t)] 10. bt+1←1+4b2t+12 11. t←t+1 12. return W*←W(t+1) 3.4.2MLWSEL21优化 使用块坐标下降算法优化MLWSEL21,块坐标下降可以分为两部分: 一是不同特征组之间的外循环; 二是每个子块的内循环[103]。在我们的方法,置信度得分矩阵S可以分为m个组,即S1,S2,…,Sm。当S是第k组,令S-k表示余下的组,同理,W-k是权重W余下组的权重。当选择第k组时,其他组被固定,则目标函数仅仅最小化Wk,因此在每个块可以最小化如下目标: 12‖r-k-S(k)W(k)‖22+(1-α)λck‖W(k)‖2+ αλ‖W(k)‖1+β2tr(W(k)HW(k)T)(3.21) 式中: r-k表示除了组k之外,标签Y的部分残差,即 r-k=‖Y-∑j≠kS(j)W(j)‖(3.22) 令(r-k,W(k))=12‖r-k-S(k)W(k)‖22表示最小二乘损失函数,其梯度为(r-k,W(k))。我们的目标是最小化式(3.21)获得最优权重W(k)*,设优化中心点为W(k)0,t为优化步,优化目标式(3.21)等价于优化下面的函数: 12t‖W(k)-(W(k)0-t(r-k,W(k)0))‖22+(1-α)λck‖W(k)‖2+ αλ‖W(k)‖1+β2tr(W(k)HW(k)T)(3.23) 当W(k)*=0时,必须满足条件[103] ‖ζ(W(k)0-t(r-k,W(k)0),tαλ)‖2≤t(1-α)λck(3.24) 否则,满足条件 1-t(1-α)λck‖ζ(W(k)0-t(r-k,W(k)0),tαλ)‖2+ζ(W(k)0-t(r-k,W(k)0),tαλ)(3.25) 式中: ζ(·)表示软阈值操作,即 (ζ(z,tαλ))i=sign(zi)(zi-tαλ)+(3.26) 内循环能够使用近端梯度进行加速[104],因此设置t=1L,其中L是Lipschitz常数,可以通过式(3.16)获得。详细的基于块坐标下降优化的MLWSEL21算法可描述为算法3.2。 算法3.2MLWSEL21 输入: 训练集矩阵X∈Rn×d; 标签矩阵Y∈Rn×l,基学习器Cimi=1; 参数α、β、λ、η; 输出: 权重矩阵W*∈Rml×l 步骤: 1. 通过基分类器Cimi=1生成置信度得分矩阵S∈Rn×ml 2. 计算矩阵Y的拉普拉斯矩阵H 3. 根据式(3.16)计算L 4. 根据式(3.22)计算r-k 5. 循环迭代每个组; 为每个组k,执行步骤6 6. 初始化t←1/L,W(k)←(STS+ηI)-1STY 7. 根据式(3.24)判断是否W(k)=0,否则执行步骤8 8. while not converged do 9. 更新梯度(r-k,W(k)) 10. 根据式(3.25)更新权重W(k+1) 11. return W*←W(t+1) 3.5实验结果与分析 本实验采用2D仿真数据集、Benchmark基准数据集和真实的心脑血管疾病数据集这三种多样化的数据集来评估MLWSE与其他同类算法的性能。在实验过程中,本书运用了六种不同的度量标准来全面比较各算法的表现。此外,还深入分析了MLWSE算法在鲁棒性、参数敏感性和收敛性等多个关键维度上的性能特点。 3.5.12D仿真实验 基于不同的分布场景设计了2D的合成实验,旨在评估算法分类器选择能力。由于多标签分类能被转化为多个二值的分类器问题,这里只考虑单标签的场景。如图3.3所示,单变量X属于均匀分布-4,4区间,令I(·)表示指示函数,N(0,1)是标准正态分布,则四种场景生成函数[105]如下: 场景1: Y=-2×I(X<-3)+2.55×I(X>-2)-2×I(X>0)+4×I(X>2)-1×I(X>3)+N(0,1) 场景2: Y=5+0.4X-0.36X2+0.005X3+N(0,1) 场景3: Y=2.85×sin(π2×X)+N(0,1) 场景4: Y=3.85×sin(3π×X)×I(X>0)+N(0,1) 图3.3四种场景 注: 曲线表示真实的分布,仿真样本数为300。 使用消融研究评估MLWSE算法的分类选择能力,包括基于式(3.3)的Baseline选择、式(3.5)的Lasso选择、式(3.6)的Group Sparsity Lasso选择,随机地划分35%为训练集、35%为验证集、30%为测试集,随机开展实验5次并求平均,4种场景实验结果如表3.1所列。在场景1中,三个基分类器都获得了好的结果,但是基于多项式核的SVM效果是最好的,Lasso选择和Group Lasso选择分别获得了0.522和0.533的结果,对应的权重向量为分别为<0.339,0.589,0.052>和<0,0.933,0.045>,能够看出提出的方法能够给好的基分类器分配较高的权重。在场景2中,基于多项式核的SVM是最优的基分类器,同样地,Lasso选择和Group Lasso选择也是指派较高的权重给最优的分类器,同样的趋势在场景3和场景4中一样存在。在实际中,各自最优的分类器是不知道的,提出的方法能自适应地给最优的基分类器分类最优权重,并且适应真实场景的改变,实验结果指出了提出方法的加权分类器选择是有效的。 表3.1实验结果在2D仿真的数据集 Algorithms 场景1场景2场景3场景4 AccWAccWAccWAccW Base classifier SVM (linear kernel)0.522—0.444—0.533—0.767— SVM (poly kernel)0.533—0.467—0.533—0.767— Random Forest0.522—0.467—0.833—0.711— Baseline SVM (linear kernel) SVM (poly kernel) Random Forest 0.488 -0.679 1.620 0.036 0.500 -0.927 2.186 -0.197 0.800 -59.118 56.915 0.937 0.767 -30.117 30.061 0.164 Lasso selection SVM (linear kernel) SVM (poly kernel) Random Forest 0.522 0.339 0.589 0.052 0.500 -0.852 2.105 -0.197 0.833 -0.018 0.105 0.920 0.767 0.072 0.660 0.277 Group sparsity lasso selection SVM (linear kernel) SVM (poly kernel) Random Forest 0.533 0 0.933 0.045 0.5111 0 1.172 -0.181 0.833 0 0.080 0.923 0.767 0 0.732 0.274 3.5.2Benchmark基准实验 为了验证提出方法的性能,我们在13个公开的多标签基准数据集上进行了算法比较,数据集总结在表3.2。 表3.2Benchmark基准数据集 DatasetsDomainInstancesFeaturesLabelsLC EmotionsMusic5937261.868 FlagsImage1941973.392 SceneImage240729461.074 YeastBiology2417103144.237 BirdsAudio645260191.014 GpositiveGOBiology51991241.008 CHD49Medicine5554962.580 EnronText17021001533.378 LanglogText14601004751.180 MedicalText9781449451.245 VirusGoBiology20774961.217 WaterqyChemistry106016145.073 3sbbc1000Text352100061.125 注: LC表示每个样本所属标签的平均数,LC=1N∑ni=1Yi。 针对基准数据集,本书比较了7种优秀的多标签集成方法,涵盖了传统多标签集成算法的大部分,如EBR[9]、ECC[9]、EPS[10]、RAkEL[11]、CDE[12]、AdaBoost.MH[15]、MLS[17]等,这些方法都被实现基于Mulan[106]库和Meka[107]库。对于MLWSE,置信度得分矩阵S被生成基于基学习器BR[24]、CC[9]、LP[25],相关参数使用默认的scikitmultilearn[108]库设置。对于MLWSEL1,参数α、β、η分别设置为10-4、10-3、0.1; 对于MLWSEL21,参数α、λ、β、η分别设置为0.05、10-3、10-2、0.1,通过使用5折交叉验证进行比较实验,在标签数较为大的数据集,有些算法并不能得到结果,被标记为“DNF”,算法中最好的结果已经被加粗,详细的实验结果在表3.3和表3.4中。 表3.3Benchmark数据集比较结果(Accuracy、Hamming loss和Ranking loss) Datasets Accuracy↑ EBRECCEPSRAkELCDEAdaBoost.MHMLSMLWSEL1MLWSEL21 Emotions0.517±0.0340.532±0.0390.533±0.0210.422±0.0280.524±0.0350.028±0.0160.422±0.0280.806±0.0070.807±0.007 Flags0.598±0.0670.630±0.0670.590±0.0630.607±0.0510.609±0.0770.514±0.0640.607±0.0510.727±0.0140.743±0.014 Scene0.605±0.0080.659±0.0130.642±0.0070.534±0.0170.538±0.0040.000±0.0000.534±0.0170.917±0.0010.915±0.003 Yeast0.489±0.0140.505±0.0080.491±0.0150.434±0.0120.478±0.0080.335±0.0150.434±0.0120.804±0.0020.801±0.002 Birds0.593±0.0210.602±0.0180.589±0.0150.568±0.0360.588±0.0390.456±0.0150.568±0.0360.949±0.0030.955±0.002 GpositiveGO0.933±0.0110.929±0.0160.937±0.0080.930±0.0170.928±0.0180.000±0.0000.930±0.0170.971±0.0030.971±0.005 CHD490.515±0.020.533±0.0250.531±0.0220.470±0.0180.490±0.0310.464±0.0080.470±0.0180.706±0.0110.703±0.013 Enron0.425±0.0150.467±0.0190.376±0.0200.414±0.0120.411±0.0130.151±0.0090.414±0.0120.953±0.0010.954±0.000 Langlog0.232±0.0270.237±0.0230.231±0.0240.250±0.026DNF0.142±0.0220.084±0.0190.820±0.0030.830±0.001 Medical0.755±0.0240.767±0.0250.754±0.0240.752±0.0330.718±0.0400.000±0.0000.752±0.0330.986±0.0010.987±0.000 VirusGo0.861±0.0580.859±0.0560.872±0.0430.861±0.0580.872±0.0580.000±0.0000.861±0.0580.956±0.0030.956±0.005 Waterqy0.393±0.0070.414±0.0100.204±0.0190.318±0.0100.402±0.0060.157±0.030.374±0.0070.715±0.0040.707±0.007 3sbbc10000.044±0.010.123±0.0270.195±0.0270.144±0.0270.144±0.0190.000±0.0000.144±0.0270.805±0.0060.810±0.005 续表 Datasets Hamming loss↓ EBRECCEPSRAkELCDEAdaBoost.MHMLSMLWSEL1MLWSEL21 Emotions0.197±0.0150.205±0.0160.211±0.0150.264±0.0180.212±0.0190.306±0.0100.264±0.0180.194±0.0070.193±0.007 Flags0.249±0.0440.243±0.0450.258±0.0410.253±0.0360.258±0.0520.278±0.0260.253±0.0360.273±0.0140.257±0.014 Scene0.093±0.0030.094±0.0040.099±0.0030.135±0.0070.136±0.0030.179±0.0020.135±0.0070.083±0.0010.085±0.003 Yeast0.205±0.0060.210±0.0040.212±0.0070.248±0.0080.228±0.0060.232±0.0070.249±0.0080.197±0.0020.199±0.002 Birds0.042±0.0030.043±0.0040.046±0.0020.051±0.0060.047±0.0060.053±0.0020.051±0.0060.051±0.0030.045±0.001 GpositiveGO0.027±0.0040.030±0.0090.031±0.0050.027±0.0060.031±0.0090.255±0.0070.027±0.0060.029±0.0030.029±0.005 CHD490.299±0.0130.304±0.0200.307±0.0160.325±0.0130.323±0.0220.307±0.0040.325±0.0130.294±0.0110.297±0.013 Enron0.048±0.0010.048±0.0020.052±0.0020.051±0.0010.051±0.0010.062±0.0010.051±0.0010.047±0.0010.046±0.000 Langlog0.016±0.0010.016±0.0010.016±0.0010.020±0.002DNF0.016±0.0010.037±0.0020.180±0.0030.170±0.001 Medical0.010±0.0010.010±0.0010.012±0.0010.010±0.0010.012±0.0010.028±0.0010.010±0.0010.014±0.0010.013±0.000 VirusGo0.045±0.0120.045±0.0140.047±0.0190.042±0.0170.042±0.0190.203±0.0130.042±0.0170.044±0.0030.044±0.005 Waterqy0.293±0.0090.295±0.0090.323±0.0020.329±0.0040.303±0.0100.338±0.0080.311±0.0050.286±0.0040.293±0.007 3sbbc10000.209±0.0110.223±0.0120.206±0.0100.251±0.0290.250±0.0130.188±0.0080.251±0.0290.195±0.0060.190±0.005 续表 Datasets Ranking loss↓ EBRECCEPSRAkELCDEAdaBoost.MHMLSMLWSEL1MLWSEL21 Emotions0.171±0.0190.171±0.0130.196±0.0150.316±0.0310.176±0.0190.427±0.0290.326±0.0360.159±0.0130.149±0.011 Flags0.201±0.0320.217±0.0410.220±0.0510.318±0.0420.256±0.0600.238±0.0340.272±0.0350.233±0.0210.200±0.011 Scene0.079±0.0090.092±0.0090.101±0.0080.195±0.0150.138±0.0100.472±0.0130.227±0.0210.068±0.0030.069±0.003 Yeast0.185±0.0100.191±0.0100.202±0.0080.336±0.0150.219±0.0090.363±0.0290.316±0.0120.171±0.0010.168±0.001 Birds0.098±0.0120.111±0.0130.140±0.0140.199±0.0260.134±0.0150.229±0.0370.168±0.0120.120±0.0080.110±0.003 GpositiveGO0.025±0.0050.027±0.0080.031±0.0110.034±0.0120.029±0.0120.301±0.0190.025±0.0060.026±0.0050.024±0.004 CHD490.222±0.0150.230±0.0200.226±0.0210.313±0.0140.255±0.0270.222±0.0110.313±0.0200.215±0.0060.210±0.007 Enron0.085±0.0080.150±0.0140.161±0.0110.302±0.0110.198±0.0010.240±0.0110.175±0.0050.105±0.0030.092±0.007 Langlog0.121±0.0050.273±0.0170.291±0.0130.413±0.011DNF0.470±0.0150.166±0.0390.248±0.0050.230±0.004 Medical0.031±0.0030.042±0.0110.057±0.0110.097±0.0160.074±0.0050.285±0.0100.070±0.0160.033±0.0090.025±0.004 VirusGo0.030±0.0150.033±0.0150.030±0.0170.067±0.0550.043±0.0180.264±0.0450.042±0.0250.031±0.0040.032±0.005 Waterqy0.253±0.0060.256±0.0060.347±0.0070.368±0.0070.275±0.0050.374±0.0110.325±0.0060.247±0.0080.262±0.006 3sbbc10000.404±0.0340.417±0.0310.383±0.0370.497±0.0350.434±0.0030.422±0.0270.497±0.0580.381±0.0200.389±0.025 表3.4Benchmark数据集比较结果(F1、MacroF1和MicroF1) Datasets F1↑ EBRECCEPSRAkELCDEAdaBoost.MHMLSMLWSEL1MLWSEL21 Emotions0.597±0.0370.612±0.0370.615±0.0180.509±0.0360.608±0.0310.037±0.020.509±0.0360.639±0.0240.614±0.014 Flags0.711±0.0570.735±0.0500.699±0.0490.721±0.0430.721±0.0650.631±0.0630.721±0.0430.700±0.0200.721±0.025 Scene0.620±0.0070.675±0.0140.655±0.0060.573±0.0160.573±0.0090.000±0.0000.573±0.0160.708±0.0050.672±0.010 Yeast0.599±0.0140.611±0.0070.599±0.0130.556±0.0120.595±0.0070.456±0.0190.556±0.0120.647±0.0060.625±0.004 Birds0.618±0.0220.631±0.0160.616±0.0190.603±0.0370.621±0.040.456±0.0150.603±0.0370.152±0.0240.140±0.009 GpositiveGO0.938±0.0120.931±0.0170.940±0.0080.934±0.0180.933±0.0180.000±0.0000.934±0.0180.945±0.0090.941±0.008 CHD490.628±0.0220.643±0.0240.643±0.0160.587±0.0160.610±0.0320.580±0.0070.587±0.0160.659±0.0080.654±0.016 Enron0.537±0.0150.579±0.0170.472±0.0200.525±0.0120.523±0.0120.231±0.0130.525±0.0120.578±0.0110.576±0.006 Langlog0.239±0.0260.246±0.0200.236±0.0240.267±0.025DNF0.142±0.0220.115±0.0260.487±0.0040.496±0.002 Medical0.785±0.0250.795±0.0260.779±0.0240.783±0.0310.751±0.0430.000±0.0000.783±0.0310.773±0.0150.770±0.011 VirusGo0.883±0.0570.879±0.0550.893±0.0370.880±0.0560.893±0.0470.000±0.0000.880±0.0560.913±0.0080.905±0.013 Waterqy0.532±0.0070.556±0.0110.299±0.0220.452±0.0110.543±0.0060.244±0.0430.513±0.0060.550±0.0090.557±0.011 3sbbc10000.047±0.0120.128±0.0270.207±0.0280.162±0.0290.159±0.0190.000±0.0000.162±0.0290.051±0.0220.043±0.021 续表 Datasets MacroF1↑ EBRECCEPSRAkELCDEAdaBoost.MHMLSMLWSEL1MLWSEL21 Emotions0.639±0.0290.641±0.0270.631±0.0220.551±0.0390.635±0.0370.038±0.0180.551±0.0390.608±0.0230.584±0.013 Flags0.657±0.0630.671±0.0860.587±0.0650.658±0.0770.668±0.0770.560±0.1290.658±0.0770.687±0.0240.711±0.025 Scene0.709±0.0090.728±0.0130.707±0.0030.634±0.0150.629±0.0020.000±0.0000.634±0.0150.700±0.0050.665±0.010 Yeast0.385±0.0090.398±0.0060.374±0.0050.383±0.0100.405±0.0110.122±0.0030.384±0.0090.619±0.0060.593±0.004 Birds0.321±0.0550.291±0.0120.265±0.0520.349±0.0480.336±0.0570.053±0.0330.349±0.0480.141±0.0220.133±0.010 GpositiveGO0.871±0.0450.854±0.0620.901±0.0470.859±0.0540.845±0.0560.000±0.0000.859±0.0540.943±0.0080.940±0.007 CHD490.498±0.0150.512±0.0260.510±0.0170.470±0.0220.490±0.0300.270±0.0020.470±0.0220.629±0.0070.624±0.017 Enron0.219±0.0150.225±0.0160.182±0.0100.214±0.0210.157±0.0000.085±0.0140.214±0.0210.548±0.0090.547±0.005 Langlog0.270±0.0470.273±0.0480.264±0.0430.284±0.048DNF0.237±0.0470.051±0.0010.474±0.0060.478±0.003 Medical0.653±0.0290.630±0.0310.616±0.0580.669±0.0370.468±0.0020.324±0.0360.669±0.0370.758±0.0150.755±0.011 VirusGo0.796±0.0780.833±0.0720.844±0.0900.803±0.0690.858±0.0890.067±0.0820.803±0.0690.902±0.0090.894±0.011 Waterqy0.502±0.0050.523±0.0110.177±0.0190.413±0.0120.503±0.0040.091±0.0200.466±0.0110.518±0.0110.526±0.010 3sbbc10000.062±0.0320.115±0.0270.246±0.0280.189±0.0510.180±0.0020.000±0.0000.189±0.0510.049±0.0210.036±0.023 续表 Datasets MicroF1↑ EBRECCEPSRAkELCDEAdaBoost.MHMLSMLWSEL1MLWSEL21 Emotions0.662±0.0280.663±0.0250.654±0.0230.564±0.0380.654±0.0340.063±0.0320.564±0.0380.664±0.0130.658±0.013 Flags0.746±0.0510.760±0.0510.725±0.050.745±0.0460.741±0.0630.693±0.0640.745±0.0460.719±0.0170.737±0.017 Scene0.705±0.0070.718±0.0120.700±0.0060.624±0.0150.617±0.0030.000±0.0000.624±0.0150.750±0.0040.733±0.009 Yeast0.628±0.0110.636±0.0060.625±0.0120.581±0.0120.617±0.0060.480±0.0160.581±0.0110.644±0.0060.621±0.004 Birds0.431±0.0540.450±0.0310.402±0.0340.444±0.0480.456±0.0550.000±0.0000.444±0.0480.365±0.0310.359±0.027 GpositiveGO0.947±0.0080.939±0.0180.939±0.0090.946±0.0130.938±0.0180.000±0.0000.946±0.0130.942±0.0050.942±0.009 CHD490.655±0.0170.667±0.0250.663±0.0180.619±0.0190.638±0.0280.598±0.0040.619±0.0190.658±0.0060.653±0.017 Enron0.562±0.0040.583±0.0130.481±0.0160.550±0.0090.544±0.0020.245±0.0140.550±0.0090.565±0.0070.566±0.004 Langlog0.159±0.0220.174±0.0120.156±0.0270.191±0.014DNF0.000±0.0000.192±0.0290.532±0.0060.544±0.003 Medical0.810±0.0160.815±0.0240.780±0.0280.813±0.0260.781±0.0270.000±0.0000.813±0.0260.754±0.0130.759±0.007 VirusGo0.890±0.0330.890±0.0360.881±0.0470.897±0.0420.898±0.0460.000±0.0000.897±0.0420.894±0.0080.894±0.011 Waterqy0.563±0.0060.585±0.0110.304±0.0240.480±0.0100.570±0.0080.259±0.0450.544±0.0080.559±0.0070.557±0.009 3sbbc10000.079±0.0230.173±0.0340.277±0.0330.215±0.0360.208±0.0300.000±0.0000.215±0.0360.086±0.0330.084±0.042 根据表3.3和表3.4的实验结果,可以得到以下结论: (1) 与基于bagging模式的多标签集成方法比较,如EBR[9]、ECC[9]、EPS[10]、RAkEL[11]、CDE[12],在大多数情况下,MLWSE优于bagging的集成模式。原因是MLWSE能根据不同的标签,给分类器分配不同的标签权重,并且考虑了标签的成对依赖关系。 (2) 与基于stacking模式的多标签集成方法比较,如MLS[17],在大多数情况下,MLWSE获得了更好的性能,如Accuracy和F1。原因是不同于MLS,提出的方法考虑了标签的依赖关系,并且基于不同的标签给不同的基分类器分配了不同的权重。 (3) 与基于boosting模式的多标签集成方法比较,如AdaBoost.MH[15],MLWSE获得了比AdaBoost.MH更好的结果,尽管AdaBoost.MH考虑了分类器的权重,但是和MLWSE权重设置策略不一样,MLWSE更多地考虑了多标签存在的客观问题,即标签之间的依赖关系。 3.5.3Realworld数据实验 为了分析MLWSE在实际多标签场景中的应用,本书应用MLWSE到真实的心脑血管疾病数据集。数据集来自××省××人民医院,患有心脑血管疾病的病人,样本总数为3823个,有59个特征和9个标签,9个标签依次是脑缺血性卒中(CIS)、脑出血(CH)、蛛网膜下腔出血(SAH)、脑静脉血栓形成(CVT)、颅内动脉瘤(IA)、脑血管畸形(CVM)、心脏病(HD)、糖尿病(DM)、高血压(HT),标签样本数及标签频率见表3.5,实验结果见表3.6。 表3.5Realworld心脑血管疾病数据集 LabelInstancesLabel Frequency CIS33800.884 CH1400.036 SAH1340.035 CVT80.002 IA230.006 CVM200.005 HD11330.296 DM9200.240 HT25130.657 根据表3.6的实验结果可知,相比于其他多标签集成方法,在真实的心脑血管疾病数据集,针对不同的评估标准,如Accuracy、Ranking loss、F1、MacroF1,提出的方法取得了非常好的实验结果。 进一步,为了验证提出的方法是否考虑了标签的依赖关系,即如果两个标签是强相关的,那么学习到的权重向量应该也有高的相似,如图3.4所示,标签矩阵和权重矩阵存在着很强的灰度表示一致。也就是说,如果标签yj和yk是强的相关,权重向量对Wj,Wk也有高的相似。实验结果表明了提出假设的合理性。 表3.6Realworld心脑血管疾病实验结果 AlgorithmAccuracy↑Hamming loss↓Ranking loss↓F1↑MacroF1↑MicroF1↑ EBR0.6923±0.01180.0910±0.00500.0395±0.00400.7694±0.01020.4038±0.04640.8079±0.0100 ECC0.7041±0.00820.0896±0.00410.0472±0.00450.7800±0.00640.4196±0.04950.8156±0.0074 EPS0.6904±0.00690.0935±0.00340.0492±0.00570.7673±0.00600.4045±0.05080.8063±0.0069 RAkEL0.6797±0.00470.0957±0.00280.0853±0.00460.7597±0.00400.3985±0.04770.7982±0.0058 CDE0.6953±0.00600.0913±0.00340.0579±0.00530.7718±0.00490.4096±0.04580.8094±0.0066 AdaBoost.MH0.6178±0.01260.1201±0.00450.0536±0.00440.7213±0.01100.2146±0.04420.7405±0.0094 MLS0.6797±0.00470.0957±0.00280.0814±0.00300.7597±0.00400.3985±0.04770.7982±0.0058 MLWSEL10.9090±0.00150.0910±0.00150.0388±0.00160.7979±0.00350.7686±0.00270.8102±0.0038 MLWSEL210.9101±0.00090.0899±0.00090.0384±0.00780.7968±0.00350.7681±0.00330.8116±0.0023 图3.4标签矩阵灰度图和对应的权重矩阵灰度图 3.5.4Friedman检验分析 本书使用Friedman检验[109110]分析不同算法之间的性能,对每一个算法度量标准,表3.7提供了Friedman统计FF和α=0.05相应的临界值。基于Friedman检验分析,当两个算法的性能显著不同时,需要通过“后续检验”来进一步区分各个算法之间的不同,常用的方法有Nemenyi后续检验[110]。实验中,通过Nemenyi检验计算得到平均序值差别临界值 CD=qak(k+1)6N 当α=0.05时,qa=3.102。也就是说,当两个算法的平均序值之差超过临界值CD时,则以相应的置信度值认为两个算法的性能有显著的不同。对Nemenyi后续检验,使用参数k=9,N=14,其中包括13个Benchmark数据集和1个真实的心脑血管疾病数据集,通过计算CD=3.211。图3.5显示了不同评价指标的CD图,通过观察每个子图,提出的MLWSE算法性能和其他算法有显著的不同。 表3.7Friedman检验FF(k=9,N=14)和对应的不同度量的临界值 MetricFFCritical Value (α=0.05) Accuracy35.075 Hamming loss6.348 Ranking loss37.824 F19.261 MacroF110.243 MicroF18.3123.211 图3.5不同评价指标的CD图 图3.5(续) 根据Friedman检验结果,可以得出以下结论: (1) EBR方法在Hamming loss上优于其他方法。因为EBR是基于BR模型集成的,主要在于优化汉明损失,不考虑标签的相关性。而除EBR外,提出的MLWSEL21在Hamming loss方面优于其他方法。 (2) ECC在MicroF1上优于其他方法。因为ECC是一种高阶方法,考虑了标签的全局依赖关系,它试图对全局标签进行建模。而除ECC外,提出的MLWSEL1在MicroF1方面优于其他方法。 (3) MLWSE在其他四个方面都优于相关的多标签集成方法,指出了提出的方法使用局部标签依赖关系和加权分类器选择是有效的。 3.5.5参数敏感性分析 实验在Emotions和GpositiveGO两个数据集,分析参数的敏感性。对MLWSEL1,参数α、β取值范围为{10-5,10-4,…,103,104},η设置为0.1; 对MLWSEL21,参数α的取值范围为{0.01, 0.05, 0.1, 0.15, 0.2},β的取值范围为{10-4,10-3,…,101,102},λ的取值范围为{10-5,10-4,…,101,102},η设置为0.1。对每个(α,β)对,记录F1均值,图3.6描述了在Emotions和GpositiveGO两个数据集上α和β参数的影响。从图3.6能够看出: ①当α取值较大时,MLWSEL1的性能较差,尤其是当α>10时,MLWSEL1性能很差; ②随着β值的增加,MLWSEL1性能开始提高,随后下降,因此最终固定参数α、β分别在10-4、10-3。 图3.6MLWSEL1参数敏感性分析 在MLWSEL21,实验首先在Emotions数据集上通过使用5折交叉验证选择一组最好的参数,然后保持这个参数不变,改变另外两个进行分析,如图3.7(a)~(l)所示。通过分析可以看出: (1) 当固定α时,λ和β两个后选集在 {10-4,10-3,10-2} 能够获得满意的结果; (2) 当固定λ时,取不同的(α,β)值,MLWSEL21的性能是稳定的; (3) 当固定β时,α和λ两个后选集在 {10-5,10-4,10-3,10-2}能够获得满意的结果。 图3.7MLWSEL21参数敏感性分析 图3.7(续) 3.5.6收敛性分析 分析MLWSEL1和MLWSEL21算法收敛性在Emotions、Scene、Yeast 和 VirusGo四个数据集。在MLWSE中,使用加速的近端梯度下降和块坐标下降两个算法来优化,加速的近端梯度已经被证明可以收敛到O(1/t2)[99],而块坐标下降算法已经被证明可以收敛到O((logt/t)2)[101]。图3.8显示了随着迭代数的增加,MLWSE损失值的变化情况,图3.8(a)为MLWSEL1,当迭代到300时, 图3.8MLWSE算法收敛性分析 损失值趋于稳定,当迭代次数到200时,损失值降到0.008,对性能有较小的影响,因此我们实验设置迭代次数为200; 图3.8(b)为MLWSEL21,当外循环迭代次数到200时,损失值趋于稳定,而内循环在我们的实验设置为100,根据实验分析,提出的MLWSE有很好的收敛率并且比一些多标签集成方法较快,因为算法使用了加权的分类器选择策略,减少了计算开销。 3.6本章小结 本章介绍了一种用于多标签分类的加权堆叠选择集成算法MLWSE,它使用稀疏性进行正则化以促进分类器选择和集成构建,同时利用分类器权重和标签相关性来提高分类性能。另外,提出的MLWSE不仅可以作为标签元级特别特征选择方法,而且可以兼容任何现有的多标签分类算法作为其基分类器,最后提出的方法MLWSEL1和 MLWSEL21在13个多标签基准数据集与真实的心血管和脑血管疾病数据集上进行了综合的实验分析,比较结果证实了算法的优势,且在真实的多标签应用中具有较好的实验结果。