基于交叉熵的安全Tri-training算法

张 永 陈蓉蓉 张 晶

(辽宁师范大学计算机与信息技术学院 辽宁大连 116081)(zhyong@lnnu.edu.cn)

摘 要 半监督学习方法通过少量标记数据和大量未标记数据来提升学习性能.Tri-training是一种经典的基于分歧的半监督学习方法,但在学习过程中可能产生标记噪声问题.为了减少Tri-training中的标记噪声对未标记数据的预测偏差,学习到更好的半监督分类模型,用交叉熵代替错误率以更好地反映模型预估结果和真实分布之间的差距,并结合凸优化方法来达到降低标记噪声的目的,保证模型效果.在此基础上,分别提出了一种基于交叉熵的Tri-training算法、一个安全的Tri-training算法,以及一种基于交叉熵的安全Tri-training算法.在UCI(University of California Irvine)机器学习库等基准数据集上验证了所提方法的有效性,并利用显著性检验从统计学的角度进一步验证了方法的性能.实验结果表明,提出的半监督学习方法在分类性能方面优于传统的Tri-training算法,其中基于交叉熵的安全Tri-training算法拥有更高的分类性能和泛化能力.

关键词 半监督学习;Tri-training算法;交叉熵;凸优化;样本标记

传统的分类方法通常使用有标签的数据进行训练.然而,随着人们收集数据能力的不断提升,获得大量的未标记数据样本相对容易,而获取已标记数据样本通常却需要付出昂贵的人力、物力和财力.如何让学习器利用少量的标记数据和大量的未标记数据来提升学习性能,是半监督学习(semi-supervised learning, SSL)[1-2]所要解决的问题.目前常用的半监督学习方法主要包括生成式方法[3]、半监督支持向量机(semi-supervised support vector machine, S3VM)[4-5]、图半监督学习[6]、基于分歧的方法[7]和半监督聚类[8]等.

其中,基于分歧的方法起源于协同训练[9].标准的协同训练算法需要2个足够多的冗余视图,即属性可以自然地分为2组,且每组在给定类标签的情况下有条件地独立于另一组.然而在实际应用中,并不是所有的数据集都能满足这一特征.为了更加方便地应用到各种常见的数据挖掘场景,Zhou等人[10]提出了一种协同训练算法Tri-training,该算法不需要足够的冗余视图,也不需要使用不同的监督学习方法,有效提高了半监督学习的效率.Søgaard[11]提出了一种带分歧的Tri-training算法,旨在提升模型的薄弱点,比一般的Tri-training算法更具有效率.Saito等人[12]提出了一种用于无监督域自适应的非对称Tri-training算法,通过不对称地使用3个神经网络,达到对目标域未标记数据进行标记的目的,从而提高了迁移学习领域的自适应性能.Ruder等人[13]为了减少Tri-training过程中的时间和空间复杂度,把迁移学习思想引入半监督学习,提出了多任务Tri-training算法.Ou等人[14]提出了一种基于正则化局部嵌入的Tri-training方法用于高光谱图像分析,解决了奇异值和过拟合的问题,有效提高了高光谱图像的分类精度.Park等人[15]结合Tri-training方法和对抗学习方法构建了一个半监督学习框架,用来检测单个音频剪辑中多个声音事件的设置和偏移.该框架先用Tri-training方法标记数据,然后使用对抗学习方法来减少真实数据集和合成数据集之间的域间隙.然而上述Tri-training算法依赖于初始的分类器,忽略了标记后产生的噪声标签.研究表明[16],在某些情况下,使用未标记的数据进行半监督学习时会使性能退化,导致一个不安全的学习模型,而在Tri-training训练过程中产生的不正确伪标签是性能下降的主要根源.本文提出一种安全的半监督学习方法,即使在使用未标记数据时也不会显著降低学习性能.

本文从降低误标记样本的角度出发,将交叉熵、凸优化分别与Tri-training算法相结合,提出了3个不同的算法.实验结果表明,基于交叉熵的安全Tri-training算法具有最优的分类性能.针对半监督分类学习任务,本文的主要贡献有3个方面:

1) 将交叉熵与Tri-training算法相结合,提出一种基于交叉熵的Tri-training算法;

2) 使用铰链损失函数,提出了一个安全的Tri-training算法;

3) 运用凸优化方法,提出一种基于交叉熵的安全Tri-training学习框架.

1 相关工作

本节主要介绍了基于分歧的半监督学习方法Tri-training的基本思想、相对熵和交叉熵的相关知识,以及基于凸优化的半监督分类学习方法.

1.1 Tri-training算法

Tri-training算法[10]不要求数据集有充足和冗余的视图,通过建立3个基分类器,用一种监督学习方法即可实现.基本思想是:首先,通过Bootstrap方法重采样原始标记数据集L,训练得到3个基分类器h1,h2,h3.然后,对未标记数据集U中的数据x进行标记,只需有2个分类器对x的标记一致即可,并将该未标记样本及其分类一致的标签加入到另外一个分类器的训练集中,重新训练基分类器,依此类推.重复迭代上述过程,直到3个基分类器的性能不再改变为止.最后,采用多数投票法确定最终的分类结果.

在标记过程中,产生的错误标记样本会对结果造成影响.为了减少标记过程中产生的噪声样本,该算法基于Angluin等人[17]的理论结果,根据分类噪声率和每轮训练的分类错误率决定伪标记样本是否用于分类器更新.Zhou等人[10]证明,如果新标记的训练样本足够多且满足式(1)所设定的约束条件,则基分类器重新训练所得的分类性能会迭代提升.

(1)

其中,Lt表示第t次迭代hjhkhi新标记的训练集表示第t次迭代hjhk的错误率上限,ηL表示初始训练集L的噪声率.通常情况下ηL很小,一般假定则当|L|>|Lt-1|时,由式(1)可推出即有:

(2)

在Tri-training训练过程中,用式(2)来判断由hjhk给出一致标记的数据所组成的数据集Lt是否应该被加入到hi的新训练集中.

Tri-training不需要数据集有冗余的视图,对基学习器也没有特定的要求,因此成为基于分歧的半监督学习方法中最常用的技术.然而该算法在训练过程中产生的标记噪声,可能会对最后的模型产生不好的影响.为了减少Tri-training算法过程中的标记噪声对未标记数据的预测偏差,学习到更好的半监督分类模型,本文结合交叉熵和凸优化方法,提出了一种基于交叉熵的安全Tri-training学习框架.

1.2 相对熵与交叉熵

相对熵又称为KL散度(Kullback-Leible diver-gence),是2个概率分布间差异的非对称性度量[18].在信息理论中,相对熵可用于表示2个概率分布的信息熵的差值.假设在给定样本集χ上定义样本真实分布为P,模型预测分布为Q,则PQ的相对熵或KL散度可以定义为[19]

(3)

DKL值越小,表示PQ的分布越接近.当且仅当2个概率分布相同时,相对熵DKL=0.

交叉主要用于描述两个事件之间的相互关系.Rubinstein[20]提出了交叉熵的概念,用来度量2个概率分布的差异性.由式(3)变形可得:

(4)

式(4)等号右端前半部分为分布P的熵,后半部分即为交叉熵:

(5)

交叉熵具有2个重要性质:

1) 非对称性.即H(P,Q)≠H(Q,P).

2) 非负性.H(P,Q)≥0,且有H(P,P)=H(P).

在机器学习中,为了评估“学习模型的预测分布Q”与“训练数据真实分布P”之间的差距,通常采用KL散度来度量,即由式(4)可知,等号右端前半部分-H(P)保持不变,因此在优化过程中,只需要考虑交叉熵H(P,Q).

交叉熵已经广泛应用于组合优化、机器学习等领域.Bosman等人[21]提出了一种基于交叉熵和平方误差损失函数的梯度随机采样可视化方法,实验结果表明交叉熵损失比二次损失具有更强的梯度和可搜索性.Li等人[22]在交叉熵损失中加入正则项,提出了一个对偶交叉熵损失函数,用来优化神经网络结构,实验结果表明提出的损失函数提升了分类性能.Lu等人[23]提出了一种动态加权交叉熵作为语义分割的损失函数,设计了一种加权方法对交叉熵进行加权,并在每一个训练步骤中迭代权重.实验结果表明该方法能有效地提高数据极不平衡情况下的分割精度.Lopez-Garcia等人[24]将交叉熵和遗传算法相结合,提出了一种模糊规则系统层次结构要素的优化方法,能更好地预测短期交通拥堵状况.交叉熵可直接使用作为损失函数评估模型,当交叉熵最低时,可以认为得到了一个最好的训练模型.

1.3 基于凸优化的半监督学习

在半监督学习中,仅有极少数的标记数据,大部分是未标记数据.因此,人们通常希望利用未标记数据来提高模型的学习性能.但在某些情况下,现有的半监督学习方法比仅使用标记数据的监督学习方法表现更差.为了解决这一问题,Li等人[25]提出了一种安全的半监督SVM(safe semi-supervised support vector machine, S4VM)方法,该方法提高了半监督SVM的性能.Krijthe等人[26]提出了一种隐式约束的最小二乘半监督学习方法,该方法隐式地考虑所有可能的未标记数据的标记,同时能最大限度地减少已标记数据的平方损失.Guo等人[27]提出了一种方案,通过整合几个弱监督的分类器来建立最终的预测结果,并在噪声学习、域自适应和半监督回归任务上验证了方案的有效性.

2 基于交叉熵的安全Tri-training算法

为了提高未标记数据对于半监督分类性能的影响,本文使用凸优化方法,通过半监督分类的凸线性组合给出标记,提高安全半监督分类的准确性.本节首先利用交叉熵在信息差异度量方面的优势,提出了一种基于交叉熵的Tri-training算法;其次,提出了一种安全的Tri-training学习算法,以提升未标记数据的分类性能;最后,给出了一个基于交叉熵的安全Tri-training学习框架.

2.1 基于交叉熵的Tri-training算法

机器学习方法期望在训练数据模型上学习到的分布Q与真实数据分布P越接近越好,然而真实分布是不可知的.假定训练数据是从真实数据中独立同分布采样而得到的,则期望学习到的模型分布Q与训练数据分布P′近似相同.最小化QP′之间的差异,即最小化训练数据的分布是不变的,因此,最小化等价于求H(P′,Q),也就是2个分布之间的交叉熵.交叉熵值越低,表明学习到的模型分布越接近于训练数据分布.

在计算“学习到的模型分布”与“训练数据分布”之间的信息差异量时,交叉熵相比利用误分率来衡量该差异性有更多的优势.本文首先将交叉熵与Tri-training算法相结合,提出一种基于交叉熵的Tri-training算法,具体描述如算法1所示.

算法1. 基于交叉熵的Tri-training算法.

输入:训练集D=LU,其中LU分别为已标记数据集和未标记数据集,测试集T;

输出:测试数据集T中数据x的标签h(x).

① for i=1 to 3 do

SiBootstrap(L), hiLearn(Si);

③ 初始化参数

④ end for

⑤ repeat

⑥ for i=1 to 3 do

Li←∅;

ei←(Hj+Hk)2; *Hj,Hk(j,ki)为基分类器的交叉熵*

⑩ for U中每个样本x do

if hj(x)=hk(x) (j,ki) then

LiLi∪{(x,hj(x))};

end if

end for

end if

更新Li; *根据约束条件式(2),从Li中随机删除若干个数据*

end if

end for

for i=1 to 3 do *更新*

SiLLihiLearn(Si);

end for

until hi的性能没有改变

计算测试集T中数据x的标签,wi为权重*

输出所有的h(x).

在算法1中,行①~④用Bootstrap方法从已标记数据集L中重采样3次,训练得到3个基分类器hi (i=1,2,3),并初始化其误差参数和无标记学习数据规模行⑧利用交叉熵估算hi的分类误差ei:基分类器hj,hk (j,ki)分别对标记数据集L进行预测,得到预测分布,结合已标记数据集的真实分布,利用式(5)分别计算hjhk的交叉熵HjHk,得到误差ei=(Hj+Hk)2.行⑩~利用任意2个基分类器对未标记数据进行分类,如果标记一致,则将该数据及其标签加入到第3个基分类器的训练集中.行利用新生成的训练集对3个基分类器重新训练.重复该过程,直到基分类器的性能不再改变为止.最后,根据加权投票规则计算测试数据集的分类标签,其中权重wi表示3个基分类器在初始已标记数据集L上的分类准确率.

相对于Tri-training算法,算法1用交叉熵代替了Tri-training算法中的分类误差,用加权投票规则确定最终的分类标签,在一定程度上提升了未标记数据的分类性能.

2.2 一个安全的Tri-training学习算法

对于半监督分类任务,假设对于未标记的样本得出的n个预测结果为{y1,y2,…,yn}, yiHu,i=1,2,…,n,其中n为基分类器个数,u为未标记样本的个数,且在二分类任务中H={-1,+1}.同时,用y0Hu表示在使用已标记数据训练的监督模型上所得的分类结果.半监督分类任务的目标是得到一个安全的预测结果y=g({y1,y2,…,yn},y0),且结果并不比y0差.用y*表示未标记样本的真实标签,而在实际中y*是未知的,因此将y*看作是基分类器的凸组合并实现以下优化目标[27]:

(6)

其中,(·,·)是可用于分类任务的损失函数,w=(w1,w2,…,wn),wi为基分类器的非负权重且是反映基分类器重要先验知识的凸组合集.

损失函数是用来估量模型的预测值与真实值的不一致程度.常见的用于分类任务的损失函数包括均方损失、铰链损失、交叉熵损失等.损失函数越小,模型的准确性越好.铰链损失和交叉熵损失都可以转化为凸优化问题,并通过凸优化技巧实现优化,损失函数在分类任务中的优化具有一般普适性[28-29].

铰链损失可以表示为预测结果的线性关系,使得铰链损失作为分类任务中的损失函数具有更好的性能[29].文献[27]证明当(·,·)选用铰链损失时,式(6)在分类任务中可转换为一个凸优化问题.

对于一个分类问题,用p=(p1,p2,…,pu)表示u个样本的真实标签,q=(q1,q2,…,qu)表示预测标签,铰链损失函数可定义为

(7)

当采用铰链损失时,式(6)的最优解应该满足:

(8)

根据铰链损失函数的性质,当时,有:

从而式(6)可改写为

(9)

其中,M可表示为为0~1之间的一个常量,即为式(9)的约束条件.易知,式(9)是一个凸优化问题,通过对其求解,可安全地利用未标记数据来提高半监督分类算法的鲁棒性.

借助上述思想,我们将安全性融入到Tri-training算法中,以此来提高半监督学习算法的准确率和鲁棒性.算法2描述了用于半监督分类时安全的Tri-training学习算法.

算法2. 安全的Tri-training学习算法.

输入:训练集D=LU,其中LU分别为已标记数据集和未标记数据集,测试集T;

输出:测试数据集T中数据x的标签h(x).

h0Learn(L);

*用L训练基准分类器h0*

② 调用Tri-training(L,U)训练基分类器hi (i=1,2,3);

y0h0(T),yihi(T) (i=1,2,3);

*利用h0,hiT进行初步预测*

④ 构造如(9)所示的目标函数:

*u为测试集T中的数据个数*

⑤ 求解该优化问题并得到最优解

*计算T中数据x的标签*

⑦ 输出所有的h(x).

首先,算法2的行①在标记数据集L上训练了一个基准分类器h0,行②调用了传统的Tri-training算法,得到3个训练好的基分类器hi(i=1,2,3);其次,行③利用基准分类器h0和3个基分类器hi对测试数据集T进行初步预测,得到基准预测结果y0和候选预测结果yi;然后,行④⑤按照文献[27]的思想构建一个凸优化问题,并求解该优化问题,得到最优权重最后,输出未标记数据的标签.

Tri-training算法在基分类器预测分类结果后,采用多数投票方法来确定未标记数据的标签,未充分考虑每个分类器自身的强弱,可能降低未标记数据的分类性能,甚至低于直接用基准分类器h0对未标记数据分类得到的分类性能.与Tri-training算法相比,算法2分别用基准分类器和Tri-training对未标记数据进行学习,利用其初始预测结果构建一个优化问题,从而提升未标记数据的分类性能.

2.3 基于交叉熵的安全Tri-training学习框架

为了减少算法2过程中产生的噪声标记,进一步降低Tri-training的误分率,本文将交叉熵用于安全Tri-training算法中,提出基于交叉熵的安全Tri-training算法,如算法3所示.算法3不仅利用交叉熵来估算每个基分类器的分类误差,而且还基于初始预测结果构建了一个优化问题来求解最优解.

算法3. 基于交叉熵的安全Tri-training算法.

输入:训练集D=LU,其中LU分别为已标记数据集和未标记数据集,测试集T;

输出:测试数据集T中数据x的标签h(x).

h0Learn(L);

*用L训练基准分类器h0*

hiLearn(Bootstrap(L)), 初始化参数

*重采样L训练3个基分类器hi *

③ repeat

④ for i=1 to 3 do

Li←∅;

ei←(Hj+Hk)2; *Hj, Hk (j,ki)为基分类器的交叉熵*

⑧ for U中每个样本x do

⑨ if hj(x)=hk(x) (j,ki) then

LiLi∪{(x,hj(x))};

end if

end for

end if

更新Li; *根据约束条件式(2),从Li中随机删除若干个数据*

end if

end for

for i=1 to 3 do *更新*

SiLLihiLearn(Si);

end for

until hi的性能没有改变

y0h0(T),yihi(T) (i=1,2,3);

构造目标函数:

求解该优化问题并得到最优解

*计算T中数据x的标签*

输出所有的h(x).

3 实验结果与分析

3.1 实验数据集

为了验证本文方法的有效性,实验选取12个UCI(University of California Irvine)机器学习库[30]中的数据集和1个入侵检测数据集UNSW-NB15[31],共13个数据集,这些数据集仅包含2类,数据集基本信息如表1所示.其中,入侵检测数据集UNSW-NB15仅分为正常类和异常类两大类,且选取该数据集的10%进行实验.

Table 1 Experimental Datasets

表1 实验数据集

数据集样本数属性数类比例∕%正类负类wdbc5693037.362.7winewhite48981133.566.5abalone4177832.167.9haberman306328.471.6spect2674420.679.4chronic4001437.562.5adult325611424.175.9electrical100001336.263.8Australian6901444.555.5liverdisorders345642.058.0heart2701344.455.6german10002430.070.0UNSW-NB151753414231.968.1

本文针对半监督学习,所需要的数据集仅含有少量的标记数据,其余大部分为未标记数据,而本文的13个数据集都带有标记.为了构造半监督学习任务,模拟现实中仅含有少量标记样本的情况,实验中选取20%的样本作为测试集T,余下的全部为训练集D,从D中选取20%作为已标记样本集L,80%作为未标记样本集U.

3.2 实验结果分析

本文提出了3个算法,包括基于交叉熵的Tri-training算法(Tri-training algorithm based on cross entropy, TCE)、安全的Tri-training算法(safe Tri-training algorithm, ST)和基于交叉熵的安全Tri-training算法(safe Tri-training algorithm based on cross entropy, STCE),与Tri-training算法进行实验对比.实验中采用反向传播神经网络(back propa-gation, BP)作为基分类器.

本文在混淆矩阵的基础上对算法进行性能评价.对于二分类问题,混淆矩阵如表2所示:

Table 2 Confusion Matrix

表2 混淆矩阵

真实类别预测类别正类负类正类TP(true positives)FN(false negatives)负类FP(false positives)TN(true negatives)

表2中TP,FP,TN,FN分别表示真正类、假正类、真负类、假负类的数量.召回率Recall、精度Precision、特效性SpecificityFF-measureG均值G-means、准确率Accuracy等性能指标的计算公式分别为

Recall=TP(TP+FN),

(10)

Precision=TP(TP+FP),

(11)

Specificity=TN(TN+FP),

(12)

(13)

(14)

(15)

本文选取了F-measure,G-means,Accuracy,Precision,Recall这5个指标来评价算法性能,实验结果如表3~7所示:

Table 3 F-measure

表3 F-measure

注:黑体值为最佳性能指标值.

数据集Tri-trainingTCESTSTCEwdbc0.93710.95170.94520.9583winewhite0.51550.53730.56380.5399abalone0.57030.57560.57200.5720haberman0.19510.22220.29410.2500spect0.54050.50000.40820.5098chronic0.96200.92681.00000.9383adult0.61900.61000.61090.6142electrical0.99340.99230.99180.9945Australian0.78750.80980.80770.8471liverdisorders0.39390.38710.43480.5570heart0.66670.69840.73330.7619german0.50290.53150.56380.5693UNSW-NB150.94320.94190.94080.9436

Table 4 G-means

表4 G-means

注:黑体值为最佳性能指标值.

数据集Tri-trainingTCESTSTCEwdbc0.93820.95120.94380.9586winewhite0.64140.64420.65070.6424abalone0.70060.68820.69260.7249haberman0.35180.36570.47630.3831spect0.62260.57630.50090.5849chronic0.96270.92931.00000.9401adult0.79020.78370.78360.7860electrical0.99510.99440.99370.9955Australian0.80100.81890.82470.8513liverdisorders0.58490.64120.58830.6124heart0.68730.71680.75860.7759german0.58860.64780.66240.6890UNSW-NB150.94060.93580.93660.9430

Table 5 Accuracy

表5 准确率

注:黑体值为最佳性能指标值.

数据集Tri-trainingTCESTSTCEwdbc0.93710.95100.94410.9580winewhite0.70690.70610.70690.7037abalone0.78950.77990.78370.8038haberman0.57690.55130.69230.5385spect0.74630.64180.56720.6269chronic0.97030.94061.00000.9505adult0.83960.83590.83600.8374electrical0.99520.99440.99400.9960Australian0.80350.82080.82660.8497liverdisorders0.54020.56320.55170.5977heart0.69120.72060.76470.7794german0.66000.73200.74000.7460UNSW-NB150.91840.91680.91500.9189

Table 6 Precision

表6 精度

数据集Tri-trainingTCESTSTCEwdbc0.89330.92000.92000.9200winewhite0.50660.55440.61540.5650abalone0.57030.60940.58980.5352haberman0.25000.31250.31250.3750spect0.76920.92310.76921.0000chronic1.00001.00001.00001.0000

Continued (Table 6)

注:黑体值为最佳性能指标值.

数据集Tri-trainingTCESTSTCEadult0.54220.53400.53550.5386electrical0.99240.99020.99130.9956Australian0.80770.84620.80770.9231liverdisorders0.27660.25530.31910.4681heart0.72410.75860.75860.8276german0.63240.55880.61760.5735UNSW-NB150.99540.99130.99340.9976

Table 7 Recall

表7 召回率

注:黑体值为最佳性能指标值.

数据集Tri-trainingTCESTSTCEwdbc0.98530.98570.97181.0000winewhite0.52470.52120.52020.5170abalone0.57030.54550.55510.6143haberman0.16000.17240.27780.1875spect0.41670.34290.27780.3421chronic0.92680.86361.00000.8837adult0.72130.71140.71100.7146electrical0.99350.99450.99230.9935Australian0.76830.77650.80770.7826liverdisorders0.68420.80000.68180.6875heart0.61760.64710.70970.7059german0.41750.50670.51850.5652UNSW-NB150.89620.89720.89360.8952

从表3~7可以看出,大部分数据集在STCE算法上表现较好,其中在F-measure,G-means,Accuracy,Precision这4个指标上,分别在7,7,8,9个数据集上取得了最优的性能.ST算法在F-measure,G-means,Accuracy这3个指标上表现仅次于STCE算法.直观上看,在Recall指标上,ST算法在4个数据集上表现最好,而STCE和Tri-training、TCE算法相似,都在3个数据集上取得了较好性能.相对而言,仅有极个别数据集在TCE和Tri-training算法上表现最优.

为了进一步分析4个算法的性能,我们引入统计显著性检验[32],从统计学的角度来比较分析算法性能.本文采用Friedman检验进行计算,通过重复测量方差分析(analysis of variance, ANOVA)来比较各个算法的平均排名.其中,重复测量ANOVA是一种测试2个以上相关样本均值之间差异的统计方法.表8显示了本文提出的3种算法与Tri-training算法经过Friedman检验后的等级排名,取值越低等级越高.

Table 8 Average Rank After Friedman Test

表8 Friedman检验后的平均等级

评价指标Tri-trainingTCESTSTCEF-measure2.999992.923072.500001.57692G-means2.923082.923082.538461.61538Accuracy2.576923.000002.576911.84615Precision2.884622.884622.500041.73077Recall2.499962.500042.769232.23077均值2.776912.846162.576931.79999

由表8可以看出,基于交叉熵的安全Tri-training算法STCE在5项评价指标上均取得了最高的等级,最低取值为1.576 92,最高取值也只有2.230 77,比传统的Tri-training算法的最低取值2.499 96还要低.根据平均等级可以得到4个算法的分类性能,从高到低依次为:STCE,ST,Tri-training,TCE,即STCE算法的分类性能最好,ST算法次之,但也明显好于Tri-training和TCE算法.Tri-training算法和TCE算法性能相当,表明仅用交叉熵替代误分率作为Tri-training更新的条件,并不能显著改善半监督学习的分类性能,而利用凸优化可以在一定程度上提高半监督学习的分类性能,将交叉熵和凸优化方法相结合,可得到更好的分类性能.

我们进一步使用Holm检验[32]来对最佳排名方法STCE与其他方法进行比较,并选择STCE作为控制方法,取置信水平α=0.05进行测试,结果如表9所示:

Table 9 Holm Test Results

表9 Holm检验结果

算法i概率值piHolm测试值α∕i假设α=0.05TCE30.009800.01666拒绝STCETri-training20.009810.025拒绝STCEST10.068310.05接受STCE

表9中的pi(i=1,2,3)是由Holm检验计算出来的概率值,用来度量否定原假设的证据.概率值越低,否定原假设的证据越充分.检验从概率值p3开始,由于p3=0.009 80小于Holm测试值α3=0.016 66,因此拒绝假设.同样,第2个假设也被拒绝.对于最后一个假设,由于p1>0.05,故接受该假设.结果表明,STCE算法优于TCE算法和传统的Tri-training算法,然而STCE算法和ST算法之间没有统计学上的差异.这个结论和表8得出的结论相一致.

4 总结与展望

传统的Tri-training算法能有效提升半监督学习的分类性能.为了进一步降低Tri-training算法过程中产生的误标率,提高算法性能,获得良好的半监督分类模型,本文分别提出了基于交叉熵的Tri-training算法(TCE)、安全的Tri-training算法(ST)和基于交叉熵的安全Tri-training算法(STCE).实验结果表明,提出的STCE方法具有最好的分类性能.然而,本文并没有考虑到半监督学习过程中数据集不平衡的问题,这将是我们下一步的研究内容和方向.

参考文献

[1]Chapelle O, Scholkopf B, Zien A. Semi-Supervised Learning[M]. Cambridge, MA: MIT Press, 2006

[2]Xu Mengfan, Li Xinghua, Liu Hai, et al. An intrusion detection scheme based on semi-supervised learning and information gain ratio[J]. Journal of Computer Research and Development, 2017, 54(10): 2255-2267 (in Chinese)(许勐璠, 李兴华, 刘海, 等. 基于半监督学习和信息增益率的入侵检测方案[J]. 计算机研究与发展, 2017, 54(10): 2255-2267)

[3]Miller D J, Uyar H S. A mixture of experts classifier with learning based on both labeled and unlabeled data[C] Proc of the 9th Int Conf on Neural Information Processing Systems. Cambridge, MA: MIT Press, 1996: 571-577

[4]Bennett K P, Demiriz A. Semi-supervised support vector machines[C] Proc of the 11th Int Conf on Neural Information Processing Systems. Cambridge, MA: MIT Press, 1998: 368-374

[5]Joachims T. Transductive inference for text classification using support vector machines[C] Proc of the 16th Int Conf on Machine Learning. San Francisco, CA: Morgan Kaufmann, 1999: 200-209

[6]Blum A, Chawla S. Learning from labeled and unlabeled data using graph mincuts[C] Proc of the 8th Int Conf on Machine Learning. San Francisco, CA: Morgan Kaufmann, 2001: 19-26

[7]Zhou Zhihua. Disagreement-based semi-supervised learning[J]. ACTA Automatica Sinica, 2013, 39(11): 1871-1878 (in Chinese)(周志华. 基于分歧的半监督学习[J]. 自动化学报, 2013, 39(11): 1871-1878)

[8]Basu S, Banerjee A, Mooney R J. Semi-supervised clustering by seeding[C] Proc of the 19th Int Conf on Machine Learning. San Francisco, CA: Morgan Kaufmann, 2002: 19-26

[9]Blum A. Combining labeled and unlabeled data with co-training[C] Proc of the 11th Annual Conf on Computational Learning Theory. New York: ACM, 1998: 92-100

[10]Zhou Zhihua, Li Ming. Tri-training: Exploiting unlabeled data using three classifiers[J]. IEEE Transactions on Knowledge & Data Engineering, 2005, 17(11): 1529-1541

[11]Søgaard A. Simple semi-supervised training of part-of-speech taggers[C] Proc of the 48th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2010: 205-208

[12]Saito K, Ushiku Y, Harada T. Asymmetric tri-training for unsupervised domain adaptation[C] Proc of the 34th Int Conf on Machine Learning. San Francisco, CA: Morgan Kaufmann, 2017: 2988-2997

[13]Ruder S, Plank B. Strong baselines for neural semi-supervised learning under domain shift[C] Proc of the 56th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2018: 1044-1054

[14]Ou Depin, Tan Kun, Du Qian, et al. A novel tri-training technique for the semi-supervised classification of hyper-spectral images based on regularized local discriminant embedding feature extraction[J]. Remote Sensing, 2019, 11(6): 654

[15]Park H, Yun S, Eum J, et al. Weakly labeled sound event detection using tri-training and adversarial learning[J]. arXiv preprint, arXiv:1910.06790, 2019

[16]Li Yufeng, Liang Deming. Safe semi-supervised learning: A brief introduction[J]. Frontiers of Computer Science, 2019, 13(4): 669-676

[17]Angluin D, Laird P. Learning from noisy examples[J]. Machine Learning, 1988, 2(4): 343-370

[18]Kullback S, Leibler R A. On information and sufficiency[J]. The Annals of Mathematical Statistics, 1951, 22(1): 79-86

[19]MacKay D J C. Information Theory, Inference, and Learning Algorithm[M]. Cambridge, UK: Cambridge University Press, 2003

[20]Rubinstein R Y. Optimization of computer simulation models with rare events[J]. European Journal of Operational Research, 1997, 99(1): 89-112

[21]Bosman A S, Engelbrecht A, Helbig M. Visualising basins of attraction for the cross-entropy and the squared error neural network loss functions[J]. arXiv preprint, arXiv:1901.02302, 2019

[22]Li Xiaoxu, Yu Liyun, Chang Dongliang, et al. Dual cross-entropy loss for small-sample fine-grained vehicle classification[J]. IEEE Transactions on Vehicular Technology, 2019, 68(5): 4204-4212

[23]Lu Sheng, Gao Feng, Piao Changhao, et al. Dynamic weighted cross entropy for semantic segmentation with extremely imbalanced data[C] Proc of Int Conf on Artificial Intelligence and Advanced Manufacturing. Piscataway, NJ: IEEE, 2019: 230-233

[24]Lopez-Garcia P, Onieva E, Osaba E, et al. A hybrid method for short-term traffic congestion forecasting using genetic algorithms and cross entropy[J]. IEEE Transactions on Intelligent Transportation Systems, 2016, 17(2): 557-569

[25]Li Yufeng, Zhou Zhihua. Towards making unlabeled data never hurt[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(1): 175-188

[26]Krijthe J H, Loog M. Implicitly constrained semi-supervised least squares classification[C] Proc of the 14th Int Symp on Intelligent Data Analysis. Berlin: Springer, 2015: 158-169

[27]Guo Lanzhe, Li Yufeng. A general formulation for safely exploiting weakly supervised data[C] Proc of the 32nd AAAI Conf on Artificial Intelligence. Menlo Park, CA: AAAI, 2018: 3126-3133

[28]Li Yufeng, Guo Lanzhe, Zhou Zhihua. Towards safe weakly supervised learning[JOL]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019 [2019-06-12]. https:ieeexplore.ieee.orgdocument8735810

[29]Rosasco L, Vito E D, Caponnetto A, et al. Are loss functions all the same[J]. Neural Computation, 2004, 16(5): 1063-1076

[30]Dua D, Graff C. UCI Machine Learning Repository[DBOL]. [2019-12-10]. http:archive.ics.uci.eduml

[31]Tavallaee M, Bagheri E, Lu Wei, et al. A detailed analysis of the KDD cup 99 data set[C] Proc of the IEEE Symp on Computational Intelligence for Security and Defense Applications. Piscataway, NJ: IEEE, 2009: 53-58

[32]Demšar J. Statistical comparisons of classifiers over multiple data sets[J]. Journal of Machine Learning Research, 2006, 7(1): 1-30

Safe Tri-training Algorithm Based on Cross Entropy

Zhang Yong, Chen Rongrong, and Zhang Jing

(School of Computer & Information Technology, Liaoning Normal University, Dalian, Liaoning 116081)

Abstract Semi-supervised learning methods improve learning performance with a small amount of labeled data and a large amount of unlabeled data. Tri-training algorithm is a classic semi-supervised learning method based on divergence, which does not need redundant views of datasets and has no specific requirements for basic classifiers. Therefore, it has become the most commonly used technology in semi-supervised learning methods based on divergence. However, Tri-training algorithm may produce the problem of label noise in the learning process, which leads to a bad impact on the final model. In order to reduce the prediction bias of the noise in Tri-training algorithm on the unlabeled data and learn a better semi-supervised classification model, cross entropy is used to replace the error rate to better reflect the gap between the predicted results and the real distribution of the model, and the convex optimization method is combined to reduce the label noise and ensure the effect of the model. On this basis, we propose a Tri-training algorithm based on cross entropy, a safe Tri-training algorithm and a safe Tri-training learning algorithm based on cross entropy, respectively. The validity of the proposed method is verified on the benchmark dataset such as UCI (University of California Irvine) machine learning repository and the performance of the method is further verified from a statistical point of view using a significance test. The experimental results show that the proposed semi-supervised learning method is superior to the traditional Tri-training algorithm in classification performance, and the safe Tri-training algorithm based on cross entropy has higher classification performance and generalization ability.

Key words semi-supervised; Tri-training algorithm; cross entropy; convex optimization; sample label

收稿日期2019-12-08; 修回日期:2020-04-03

基金项目国家自然科学基金项目(61772252,61902165);辽宁省高等学校创新人才支持计划项目(LR2017044);辽宁省自然科学基金项目(2019-MS-216)

This work was supported by the National Natural Science Foundation of China (61772252, 61902165), the Program for Liaoning Innovative Talents in Universities (LR2017044), and the Natural Science Foundation of Liaoning Province (2019-MS-216).

中图法分类号 TP181

Zhang Yong, born in 1975. PhD, professor, PhD supervisor. Senior member of CCF. His main research interests include data mining, machine learning, and intelligent computing.

张 永, 1975年生.博士,教授,博士生导师,CCF高级会员.主要研究方向为数据挖掘、机器学习和智能计算等.

Chen Rongrong, born in 1994. Master candidate. Her main research interests include machine learning and data mining.

陈蓉蓉,1994年生.硕士研究生.主要研究方向为机器学习和数据挖掘.

Zhang Jing, born in 1984. PhD. Member of CCF. Her main research interests include pattern recognition and machine learning.

张 晶,1984年生.博士,CCF会员.主要研究方向为模式识别和机器学习.