APP下载

基于Tri-DE-ELM的半监督模式分类方法研究

2018-02-07吴明胜邓晓刚

计算机工程与应用 2018年3期
关键词:权值正确率分类器

吴明胜,邓晓刚

中国石油大学(华东)信息与控制工程学院,山东 青岛 266555

1 引言

极限学习机(Extreme Learning Machine,ELM)是Huang等[1]提出的一种单隐层前馈神经网络学习算法,算法仅需设置合适的隐层节点数及随机初始化输入节点和隐层节点的权值及隐层节点阈值,即可通过对隐层输出矩阵求广义逆求得隐层输出权值,整个训练过程不需要进行复杂的迭代运算。因此ELM具有学习速度快、泛化性能好的优良特性。目前,ELM已经在时间序列预测、故障诊断、文档分类、软测量建模等多个领域得到广泛应用[2-5]。如李彬等[2]将ELM用于混沌时间序列预测,陈绍炜等[3]构建了基于ELM的模拟电路故障诊断方法,陈盛双[4]基于ELM算法对XML文档分类提出了基于投票机制的Voting-ELM算法,李琨等[5]建立了基于自动谱聚类与多极端学习机的油井含水率软测量模型。总体而言,ELM已成为一种极具研究价值的数据分析与模式分类算法。

虽然传统的ELM算法已经在实际应用中获得一定成功,但是其仍然存在两个方面的问题需要解决:其一,ELM本身是一种监督学习算法,其解决模式分类问题时仅仅使用标记样本来训练模型参数,但是实际过程中标记样本的数目远远少于未标记样本,传统ELM浪费了大量的未标记样本数据资源。其二,传统的ELM采用随机设置输入权值和偏置参数的策略,虽然大大降低网络训练的复杂度,但是参数的随机初始化不可避免地会影响网络训练结果的稳定性,无法保证网络训练的精度。

针对以上两个问题,本文利用协同训练策略和智能优化算法对ELM进行改进,提出一种改进的ELM算法Tri-DE-ELM。该算法采用Tri-Training算法实现多个ELM基分类器的协同训练,在利用标记样本构建分类器的同时,充分挖掘未标记样本中的信息。进一步采用差分进化(DE)算法对ELM网络中的参数进行智能优化,以DE-ELM算法构建基分类器,从而提高基分类器的分类精度。

2 极限学习机算法

极限学习机(ELM)目前在回归、分类问题中得到了广泛应用,图1为ELM网络模型结构图。ELM并不需要对所有的网络参数进行调整,算法随机产生输入权值和隐含层偏差并且训练过程中无需再调整,给定隐含层神经元个数,即可通过求解线性方程组的最小二乘解求得输出连接权值,其具体工作原理如下[1]。

图1 ELM网络模型结构图

以零误差逼近这N个样例,存在wi、bi与βi使得:

可以简写为Hβ=Y,H为隐含层输出矩阵,Y为样本输出向量,其中:

输出层权值β可通过下述优化问题得到:

解式上式可得:

其中H+为隐含层输出矩阵H的Moore-Penrose广义逆。

ELM算法的训练过程如下:

(1)随机产生参数( )wi,bi,i=1,2,…,L。

(2)根据公式(3)计算隐含层输出矩阵H。

(3)计算输出权重向量β:β=H+Y。

3 改进的ELM算法

3.1 基于Tri-Training算法的协同训练机制

半监督学习是监督学习和无监督学习相结合的一种学习方法,是机器学习领域新兴的研究算法。它同时采用少量的标记样本和大量的未标记样本,通过未标记样本的信息辅助完成学习模型的建立,能获得较好的泛化性能和学习效果[6]。近年来,半监督学习逐渐成为机器学习的一个研究热点。

在众多半监督学习方法中,协同训练取得研究成果较多[7-8]。众多学者将半监督学习方法应用于分类,如李昆仑等将Tri-Training算法与SVM结合用作数据分类[9],李萍等将构造性学习算法与Tri-Training算法结合,提出了Tri-CML算法[10],协同训练算法在训练样本的初始已标记样本集上,训练出至少两个分类器,然后,轮流地选定它们其中的一个为主分类器,其余的为辅助分类器,辅助分类器对未标记样本进行预测,并把它们预测置信度较高的样本标记提供给主分类器,主分类器在更新的有标记样本的基础上重新训练。其中,Tri-Training算法是半监督学习的研究热点。

Tri-Training算法是由Zhou等人提出的一种协同机制的半监督分类算法[11],可以看作是Co-Training算法的扩展,算法对于数据集没有严苛的要求,也不需要两个冗余视图,通过构造三个不同的分类器进行协同训练,最后通过Bagging算法进行集成[12-14]。

假设初始的少量有标记样本集为L,未标记样本集为U,首先对有标记样本集进行可重复采样(Bootstrap Sampling)[15]以获得三个有标记训练集,由三个不同的训练集训练得到三个初始分类器H1,H2,H3。在Tritraining迭代过程中,每个分类器新增的训练样本由另外两个分类器协作提供,例如,对于分类器H1,如果H2和H3对同一个未标记样本x( )x∈U 有相同的标记,那么将x标记为H2()x,并将x加入到H1的训练集,可得到新的 H1训练集同理,H2和H3的训练集分别扩充为L′2、L′3。用新扩充的训练集分别重新训练三个分类器。如此重复迭代,直到三个分类器不再变化,训练过程结束。

3.2 差分进化优化极限学习机

网络连接权值和隐含层偏差是影响极限学习机性能的主要因素,因此合理地设计网络连接权值和隐含层偏差是提升预测精度的关键。然而在传统的ELM训练过程中,其输入层与隐含层之间的连接权值和隐层偏移值均通过随机初始化完成,由于每次随机初始化数值不同,导致每次训练结果有一定差异,无法保证获取最优的ELM网络,为解决此问题,本文将差分进化算法(Differential Evolutionary,DE)[16]引入 ELM 的训练过程,利用DE算法的全局寻优能力,将极限学习机的输入层与隐层之间的连接权值以及隐层偏差进行编码,作为待优化变量进行智能优化,从而获取最优的初始值,避免随机初始化导致网络性能较差的现象。

其中w、b为[-1,1]中的随机数,D为解的空间维数。

(2)计算适应度函数:对于种群中的每个个体利用ELM算法计算出ELM网络的输出权值矩阵;从测试样本中选取部分验证样本,将ELM的测试误差均方根误差(RMSE)设定为差分进化算法的适应度函数[17]。

式中vi,T+1为变异后的个体,θr1,T、θr2,T、θr3,T为种群中随机选取的3个个体,F为变异因子,F∈[ ]0,2,目的是控制差分变量的放大。其中随机选择的下标且r1,r2,r3与目标向量序号i也不同。

(4)交叉:为了增加干扰参数向量多样性,引入交叉操作,根据变异产生的新个体vi,T+1与初始个体θi,T产生交叉得到新个体,令新个体为μi,T+1,其中:

式中μi,T+1为新个体,θi,T+1为原种群中的个体,K为随机产生[0,1]区间的值,CR为交叉概率为之间的随机数。

(5)选择:决定μi,T+1能不能成为种群中的个体,将μi,T+1与θi,T进行比较,若μi,T+1适应度值大于θi,T,则为第T+1代个体,否则保留θi,T。考虑到在选择过程中将均方根误差作为适应度函数可能会造成网络过拟合,因此,将权值‖‖β与均方根误差结合起来考虑,在新的选择策略中,当不同个体适应度差别较小时,适应度中含有较小‖β‖的个体将被选择,用于验证样本适应度。

(6)重复步骤(2)、(3)、(4)和(5),直至达到目标或最大迭代次数找到最优θ后,确定H和β。

3.3 Tri-DE-ELM算法流程

本文将DE-ELM与Tri-training相结合,构造一种新的ELM半监督分类算法:Tri-DE-ELM。

算法的描述如下:

输入:有标记数据集L,未标记数据集U,测试集T,隐藏层节点数d,激活函数g()x

步骤1训练DE-ELM基分类器

对有标记数据集L重采样得到三个差异的样本集,然后用三个样本集训练三个DE-ELM基分类器。

步骤2协同训练(互助标记的样本未加入到主分类器的标记样本集中)

选其中一个分类器即DE-ELM作为主分类器H1,其余两个分类器H2、H3对未标记样本集U中的样本进行分类,将相同标记的样本组成样本集L′,利用有标记样本集L′⋃L训练主分类器H1,更新输出层权重β。三个分类器轮流作为主分类器,直到把三个分类器全部更新一遍。Tri-Training算法的基分类器在每次训练过程中重新训练,直到DE-ELM达到最大迭代次数或找到最优的H和β。

步骤3测试

用测试集T对训练好的三个基分类器进行测试,通过多数投票规则得到最终分类结果。

需要注意的是,L′在下一轮的训练中并不作为已标记的数据,而是重新放回U中作为未标记的样本在下一轮中重新使用。

4 应用研究

为验证算法的有效性,在UCI数据集[18]上选取五组数据集进行实验,其中包括:Australian、Cancer、Vote、Wdbc和Mushroom。具体数据集信息如表1所示。UCI数据库是加州大学欧文分校(University of CaliforniaIrvine)提出的用于机器学习和模式识别的数据库,在模式分类领域广泛应用于算法的验证和比较。

对于基本的二分类问题,分类模型预测结果混淆矩阵如图2所示。

表1 数据集相关信息

图2 算法性能评价参数混淆矩阵

其中,正确率(Accuracy)与错误率(Error Rate)是较为简单的分类器性能评价指标。

在一些数据分类情况中(如医学病例诊断),研究人员还同时关注真阳性率与假阳性率这两个性能指标。

其中,TPR为真阳性率,对应正类情形的检测率,FPR为假阳性率,对应负类情形的误判率。

实验过程中,针对每个数据集随机抽取75%的数据作为训练数据集,其中训练数据集又分为有标记数据集L和未标记数据集U。剩余25%数据作为测试数据集T。

在算法测试中,Tri-ELM和Tri-DE-ELM的数据组成为L⋃U⋃T,ELM和DE-ELM的数据组成为L⋃T。四种算法的隐含层神经元个数为20,Tri-DE-ELM和DE-ELM中CR为0.8,F为1,最大迭代次数Gmax为20,群体数目NP为20。在标记样本占训练样本比例为40%的情况下,测试不同算法的分类正确率,结果如表2所示。同时获得真阳性率和假阳性率,如表3所示。

表2 四种算法在数据集上的分类正确率

由表2可以看出,ELM在五类基准数据集上的平均分类正确率为85.39%,经过DE算法优化后,DE-ELM在五种数据集上的分类正确率均有所提高,平均分类正确率增加至91.77%,可知DE-ELM可以有效解决ELM分类正确率受随机选取初始输入层权值的问题,改善算法分类性能。Tri-ELM充分利用了未标记样本中信息,平均分类正确率提高至92.30%。而Tri-DE-ELM算法综合了协同训练和智能优化思想,对于五种数据集的分类正确率均在85%以上,最高可达到93.99%,平均值可达93.86%。在只有少量标记数据的情况下,Tri-DEELM算法在各个数据集上均取得了较理想的结果,具有较高的分类正确率。

表3 四种算法在数据集上的真/假阳性率

由表3中四种算法在五类数据集上的真阳性率和假阳性率可以看出Tri-DE-ELM在此两种评价指标上均得到较为理想的结果。

为进一步测试未标记样本对分类效果的影响,对训练数据集随机抽取20%、40%、60%、80%作为有标记样本集L,分别使用DE-ELM和Tri-DE-ELM训练分类器,在测试数据集上的分类结果见表4,真阳性率和假阳性率的结果见表5与表6。

由表4可知,随着未标记样本比例增加,用于训练分类器的数据减少,算法可以获得的特征信息随之减少,DE-ELM与Tri-DE-ELM在五种数据集上分类正确率都有所下降,以Australian数据集为例,在20%未标记样本的情形下,DE-ELM、Tri-DE-ELM分类正确率分别为88.37%、89.60%,而在80%未标记样本情形下,DEELM分类正确率下降至84.88%、86.70%。但是在不同比例的未标记样本情形下,Tri-DE-ELM算法均能显著改善分类正确率。在四种不同情形下,DE-ELM算法的分类正确率均低于93%,而Tri-DE-ELM算法的分类正确率均高于92%。总体而言,Tri-DE-ELM算法由于考虑了未标记样本的信息,其分类正确率要高于DE-ELM算法。

由表5、表6可知,随着未标记样本比例增加,由于标记样本减少,算法可学习到的信息减少导致在五种数据集上对正类数据检测率降低,对负类情形的误判率升高。以Cancer数据集为例,在20%未标记样本的情形下,DE-ELM的真阳性率为96.15%,假阳性率为8.33%,可知在病例诊断中,病人被确诊的概率为96.15%,被误诊的概率为8.33%。Tri-DE-ELM算法中病人被确诊的概率为96.26%,而被误诊的概率为4.34%,低于DEELM算法的误诊概率,在80%未标记样本的情形下,两种算法真阳性率都有所降低,但Tri-DE-ELM算法96.26%的真阳性率依然高于DE-ELM92.45%的真阳性率,假阳性率基本持平,对于Cancer数据集来讲,Tri-DE-ELM算法的效果优于DE-ELM。在四种不同情形下,DE-ELM的真阳性率平均值均低于Tri-DE-ELM算法的真阳性率,未标注样本比例低于80%时,DE-ELM的假阳性率平均值低于Tri-DE-ELM算法的假阳性率,当未标记样本比例为80%时,DE-ELM的假阳性率平均值略高于Tri-DE-ELM算法的假阳性率平均值。总体而言,由于考虑了未标记样本的信息,Tri-DE-ELM算法比DE-ELM算法更准确的检测出正类数据,同时减少负类数据的误判。

表4 DE-ELM和Tri-DE-ELM在不同比例未标记数据集上的分类正确率

表5 DE-ELM在不同比例未标记数据集上的真/假阳性率

表6 Tri-DE-ELM在不同比例未标记数据集上的真/假阳性率

5 结论

针对ELM未充分利用未标注样本、训练精度受网络权值初值影响的问题,提出一种改进的极限学习机算法Tri-DE-ELM。所提出的算法使用DE算法对极限学习机的参数进行优化,在此基础上利用Tri-Training算法设计半监督模式分类系统。文中最后在五种标准数据集上开展了实验验证,结果说明本文所提出的算法具有更为良好的分类性能,有效提升了传统的ELM分类方法。

[1]Huang G B,Zhu Q Y,Siew C K.Extreme learning machine:Theory and applications[J].Neurocomputing,2006,70(1/3):489-501.

[2]李彬,李贻斌.基于ELM学习算法的混沌时间序列预测[J].天津大学学报:自然科学与工程技术版,2011,44(8):701-704.

[3]陈绍炜,吴敏华,赵帅.基于PCA和ELM的模拟电路故障诊断[J].计算机工程与应用,2015,51(11):248-251.

[4]陈盛双.基于极限学习机的XML文档分类[J].计算机工程,2011,37(19):177-178.

[5]李琨,韩莹,黄海礁.基于自动谱聚类与多极端学习机模型的油井油液含水率软测量[J].化工学报,2016,67(7):2925-2933.

[6]刘建伟,刘媛,罗雄麟.半监督学习方法[J].计算机学报,2015(8):1592-1617.

[7]张雁,吕丹桔,吴保国.基于Tri-Training半监督分类算法的研究[J].计算机技术与发展,2013,23(7):77-79.

[8]唐超,王文剑,李伟,等.基于多学习器协同训练模型的人体行为识别方法[J].软件学报,2015,26(11):2939-2950.

[9]李昆仑,张伟,代运娜.基于Tri-training的半监督SVM[J].计算机工程与应用,2009,45(22):103-106.

[10]李萍,吴涛.协同半监督的构造性学习方法[J].计算机工程与应用,2015,51(3):129-132.

[11]Zhou Z H,Li M.Tri-training:exploiting unlabeled data using three classifiers[J].IEEE Transactions on Knowledge&Data Engineering,2005,17(11):1529-1541.

[12]Blum A.Combining labeled and unlabeled data with co-training[C]//Proceedings of the Eleventh Annual Conference on Computational Learning Theory,2000:92-100.

[13]高玉微.CBIR系统中基于半监督ELM的相关反馈研究[D].河北保定:河北大学,2014.

[14]夏陆岳,王海宁,朱鹏飞,等.KPCA-bagging集成神经网络软测量建模方法[J].信息与控制,2015,44(5):519-524.

[15]王焱,汪震,黄民翔,等.基于OS-ELM和Bootstrap方法的超短期风电功率预测[J].电力系统自动化,2014,38(6):14-19.

[16]Das S,Mullick S S,Suganthan P N.Recent advances in differential evolution-An updated survey[J].Swarm and Evolutionary Computation,2016,27:1-30.

[17]宋欢欢.金坛储气库季节调峰量预测及采气管网运行工况模拟[D].成都:西南石油大学,2013.

[18]UCI repository of machine learning databases[EB/OL].(1998).http://archive.ics.uci.edu/ml/.

猜你喜欢

权值正确率分类器
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
门诊分诊服务态度与正确率对护患关系的影响
基于权值动量的RBM加速学习算法研究
生意
基于多维度特征权值动态更新的用户推荐模型研究
品管圈活动在提高介入手术安全核查正确率中的应用
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
生意