基于粒子群优化的深度神经网络分类算法*

2017-09-11 14:24晴,宋
传感器与微系统 2017年9期
关键词:查准率权值分类器

董 晴,宋 威

(江南大学 物联网工程学院,江苏 无锡 214122)

基于粒子群优化的深度神经网络分类算法*

董 晴,宋 威

(江南大学 物联网工程学院,江苏 无锡 214122)

针对神经网络分类算法中节点函数不可导,分类精度不够高等问题,提出了一种基于粒子群优化(PSO)算法的深度神经网络分类算法。使用深度学习中的自动编码机,结合PSO算法优化权值,利用自动编码机对输入样本数据进行编解码,为提高网络分类精度,以编码机本身的误差函数和Softmax分类器的代价函数加权求和共同作为PSO算法的评价函数,使编码后的数据更加适应分类器。实验结果证明:与其他传统的神经网络相比,在邮件分类问题上,此分类算法有更高的分类精度。

深度神经网络; 自动编码机; 粒子群优化算法; 分类

0 引 言

近年来,神经网络的研究一直受到学者们的关注,如感知机[1],反向传播(back propogation,BP)神经网络[2],径向基函数(radial basis function,RBF)神经网络及其各种改进算法[3~5]等。2006年,Hinton G E教授提出了“深度学习”[6]的概念,卷积神经网络、深度信念网络、自动编码机是深度学习中经常用到的基础模块[7],并有学者对此进行了改进,如Vincent P等人提出了一种降噪自动编码机[8],使网络的泛化能力更强。宣森炎等人联合卷积和递归神经网络进行交通标志识别[9],减少了训练时间。阳武等人将深度信念网络应用于故障指示器检测[10],识别正确率高于BP算法和支持向量机(support vector machine,SVM)算法,可以看出以上神经网络在分类或图像识别上有一定的效果,但还存在一些不足:当节点函数不可导或没有梯度信息存在时无法使用传统方法解决权值优化;容易陷入局部最优。

针对上述问题,本文提出了一种基于粒子群优化(particle swarm optimization,PSO)[11,12]的深度神经网络分类算法(PDNN)。粒子群优化 算法可以处理节点函数不可导的问题,并具有较强的全局优化能力,因而,本算法使用PSO算法优化自动编码机的权值,并与Softmax分类器构成分类算法。首先,利用自动编码机对输入数据进行编解码,PSO算法优化权值,评价函数由编码机本身的误差函数和Softmax分类器的代价函数加权求和共同构成,以使特征数据更加适应分类器,提高分类精度。其次,解码之后的特征矩阵作为Softmax分类器的输入,使用梯度下降法调整分类器的权值为了证明本文算法的有效性,在数据集Ling-Spam和PU1上验证,与其他传统的神经网络相比,此分类算法取得较好的实验效果。

1 相关工作

1.1 DNN

自动编码机是DNN的常用基础模块,是一种三层神经网络,包括输入层L1,隐含层L2和输出层L3。自动编码机是一种使输出等于输入的无监督学习算法,训练样本集合没有类别标签,含p个训练样本,设为{x(1),x(2),…,x(i),…x(p)},其中 ,输出y=x。其网络结构如图1。

图1 自动编码机网络结构

隐含藏层L2的输出满足

L2=f(W1x+b1)

(1)

y=f(W2L2+b2)

(2)

由于自动编码机的特殊映射关系,通常隐含层与输出层之间的权值矩阵W2与W1互为转置,b2为隐含层与输出层之间的偏置向量。样本数据由输入层到隐含层看作编码过程,隐含层到输出层看作解码过程。每一个训练样本x先映射到L2,然后再重构成y,每个样本的误差函数为

(3)

总误差函数为

(4)

式中m为训练样本的数量。

通过最小化误差函数来优化参数。

1.2 PSO算法

在基本PSO算法中,每一个粒子的位置均作为所求解问题的可行解。

假设群体P由m个粒子组成,P=(p1,p2,…,pi,…,pm),在n维空间中以一定速度搜索,粒子群的第i粒子由三个n维向量组成,分别为目前位置pi=(pi1,pi2,…,pin),历史最优位置Bi=(bi1,bi2,…,bin),速度vi=(vi1,vi2,…,vin)。

在算法每一次迭代中,每个粒子的目前位置作为问题的可行解被评价函数评价。粒子i的历史最优位置称为个体最优解,整个群体中最好个体的位置称为全局最优解,记为Bg=(bg1,bg2,…,bgn)。在搜索时,考虑到粒子搜索到的个体最优解和整个群体内搜索到的全局最优解,对于每个粒子的第d维(1≤d≤n)根据以下公式来调整速度和位置

(5)

(6)

如果vid>Vmax,则vid=Vmax;

如果vid<-Vmax,则vid=-Vmax。

2 基于PSO的DNN分类算法

使用PSO算法优化编码机权值,在编码机的顶层添加分类器,为了提高分类准确率,重新设计评价函数,在编码机的误差函数上加入带权的分类器代价函数作为PSO算法的新的评价函数。

设输入样本数据集合为P=[p1,p2,…,pi,…,pm],pi=[x1,x2,…,xn]T,m为样本个数,n为样本数据维数,将自动编码机输入层和隐含层之间的权值矩阵W1看作一个粒子,为

式中n为输入样本数据维数;p为隐含层神经元个数。初始化粒子的位置和速度,计算式(1),W1转置后,计算式(2),若没有达到评价函数值或最大迭代次数,按照式(5)、式(6)更新粒子的位置和速度,直到位置达到最优,即自动编码机的权值调整到最佳状态。

Softmax回归模型是对Logistic回归模型的扩展,可以对多分类问题分类。当样本集合为{(x(1),y(1)),(x(2),y(2)),…,(x(m),y(n))},m为训练样本数量,标签y=1,2,…,k,表示有k个类别。设p(y=j|x)表示输入x的情况下,样本被判为类别j的概率。所以,对于一个k类的分类器,输出是一个k维的向量(向量的元素和为1),输出为

(7)

式中θ为矩阵,矩阵的每一行看作是一个类别所对应分类器的参数,共k行。分类器的代价函数为

(8)

式中 1{·}为一个指示性函数,即大括号中的值为真时,该函数的结果为1;否则,结果为0。使用梯度下降法最小化代价函数,J(θ)对θj的偏导为

p(y(i)=j|x(i);θ))]

(9)

θj的更新公式如下

(10)

在实际使用Softmax算法时,通常会给上述代价函数增加一个权重衰减项来修改代价函数[7],这个衰减项会惩罚过大的参数值,则代价函数变为

(11)

(12)

当代价函数达到要求或迭代次数达到最大值时,此分类器的参数固定,对每一个样本分类器输出一个k维向量,每一维对应一个类别的概率,取最大值为该样本的类别。

自动编码机的顶层添加Softmax分类器后,构成一个深度神经网络分类算法。设计思想:利用自动编码机对输入数据进行编解码,使用粒子群算法优化权值,Softmax分类器的参数在编解码过程中保持固定,不参与粒子群的优化,而是编解码结束之后使用梯度下降法独立调整,但分类器的代价函数值作为编码机权值调整的一个评价值,与编码机的误差函数一起对权值优化进行指导。加入带权的Softmax分类器代价函数后,评价函数变为

C=ηSUMY(x,y)+μJ(θ)

(13)

式中η,μ分别为自动编码机误差函数和Softmax分类器代价函数的权重。通常SUMY的值大于J,为了保持平衡,η一般较μ小得多。

当特征维数较大时,使用自动编码机可以对特征降维,当特征维数较小时,用解码之后的特征数据分类,为了使特征数据更易区分,便于分类,在原来的误差函数上加入带有权重的Softmax分类器代价函数,不仅可以保持数据的原有特征性质,同时,又可以更好地适应分类器,提高分类精度,因而,协同指导权值的调整过程,以逼近最优权值。

为了使权值靠近最优位置,首先,对粒子群进行筛选,根据评价函数选择优秀粒子作为自动编码机的初始权值。第一步随机产生M个粒子,由式(13)计算此M个粒子的评价函数,依据评价函数值对粒子升序排列,选择前N个粒子作为PSO算法的初始化粒子。得到初始化粒子后,使用PSO算法优化权值,当评价函数满足条件或迭代次数达到最大值,完成自动编码机的训练。解码之后的特征矩阵作为Softmax分类器的输入,使用梯度下降法调整分类器的权值。完整的基于粒子群的DNN学习算法流程为:

1)根据PSO算法的新评价函数筛选优秀粒子作为自动编码机的初始权值w。

2)初始化粒子群的速度v以及Softmax分类器的参数。

3)输入训练样本集X。

4)编码机编、解码,根据评价函数(13)得到粒子的个体最优解p和粒子群的历史最优解Bg,判断评价函数是否满足条件或迭代次数是否达到最大值,若是,则结束权值优化过程,进入步骤(6);否则,进入步骤(5)。

5)使用式(5)、式(6)更新粒子的速度v和位置p,返回步骤(4)。

6)自动编码机解码之后的样本数据作为Softmax分类器的输入数据,使用梯度下降法调整分类器的参数。

7)输出粒子群的历史最优解Bg和分类器的参数,得到最终的DNN的网络结构。

3 实验结果与分析

3.1 实验数据集

实验将PDNN算法应用于垃圾邮件过滤。采用2个数据集来验证算法的有效性,分别为Ling-Spam和PU1数据集。Ling-Spam数据集共包括2 893封邮件,其中2 412封正常邮件,481封垃圾邮件。在仿真实验中,随机选取其中的1 200封作为数据集,包括1 000封正常邮件和200封垃圾邮件;PU1数据集共包括1 099封邮件,其中,618封正常邮件,481封垃圾邮件。对于每一封邮件使用向量空间模型表示,提取文档内词间关系构造语料库词典,结合潜在语义特征空间方法,通过特征抽取方法对特征进行降维。各数据集的具体信息如表1所示。

表1 实验数据集

3.2 实验结果分析

实验在Windows7操作系统上运行,使用MatlabR2008b开发环境。在实验中,PDNN算法的最大迭代次数为30,Ling-Spam数据集中,η为0.000 02,μ为20;PU1数据集中,η为0.000 4,μ为60。在算法的步骤(5)中,2个数据集中Softmax分类器的参数设置相同,最大迭代系数为800,权值衰减系数为0.000 2,调整步长为0.13,最小代价为0.1。PSO算法的参数设置:c1=c2=2,从60个粒子中筛选20个优秀粒子作为初始权值,PDNN算法和BP算法的实验结果为10次实验的平均值。文本分类由2个指标表示:查全率和查准率,F1值表示查准率和召回率的综合情况。

查准率=分类正确的文本数/实际分到该类的文本数

召回率=分类正确的文本数/实际属于该类的文本数

当PSO算法的评价函数仅由编码机的误差函数构成时(PDNN*算法,做10次实验取平均值),与PDNN算法比较的实验结果如表2所示。

表2 PDNN算法与PDNN*算法的结果比较 %

从表2可以看出,在正常邮件的查准率,垃圾邮件的查准率和召回率上,PSO算法的评价函数,由编码机的误差函数和分类器的代价函数共同构成的PDNN算法,比PDNN*算法,均有一定的提高,在Ling-Spam数据集上尤为明显,垃圾邮件的查准率和召回率分别提高了13.11 %,41.00 %;在PU1数据集上,垃圾邮件的查准率和召回率分别提高了1.97 %,13.34 %。说明加入分类器的代价函数评价后,对编码机的编解码方向有指导作用,使样本数据更适应分类器,从而得到更好的分类结果。

表3给出了PDNN算法与RBFNN算法,BPNN算法在Ling-Spam和PU1数据集上查准率、召回率和F1的比较。RBFNN算法和BPNN算法均采用Matlab工具箱,在Ling-Spam数据集上RBFNN算法的均方误差为0.05,扩展速度为500;BP算法的误差为0.1,最大迭代次数200。在PU1数据集上RBFNN算法的均方误差为0.1,扩展速度为500;BP算法的误差为0.1,最大迭代次数200。

表3 PDNN算法、RBFNN算法和BPNN算法的结果比较%

实验结果表明:不管是在Ling-Spam数据集还是在PU1数据集上,本文的PDNN算法比传统的RBFNN算法和BPNN算法的查准率、召回率和F1值均高,在3种算法中,正常邮件的召回率最高,而垃圾邮件的召回率相对较低。在实际生活中,用户对于正常邮件和垃圾邮件的态度不一样,用户宁愿多看一封垃圾邮件也不愿意错过一封正常邮件,所以,虽然垃圾邮件的召回率较低,但是正常邮件的查准率、召回率的实验结果比较符合用户的意愿。

4 结束语

提出了基于PSO算法的PDNN,需要提前筛选优秀粒子作为自动编码机的初始权值,使用PSO算法优化编码机权值,在编码机的误差函数上加入带权值的Softmax分类器代价函数作为PSO算法的评价函数以逼近最优权值。通过在Ling-Spam和PU1数据集上的实验结果可以看出:PDNN算法具有可行性,有效提高了神经网络的学习精度,对比RBFNN算法、BPNN算法有着较好的分类效果。

[1] Rosenblatt F.The perceptron:Aprobabilistic model for information storage and organization in the brain[J].Psychological Review,1958,65:386-408.

[2] Werbos P J.Beyond regression:New tools for prediction and analysis in the behavioral sciences [D].Boston:Harvard University,1974.

[3] Vukovic'N,Miljkovic'Z.A growing and pruning sequential lear-ning algorithm of hyper basis function neural network for function approximation.[J].Neural Networks the Official Journal of the International Neural Network Society,2013,46(5):210-226.

[4] Platt J.A resource-allocating network for function interpola-tion[J].Neural Computation,1991,3(2):213-225.

[5] Chen Z,Qian P.Application of PSO-RBF neural network in network intrusion detection[C]∥2009 The Third International Symposium on Intelligent Information Technology Application,IITA 2009,IEEE,2009:362-364.

[6] Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.

[7] 汪海波.基于深度学习的人脸识别方法研究[D].合肥:合肥工业大学,2014.

[8] Vincent P,Larochelle H,Bengio Y,et al.Extracting and compo-sing robust features with denoising autoencoders[C]∥Proceedings of the 25th International Conference on Machine Learning,New York,2008:1096-1103.

[9] 宣森炎,龚小谨,刘济林.基于联合卷积和递归神经网络的交通标志识别[J].传感器与微系统,2014,33(8):30-33.

[10] 阳 武,李 倩,赵继生,等.深度信念网络在故障指示器检测中的应用[J].传感器与微系统,2015,34(7):155-157.

[11] Kennedy J,Eberhart R.Particle swarm optimization[C]∥Proc of IEEE International Conf on Neural Networks,Piscataway:IEEE,1995:1942-1948.

[12] 龚雪飞,徐 景,孙寿通,等.PSO-BP神经网络在多元有害气体检测中的应用[J].传感器与微系统,2015,34(2):154-156,160.

Deep neural network classification algorithm based on particle swarm optimization*

DONG Qing, SONG Wei

(School of IoT Engineering,Jiangnan University,Wuxi 214122,China)

Aiming at problem that classification precision of neural network algorithm is not very high and node function doesn't have derivate,a new classification algorithm of deep neural network based on particle swarm optimization(PSO) is presented.Use autoencoder of deep study,and combined with PSO algorithm to optimize the weight,coder and decoder for input sample data using autoencoder.In order to improve the classification precision of network,take the error function of autoencoder and cost function of softmax classifier weight sum as evaluation function of PSO algorithm in common,making coded data more adapter to the classifier.The experimental results show that compared with other traditional neural network,the classification algorithm has higher classification precision on Email classification.

deep neural network; autoencoder; particle swarm optimization(PSO) algorithm; classification

10.13873/J.1000—9787(2017)09—0143—04

2016—09—13

中央高校基本科研业务费专项资金资助项目 (JUSRP51635B)

TP 183

A

1000—9787(2017)09—0143—04

董 晴(1991-),女,硕士,主要研究方向为神经网络、机器学习,E—mail:jiangdadq@163.com。

宋 威(1981-),男,博士,副教授,主要从事数据挖掘、人工智能、机器学习方向研究工作。

猜你喜欢
查准率权值分类器
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
基于数据挖掘技术的网络信息过滤系统设计
大数据环境下的文本信息挖掘方法
基于实例的强分类器快速集成方法
基于深度特征分析的双线性图像相似度匹配算法
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器