基于差分孪生卷积神经网络的大规模不平衡数据分类算法

2019-11-12 05:11:56任佳丽王文晶
计算机应用与软件 2019年11期
关键词:差分神经元卷积

任佳丽 王文晶

1(山西交通职业技术学院信息工程系 山西 太原 030031)2(山西大学商务学院信息学院 山西 太原 030031)

0 引 言

在商业活动和社会生产中存在大量的不平衡数据,例如:银行的信用卡信息中大部分是正常用户信息而极少部分是欺诈用户和低信用用户,医院的诊断报告中大部分是常见病情而极少部分是罕见的重病[1]。不平衡数据的分类方法主要分为4类:成本敏感学习法、支持向量机法、单类学习法及组合学习法[2]。其中,成本敏感学习将分类边界适当靠近多数类来提高少数类的分类准确率,此类方案对于分类数少的情况较为有效[3]。支持向量机(Support Vector Machine,SVM)对于不平衡性的敏感度低,可获得较好的效果[4]。单类学习的核心思想是只学习单一目标类的样本[5]。组合方法的核心思想是将多个弱分类器组合成一个强分类器,其中AdaBoost[6]是一种经典的组合方法。研究人员利用SVM对不平衡数据敏感度低的优点,设计了孪生支持向量机,可简单有效地分类不平衡数据。目前孪生支持向量机已经应用于电力系统暂态稳定评估[7]、小麦蚜虫遥感监测[8]、DDoS攻击检测[9]等不平衡数据分类问题,取得了显著的效果。但SVM中包含矩阵计算,为大规模数据集的分类处理带来了极大的计算负担。

随着深度神经网络的持续发展,许多研究人员利用深度神经网络解决不平衡数据的分类问题。文献[10]提出降噪自编码神经网络不平衡数据分类算法,该算法利用降噪自编码神经网络算法的逐层无监督降噪学习和有监督微调过程,实现了对过采样数据集的降噪处理与数据分类。文献[11]以通用卷积神经网络(Convolutional Neural Networks,CNN)模型为基础分别在四类心拍数据上构建四个表达对应心拍类别倾向性信息的类别CNN模型,最后综合四个类别CNN模型的输出判别心拍类型,实现了较好的分类准确率。文献[12]对不平衡数据集进行动态采样,再利用卷积神经网络对每个预分类进行学习,对每个神经网络进行参数学习。文献[3]结合成本敏感方法和神经网络两种机制,对神经网络进行了简单地调节,使类的边界靠近少数类。上述基于神经网络的不平衡数据分类算法包含了监督的超参数微调程序,该微调过程需要学习每个类的神经网络超参数,计算负担较大。

孪生支持向量机需要计算矩阵及固定核函数,而神经网络需要复杂的超参数微调处理,因此两者均难以单独适用于大规模不平衡数据分类问题。本文考虑将孪生机制引入神经网络,利用卷进神经网络极强的深度结构表示能力,并设计了差分卷积机制,在不改变滤波器数量的情况下提高模型的分类准确率。通过差分孪生卷积神经网络分别优化每个类的特征图,每个类关联多个超平面,根据输入样本与超平面的距离决定输出样本的类标签。

1 卷积神经网络

卷积神经网络是模式识别领域最成功的方法之一。网络的滤波器提取输入样本的特征,通过池化处理缩小特征图,再输入卷积层对特征集进行分类处理。深度卷积神经网络一般包括卷积层、池化层和全连接网络。卷积层负责提取特征,池化层负责缩小特征图,全连接层负责将特征集分类。当前主流的卷积神经网络均存在一定的过拟合问题,本文设计了差分机制和后向传播机制解决过拟合问题。

1.1 卷积层

卷积层由若干大小固定的滤波器组成,提取输入数据的特征。神经元的感受野表示前一层连接的神经元,感受野大小等于滤波器的大小。以图像数据为例,设m×n和c×c分别为输入图像和核的大小,i表示图像,wt,r和b分别为过滤器的权重矩阵和偏差项。神经元的输出o0,0定义为下式,

(1)

式中:f为ReLu激活函数。ReLu激活函数的形式为:

(2)

1.2 池化层

首先,卷积运算和激活函数获得输入数据的特征图,然后对特征图进行池化处理产生更小的特征图。对输入数据应用滑动窗口处理,每个窗口依次池化处理,常用的池化方法包括最大池化、平均池化和L2池化。池化处理的作用是缩小输入数据规模、独立提取特征。

1.3 全连接层

池化层的输出数据是一维向量,该向量输入全连接网络。全连接网络可能包含多个隐层,每个神经元将前一层的数据乘以全连接权重,再加上偏差值。全连接层神经元的计算方法为:

(3)

式中:f为激活函数,w为权重向量,oq为第q个神经元的输入向量,b为偏差值。

1.4 Softmax函数

采用Softmax函数作为多类数据集分类器输出层的激活函数,定义为:

(4)

式中:j为类的序号。

2 孪生卷积神经网络设计

孪生SVM通过求解一组小规模问题来学习两个非平行分类超平面,但孪生SVM包含矩阵求逆的运算,如果处理大数据集则需要大量的内存资源和计算资源。本文在神经网络的框架内实现孪生策略,利用非平行边界思想实现了孪生神经网络的结构。

图1所示是3层孪生神经网络(卷积层→池化层→输出层)的结构图,输入向量为x,卷积层神经元将x转化为φ(x),池化层进行池化处理,输出层根据特征空间学习一个分类器,表示为φ(·)。最终使用分类器的超平面对测试集样本进行预测。

图1 孪生神经网络的结构

不平衡数据集分类问题共训练两个神经网络,其误差函数分别设为E+1和E-1,定义为:

(5)

(6)

将误差对权重w和偏差b求偏导数,获得最小化误差的规则。误差对权重w的偏导为:

(7)

式(7)的第1项设为E+1MSE,第2项设为E+1twin,E+1MSE为关于oi=f(neti)的函数,oi为神经网络的输出,f(·)为激活函数。可获得以下关系:

(8)

(9)

E+1MSE对b+1的偏导为:

(10)

(11)

第2项E+1twin对w+1的偏导为:

(12)

E+1twin对b+1的偏导为:

(13)

综上可总结出以下的方程组:

(14)

(15)

(16)

(17)

预测样本x类标签的步骤为:首先通过隐层将x映射到空间φ(·),然后输出层根据下式判断x的类标签y:

(18)

3 多类数据的孪生卷积神经网络

将孪生神经网络扩展至多类数据集,其标签为yi∈{A,B,…,K},K为类标签数量。通过训练K个独立的神经网络实现多标签数据集的孪生神经网络,每个网络通过一个成本函数判断样本是否属于本类。图2所示是系统的总体架构,每个类先与多个超平面关联,然后与多个分类器神经元关联,图中类A的神经元输出标签为z1A,z2A,…,zpA。每个类的神经元数量可能不同,一个类的每个输出神经元对应一个超平面,通过超平面预测新样本是否属于该类。假设类A的一个样本,TWNN需要寻找与类A距离最近的超平面u,同时u需要与其他类的距离大于1。

图2 多类孪生神经网络的总体架构

(a) 二分类神经网络的激活函数

(b) 多分类神经网络的激活函数图3 多分类激活函数的示意图

因为孪生神经网络的损失函数不包含超参数,所以多分类孪生神经网络无需微调模型的超参数,仅需要预设全连接网络的隐层神经元数量。

4 卷积神经网络模型设计

为了解决卷积神经网络的过拟合问题,本文设计了差分机制和后向传播机制解决过拟合问题,差分卷积机制考虑神经元激活和相邻神经元激活的变化。

4.1 神经网络的差分卷积设计

卷积运算负责提取输入数据的特征,卷积技术的思想是考虑样本与其相邻样本的有向变化。差分卷积分析一个样本与相邻样本的模式方向,差分计算通过计算样本激活间的差异反映了连续样本的变化。本方法利用差分信号加法图的卷积方法,运用预设的常量滤波器从特征图产生附加的差分图。图4所示是4个常量滤波器,每个滤波器计算一个方向的差分值,最终特征图包含4个方向的差分值。

图4 四个方向的常量滤波器

设传统卷积生成的特征图为g1,4个附加的特征图为g2、g3、g4、g5,对应神经元的计算方法分别为:

g2,i,j=g1,i,j-g1,i+1,j

(19)

g3,i,j=g1,i,j-g1,i,j+1

(20)

g4,i,j=g1,i,j-g1,i+1,j+1

(21)

g5,i,j=g1,i+1,j-g1,i,j+1

(22)

如果g1的大小为M×N,g2、g3、g4和g5的大小分别为(M-1)×N、M×(N-1)、(M-1)×(N-1)和(M-1)×(N-1)。附加特征图以0值填充,扩展到第1个特征图的大小,如图5所示。

图5 差分特征图的扩展示意图

4.2 神经网络的叠加后向传播

通过叠加后向传播算法提高差分卷积的性能。后向传播将误差反向地传递至每个特征图,每个附加特征图的误差与对应的定值滤波器权重相乘,再加上第一个特征图的误差,采用获得的误差矩阵训练相关滤波器。设传递到第1个特征图的误差为h1,传递到附加图的误差分别为h2、h3、h4、h5,误差矩阵的元素设为E,图的大小为M×N。相关过滤器的误差计算为:

Ei,j=h1,i,j-h2,i,j-1+h2,i,j-h3,i-1,j+

h3,i,j-h4,i-1,j-1+h4,i,j-h5,i-1,j+h5,i,j-1

(23)

式中:M>i>1,N>j>1。传递到特征图顶点神经元的误差为:

(24)

传递到特征图边神经元的误差为:

(25)

5 仿真实验和结果分析

5.1 参数设置和实验数据集

孪生神经网络的参数C+1和C-1范围设为{0.01,…,100},全连接网络的隐层神经元数量设为n/3,n为数据集的特征量。

选择两个孪生支持向量机RSTSVM[13]和FTSVM[14]作为对比方法,RSTSVM结合了重采样技术和孪生支持向量机技术。FTSVM是一种基于信息熵的孪生支持向量机技术,该技术利用信息熵度量数据的距离。WOA+BRNN[15]是一种基于新型鲸鱼优化算法和深度神经网络的不平衡数据分类算法,该算法与本文算法均采用了深度神经网络,但是该算法采用鲸鱼优化算法进行分类的优化处理,而本文算法采用孪生机制进行分类处理。EOST[16]是近期一个有效的不平衡数据分类方案,该方案通过解决不平衡数据集的过采样问题,提高对小规模类的分类效果。

本文算法训练的过程为:将输入特征归一化至[-1,+1]范围,采用K-近邻填充算法优化全连接网络的隐层神经元数量和超参数,使用5折交叉验证计算准确率,每组实验独立运行10次,保证合理的置信区间。

5.2 平衡数据集实验

首先采用常用的公开UCI数据集测试本算法对于一般性数据集的分类效果,表1所示是10个UCI数据集的基本属性。

表1 UCI数据集的基本属性

图6所示是5个算法对平衡数据集的分类精度结果,可以看出,本文算法对于Hepatitis、Australian、CRX、German、SONAR、Housevotes、Heart Spectf均取得了最佳的分类精度,对于另外2个数据集则略低于EOST算法,但依然高于其他三个方法。可得出结论,虽然本文算法针对不平衡数据集设计,但是对于一般的平衡数据集也具有较好的性能。

图6 平衡数据集的分类精度结果

5.3 二分类不平衡数据集实验

本文孪生卷积神经网络的优势在于对不平衡数据集具有更好的泛化效果,采用留一法策略将10个UCI数据集抽样组合为二分类不平衡数据集,表2所示是二分类不平衡数据集。

表2 二分类不平衡数据集的基本属性

分类精度仅能评价算法的总体分类准确率,无法观察学习算法对数据集偏斜的处理效果,因此采用了另外几个有效的不平衡数据集分类性能指标。分类精度acc、真正率TPR、假正率NPV、真负率TNR和假负率PPV分别定义为:

(26)

(27)

(28)

(29)

(30)

式中:TP为真实标签和预测标签均为真的样本集,TN为真实标签和预测标签均为假的样本集,FP为真实标签为假被误预测为真标签的样本集,FN为真实标签为真被误预测为假标签的样本集。

F1-measure定义为正定预测值和正定率之间的调和均值:

(31)

Mathew相关系数是一种常用的二分类不平衡数据分类性能的评价指标,MCC值越高说明分类器的分类准确率越高、误分类率越低。

(32)

图7所示是10个不平衡数据集的G-means指标结果,本文算法对于Abalone、Yeast、Abalone、Wine_Quality、Ozone_Level和Statlog的结果均大幅度领先于其他4个算法,对于另外4个不平衡数据集的结果略优于其他4个对比方法。G-means的结果越高,说明两个不平衡分类间的划分精度越高。

图7 10个不平衡数据集的G-means指标结果

图8所示是10个不平衡数据集的F1-measure指标结果,本文算法对于10个数据集的结果均明显优于其他4个算法。F1-measure越高,说明误检率、漏检率、检测率均取得了较高的质量。

图8 分类算法的F1-measure指标结果

图9所示是10个不平衡数据集的MCC指标结果,本文算法对于10个数据集的结果均明显优于其他4个算法。Mathew相关系数越高,说明分类器的分类准确率越高、误分类率越低。

图9 分类算法的MCC指标结果

最终统计了5个分类算法对于10个不平衡数据集的训练时间,结果如表3所示。可以看出,相较于RSTSVM和FTSVM两个算法,TCNN的训练时间具有明显的优势,相较于WOA+BRNN和EOST两个算法,TCNN对于部分数据集的平均时间也较低。综上所述,TCNN有效地解决了孪生支持向量机计算成本高的问题,而相较于非支持向量机的分类算法,TCNN也有效地提高了对不平衡数据集的分类性能。

表3 不同算法的训练时间 s

续表3 s

5.4 多分类不平衡数据集实验

测试本算法对于多分类不平衡数据集的分类性能。表4是7个多分类不平衡数据集的基本属性。

表4 多分类不平衡数据集

因为EOST仅支持二分类不平衡数据的分类问题,所以将本文算法与RSTSVM、FTSVM、WOA+BRNN进行比较。图10所示为多分类数据集的平均分类精度。可以看出,本文算法对于不同分类数的分类精度均优于其他3个算法。MNIST数据集是手写字体数据集,本模型的差分卷积层能够有效地提取深度结构的模式,因此本文算法对于MNIST表现出较好的分类效果。根据实验结果可得出结论:本文算法通过卷积神经网络实现了较强的特征提取能力;利用孪生机制实现了对不平衡数据集的分类处理能力;设计了差分卷积机制和叠加后向传播机制缓解了卷积神经网络的过拟合问题;最终在不平衡数据集的分类问题上,实现了较好的分类性能以及较快的处理速度。

图10 多分类不平衡数据集的平均分类精度

6 结 语

本文将孪生机制引入卷积神经网络框架中,提高对不平衡数据的泛化效果。利用卷积运算对深度结构表征能力强的优点,提取输入数据的特征,并且设计了差分卷积技术增强特征的判别能力。本文设计的差分孪生卷积神经网络能够有效地处理不平衡数据集的二分类问题和多分类问题,实现了较好的分类准确率和训练效率。

本方案目前的弱点在于卷积层所提取特征的判别能力依然不足,未来将开发针对不平衡文档数据集、不平衡图像数据集等指定领域的专门深度神经网络模型,针对不同的数据类型设计判别能力强的特征提取方案。

猜你喜欢
差分神经元卷积
《从光子到神经元》书评
自然杂志(2021年6期)2021-12-23 08:24:46
基于3D-Winograd的快速卷积算法设计及FPGA实现
数列与差分
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
跃动的神经元——波兰Brain Embassy联合办公
现代装饰(2018年5期)2018-05-26 09:09:01
基于傅里叶域卷积表示的目标跟踪算法
基于二次型单神经元PID的MPPT控制
电源技术(2015年5期)2015-08-22 11:18:38
毫米波导引头预定回路改进单神经元控制
基于差分隐私的大数据隐私保护
相对差分单项测距△DOR
太空探索(2014年1期)2014-07-10 13:41:50