基于先验概率的加权神经网络模型

2023-03-12 07:06吕王勇李思奇
关键词:训练样本分类器类别

邓 柙, 吕王勇,2*, 代 娟, 陈 雯, 李思奇

(1. 四川师范大学 数学科学学院, 四川 成都 610066;2. 四川师范大学 可视化计算与虚拟现实四川省重点实验室, 四川 成都 610066)

1 研究背景

随着信息技术的快速发展,各领域数据处理的需求正以前所未有的速度增长.数据分类作为一种基础的数据处理方法,已广泛应用于数据的智能化处理.人工神经网络(artificial neural network)简称神经网络[1-2],作为一种基础的数据分类方法,一直以来都深受研究者青睐.它是由网络节点相互连接而构成,并模仿人脑工作的模型.神经网络实质上是一个数学计算模型,是由彼此连接的节点、网络包含的激励函数以及节点间的连接权值而构成,并采用上述结构模拟人脑工作[3],从而解决实际问题[4].20世纪末期,研究者们给出多层神经网络及误差逆向传播算法[5],并提出BP神经网络模型这一目前人工神经网络应用最为广泛的一种网络模型,已成功应用于模式识别、生物信息处理、决策支持等领域[6-7].

自1986年,Rumelhart等[7]提出BP神经网络模型以来,作为一种新的学习理论,BP神经网络引起了众多科研人员的研究兴趣,已成为机器学习领域及数据分类的研究热点.研究者们根据BP神经网络的种种优点和缺点并结合其他专业知识进行扩展研究,提出了许多扩展的BP神经网络分类模型[8-17].大多数BP神经网络分类模型是基于经验风险最小的分类模型,使期望模型在训练集的分类错误率尽可能低,但都是适用于数据是平衡的或给定相等的错误分类代价,而这会造成少数类中的样本被大量误分,从而造成分类器对少数类识别性能的下降.而现实中的数据通常具有不平衡特性,即某一类的样本数量要远远少于其他类的样本数量,且少数类具有更高错分代价.因此,采用传统的神经网络模型时,数据的失衡往往造成分类面的偏倚,导致难以得到令人满意的分类效果.现今国内外学者相继提出了多种用于解决类不平衡问题的方法[18-20],不少学者也基于神经网络提出一系列处理不平衡数据的分类模型,能够提高模型对少数类样本的识别率.文献[21]提出了一种融合CNN(卷积神经网络)和EWC算法的不平衡文本情绪分类方法,该方法在不平衡文本情绪分类上的准确率和G-mean测度较优于其他算法;文献[22]通过对现有不平衡数据处理方法进行分析,结合神经网络和模糊推理系统,提出基于数据和算法层面的混合式不平衡数据处理算法,该算法在解决了数据不平衡问题的同时,还提升了分类器对少数类的分类效果与整体分类准确度;文献[23]针对机械设备实际工作过程中正常样本丰富、故障样本匮乏的问题,提出一种代价敏感卷积神经网络模型,该方法对不平衡数据集中的少数类样本识别率相对于传统神经网络提升了22%以上;文献[24]通过数据、算法、特征3个层面提出了一种基于蒙特卡洛神经网络的不平衡分类算法,解决了不平衡分类的过拟合、类别不平衡、特征冗余等问题,不但整体分类性能更好,而且能显著提高少数类样本的分类性能,具有重要的现实意义;不少研究也通过将神经网络中的极限学习机进行加权处理用于处理不平衡分类问题[25-28],如文献[27]充分讨论了数据分布特性对分类器的影响与极限学习机思想,提出了一种结合卷积神经网络和数据分布的加权极限学习机,针对不平衡分类问题,该算法不仅在整体分类精度和对少数类识别率上更高,还同时结合了CNN对特征提取的优点和ELM训练速度快、分类精度高的优点.但是以上模型都没有考虑通过数据的先验信息对神经网络的目标函数进行加权,来解决不平衡分类问题.本文主要针对大数据分类中各类规模差异较大导致的分类精度不高的问题,基于代价敏感学习的思想并结合数据的先验信息,提出一种基于先验概率的加权方法,通过对神经网络中的目标函数进行加权,增强对稀有少数类的敏感代价学习,使得改进后的神经网络分类器能够提高对较小类别的正确识别率.

2 BP神经网络

人工神经网络通过模仿人脑神经系统的工作流程,从而完成对输入信息进行快速处理.神经网络通过全连通的网络拓扑结构、训练参数、连接权值及训练算法等,实现对实际问题的处理或者完成某些功能.BP神经网络是基于误差反向传播算法的多层前馈神经网络,具有良好的非线性映射能力、泛化和容错能力,是目前人工神经网络应用最为广泛的一种网络.BP神经网络学习是有监督的,整个网络的迭代由2个部分组成,分别为“前向传播”和“后向传播”.当输入训练样本后,网络不断将实际输出与目标输出进行对比,同时进行误差计算,并按照训练算法例如梯度下降法对网络的参数不断进行修正,使其实际输出不断接近目标输出.网络按照上述过程不停地循环训练,通过迭代不断更新权重和偏置,使得目标函数值向预期值靠拢,从而得到较为精确的实际输出.

神经网络一般由输入层、隐含层(隐含层可以有多层)和输出层构成,如图1所示.

图 1 神经网络

1) 前向传播.从输入层到隐藏层:

j=1,2,…,num(1).

(1)

隐藏层之间:

l=2,3,…,m-1, j=1,2,…,num(l).

(2)

从隐藏层到输出层:

j=1,2,…,num(m).

(3)

2) 后向传播.在经典神经网络中,常常采用梯度下降法对参数进行最小二乘估计,目标函数为残差平方和

(4)

但是经典神经网络都是倾向于假设数据是平衡的,若训练集X中的类别数是不平衡的,即某一种类别数的样本量要远远小于其他类别的样本数,此时经典的神经网络算法就不再适用.其实可以看到当存在不平衡分类问题时,这时一般的目标函数(残差平方和)即(4)式就不能准确地反应分类器的好坏.现假设训练集X共有N=100个样本,共有类别数t=2个,其中有1类样本90个,0类样本10个.若出现以下2种情况:1) 分类器A把所有的测试样本都分成了1类,则分类器A的残差平方和为10;2) 分类器B把1类的90个样本中85个分为1类,0类的10个样本中5个分为0类,分类器B的残差平方和也为10,但显然分类器A的效用远不如分类器B.此时目标函数(4)式已经不能准确地反映分类器的好坏,出现这种情况是因为在目标函数中,算法给定了大类样本和稀有少数类样本相等的错误分类代价,这样会造成少数类中的样本被大量误分.

本文基于代价敏感学习的思想,希望改进目标函数增强对稀有少数类的敏感代价学习.那如何改进呢?可以看到各类别的先验信息存在较大的差异,即样本不同类之间的数量相差较大,为解决此类问题,本文考虑利用各类别的先验概率对神经网络中的(4)式目标损失函数进行加权.如对于0类样本,其样本数为10,占总的训练样本的1/10,即0类的先验概率为1/10,取其倒数即为10,将其倒数10加入到神经网络中的目标损失函数,当网络对少类样本进行网络迭代时,让此时的目标函数值增加10倍,从而提高对稀有少数类别的代价敏感学习,从而增强对少数类别的识别.

3 基于先验概率的加权神经网络

3.1 加权目标函数先验概率是指根据以往经验和分析得到的概率,例如抛硬币,大家都认为正面朝上的概率是0.5,这就是一种先验概率.先验概率反应了原始数据中包含的各类别的基本信息,在分类问题中可取某类的先验概率为该类别样本数所占总样本数的比例.先验概率确定以后,接下来对目标函数进行加权.在实际案例中,很多时候要求分类器更关注一个类别,即尽可能地将这个类别判对,此时只需要对单个类别加权.若要对第i类进行加权,设该类样本共有Ni个,则对于训练样本中的第k个样本,通过先验概率定义权重

(5)

其中

表示第i类的先验概率,即该类样本数占训练样本总数的比例.

(6)

(7)

类似于对单个类别加权,考虑多个类别数据规模对分类结果的影响,此时类别数也设为m个,对于训练样本中的第k个样本,利用先验概率定义权值为

W=W1W2…Wm=

(8)

其中若该样本k是属于第m类,则

Tm(k)=1,

T1(k)=T2(k)=…=Tm-1(k)=0,

此时权值

W=W1W2…Wm=

这样就可以对属于m类的样本进行加权,进而对于属于不同类的样本都可以进行相应的加权.将(8)式代入目标函数(4)式中,对于N个样本,可以构造新的目标函数为

(9)

3.2 基于先验概率加权神经网络的权值和偏置的迭代过程基于先验概率的加权神经网络的前向传播过程与经典神经网络的是一样的,在前面已经介绍过,下面给出基于先验概率的加权神经网络的后向传播过程推导.

对于第k个样本,则对于该样本的目标函数为

激活函数采用sigmoid函数,神经网络的输出值仅与输入值、权值以及偏置有关.后向传播的目的为调整权重和偏置,采用梯度下降法对其更新,过程推导如下:

(10)

(11)

(12)

当l=1,2,…,m-1时,有

(13)

3.3 基于先验概率加权的神经网络算法步骤

输入:训练数据集X.

输出:训练后的BP神经网络.

步骤1:初始化BP神经网络节点个数、网络参数、权值与偏置、最大训练次数等,并根据训练样本得到小类别的先验概率,按照上述方法加入目标函数中,从而构建新的目标函数.

步骤2:将样本输入到网络进行训练,得到实际输出.

步骤3:计算网络误差,并将当前训练次数加1.

步骤4:当训练次数达到最大,或误差E小于目标函数误差,网络则停止训练,算法结束;否则,转至步骤5.

步骤5:计算网络误差即目标函数值,利用上述公式调整权值与偏置,并转至步骤2.

4 实证结果与分析

本文将提出的基于先验概率加权的神经网络算法与经典神经网络算法应用于不平衡数据分类问题中进行性能分析和比较,并验证提出算法的有效性和实用性.

在实验中,取其小类别样本占所有样本的比例作为先验概率值,采用梯度下降法去调整权值和偏置,激活函数采用sigmoid函数,最大训练次数都设为20 000次.此外,考虑到在不平衡分类问题中,整体分类精度不能反映分类器的真实性能.因此,采用G-mean测度作为分类性能的另一个量度,其计算公式为

(14)

其中,Acc+与Acc-分别代表少数类与多数类样本的分类精度,因此,G-mean测度测试的是2类样本分类精度的平衡度.

本文分类数据选用银行违约数据Defalt和UCI经典二分类数据集中的Credit数据集,具体信息如表1所示.

表 1 数据信息

4.1 实验1:Defalt数据分类银行违约数据集Defalt通过数据中的信用卡余额(balance)、收入(income)以及是否为学生(student)3个变量建立神经网络对样本进行分类,判断是否违约.该数据共有10 000个样本,将样本按照是否违约分为2类,其中违约样本只有333个为小类别,则该小类别大概占样本的1/30,可取其目标函数中的权重为30,不违约样本类别的权重依然取为1.得到目标函数权重之后,将训练样本分别带入经典神经网络和基于先验概率的加权神经网络2种算法中,从而建立网络,并分别用测试样本的结果进行比较.得到多次神经网络后的整体分类精度和G-mean测度的平均值结果如表2~5所示.

表 2 2种算法在Defalt数据集上的比较

表 3 经典神经网络的一次具体分类结果

表 4 加权神经网络的一次具体分类结果

表 5 2种算法在Credit数据集上的比较

由表2可知,基于先验概率的加权神经网络在训练样本中的整体分类精度和G-mean测度的平均值都优于经典神经网络的;而在测试样本中,虽然经典神经网络的分类精度是优于加权神经网络的,但是2类样本分类精度的平衡度(即G-mean测度值)是很差的,说明经典神经网络对于少数类别样本的识别不够精确,而加权神经网络则大大优化了这一点.图2和3是其中一次具体分类结果以及相应的ROC曲线.由表2~5及图2和3可知,基于先验概率的加权神经网络在训练样本中对类别较少的样本的识别率可以达到100%;而在测试样本中,虽然牺牲了一定的整体分类精度,但是能在一定程度上增强对稀有类样本的识别,并且从各自的ROC曲线也能看出,加权神经网络在训练样本上的AUC值能够达到1,并且其后测试样本的ROC曲线的AUC值也是较优于经典神经网络的.

图 2 经典神经网络训练样本和测试样本的ROC曲线

图 3 加权神经网络训练样本和测试样本的ROC曲线

4.2 实验2:Credit数据分类对于Credit数据集的处理类似于违约数据,数据共有1 000个样本,其中一类样本700个,取目标函数中该类别的权重为1;另一类较少样本300个,占总数的1/3,取该类别的权重为3.通过权值构造目标函数后,将训练样本分别带入经典神经网络和基于先验概率的加权神经网络2种算法中建立网络,并分别用测试样本的结果进行比较,得到多次神经网络后的整体分类精度和G-mean测度的平均值结果如表6和7所示.

表 6 经典神经网络的一次具体分类结果

表 7 加权神经网络的一次具体分类结果

实验2的结果与实验1类似,基于先验概率的加权神经网络在训练样本上的分类精度和G-mean测度都是要优于经典神经网络的;测试样本上虽然分类精度较低于经典神经网络,但G-mean测度较好,说明改进的加权神经网络能够增强对稀有少数类样本的识别.图4和5是其中一次具体分类结果以及相应的ROC曲线.

由表6和7及图4和5的一次具体分类结果以及相应的ROC曲线和AUC值可知,不管是在训练样本还是测试样本上,基于先验概率加权的神经网络对于稀有少数类别的样本的识别率都是优于经典神经网络的,可以减少对少数类别的错分代价.

图 4 经典神经网络训练样本和测试样本的ROC曲线

图 5 加权神经网络训练样本和测试样本的ROC曲线

5 结束语

本文基于代价敏感学习的思想,利用样本先验概率通过对神经网络目标函数的加权构造,提出了基于先验概率的加权神经网络模型.此模型优化了经典神经网络在不平衡数据中对于少数稀有类别的分类识别,克服了各类规模差异较大对分类器的影响.最后通过2种神经网络在真实数据上的对比测试,验证了改进模型的有效性和实用性,具有一定的潜在应用价值.

猜你喜欢
训练样本分类器类别
人工智能
壮字喃字同形字的三种类别及简要分析
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
宽带光谱成像系统最优训练样本选择方法研究
基于稀疏重构的机载雷达训练样本挑选方法
服务类别
多类别复合资源的空间匹配
基于层次化分类器的遥感图像飞机目标检测
一种基于置换的组合分类器剪枝方法