APP下载

基于样本随机均匀分布的BP神经网络改进算法

2014-12-13朱旭东梁光明

数字技术与应用 2014年8期

朱旭东++梁光明

摘要:人工神经BP网络在样本特征的模式识别方面具有很强的分类能力,并且具有较好的泛化能力,但同时也存在不足之处,如收敛速度慢,很容易陷入局部极值,难以确定隐层数和隐层节点数等等。因此本文提出了一种基于样本随机均匀分布的BP网络识别的改进算法,进行了深入的数学分析和实验验证。实验结果表明,改进型算法能够有效的改进传统BP网络收敛速度慢和容易陷入局部极值的问题。

关键词:BP网络 随机均匀分布 收敛速度

中图分类号:TP391.4 文献标识码:A 文章编号:1007-9416(2014)08-0127-03

1 引言

人工神经网络是近30年来发展起来的一门十分活跃的交叉学科,是一种类似于人类神经系统的信息处理技术,可以视为一种功能强大、应用广泛的机器学习算法,广泛应用于实现分类、聚类、拟合、预测、压缩等功能,在高校研究和工程实践中均有研究[1]。其中应用最广泛的是BP神经网络学习算法,它是一种采用非线性转换单元构成的前向网络,采用了反向传播的学习算法。BP神经网络是前向神经网络的核心部分,也是整个人工神经网络体系中的精华,在实际应用中,大约80%的神经网络模型采取了BP网络或者其变化形式[2]。

BP网络有较好的泛化应用能力,但同时也存在许多的不足,比如收敛速度慢,很容易陷入局部极值,难以确定隐层数和隐层节点数等等[3],特别是网络收敛速度慢和容易陷入局部极值的问题,已经成为了BP神经网络发展的一个瓶颈性问题,严重影响了神经网络在许多领域的实际应用。文献[5]通过比较三类波形分类时训练样本输入顺序对识别结果的影响,提出随机输入顺序和部分输入法的输入方式为较佳。文献[6]提出了让一系列样本“并行”混合学习,在一定程度上改进了学新忘旧的不足。本文是在这些改进算法基础上,提出了类内随机均匀分布和类间均匀分布相结合的样本随机均匀分布的改进型算法。

2 BP神经网络样本次序与收敛速度

2.1 三层神经网络原理

文献[1]提出三层网络可以实现任何的非线性的输入至输出的映射,所以本文采用三层BP神经网络,其结构模型如图1所示。第一层是样本输入层,网络输入模式为,第二层是隐含层,有n个神经元,它们的输出记为,第三层输出层,有m个神经元,

2.2 收敛速度与样本次序关系的数学分析

训练收敛过程是根据样本训练总误差通过反向传播计算每个权值的调整量的过程,总误差公式为:

根据公式(11)和(12)推出结论:学习速率(步长)和权值调整与样本特征差别成正比,因此,网络的收敛速度与样本的输入顺序所带来的样本特征差别的大小成正比。

2.3 样本随机均匀分布的顺序与BP网络收敛速度的关系

由上一小节可知,BP网络的收敛速度与样本的输入顺序所带来的样本特征差别的大小成正比。样本的随机均匀分布正是利用了相邻的输入样本和分属于不同类别,样本特征差别会很大,彼此之间相似度低,个体差异大,关联性小等特点而导致误差曲线产生局部震荡,这些局部的震荡使网络的权值调整步长增大,这虽然在一定程度上延长了训练时间,但是正是因为训练步长的增大,才有效提高了网络的收敛速度。随着训练次数的增加,BP网络对均匀化样本逐渐“适应”,开始快速收敛到全局最优。所以,从全局上考虑均匀分布的样本输入虽然是局部增加了BP网络学习训练过程产生的震荡现象,但是实质上是提高了全局的收敛速度,并且有效的避免了陷入局部极值的问题。

其次,由于BP网络的结构组成是模拟人脑的结构和功能,具有“淡忘性”,总是对最近训练的样本的特征记忆清晰,越是训练间隔久远的样本训练数据的记忆越是模糊,针对BP网络和样本输入顺序的关系,样本随机均匀分布的训练能使网络循环反复地学习记忆各不同类别的样本特征,在短时间之内将各不同类别等量的样本训练了一遍,如此循环训练直到所有类别的训练样本都均匀地训练完毕,因此加深了BP网络对样本的识别记忆,提高了网络收敛速度且不易陷入局部极值。

所以,采用随机均匀分布的样本输入顺序比传统的样本序号顺序将更能有效地提高BP神经网络的收敛速度。

3 基于样本随机均匀分布的BP网络改进型算法

第二节从数学公式角度重点推导了样本顺序和网络收敛速度的关系,证明了传统的BP神经网络算法对样本的输入顺序有一定的敏感性,不同的样本输入顺序在一定程度上影响着BP神经网络的性能。因为传统的BP网络的样本输入是按照样本序号的排列顺序,样本在每次迭代训练时都是同样的顺序进入网络训练,误差大的样本每次迭代训练误差都很大,这也是BP神经网络训练收敛速度慢的一个重要原因。为此,基于网络对输入样本的敏感性,提出了一种根据样本的输出类型将样本输入顺序随机均匀分布的改进算法,即对训练集进行重新优化组合,使每次迭代的训练样本输入次序呈随机均匀分布,以此来增大样本之间的特征差,提高网络收敛速度。

3.1 样本空间定义

首先,假设样本空间的训练样本各类别中的样本数量相等,根据已知的样本输出类型对样本集合进行聚类预处理。

假设样本的输出类型为Y,分别为y1,y2,…yM,即。

3.2 样本随机均匀空间分布

这个过程包括两个步骤,分别是类内的随机均匀分布抽样和类间的均匀分布。两个步骤依次迭代循环,直到把样本集所有的样本都均匀重组完毕。

3.2.1 类内随机均匀分布

首先对原始样本集进行聚类分析,可采用欧式距离测度法或者相似度测度法,本文采用距离测度中的欧氏距离法,公式如下

由于在yM类中随机抽取单个样本的概率是均等的,与类内样本原有的排列顺序和位置无关,实现了类内样本的随机等概率的均匀分布取样。

3.2.2 类间均匀分布endprint

按照类别抽取样本后,再以类别为单位按照不同类别的顺序将抽样样本再一次均匀的排列分布,实现抽样样本按照不同类别均匀分布,样本不同类别的均匀分布可用均匀分布函数表示:

总之,经过类内和类间的两次随机均匀分布,既实现了类内样本的随机均匀等概率抽样,打乱了类内的原有的按照样本序号的排列顺序,又通过不同的类与类之间的均匀排列实现了不同类别的均匀分布。两个步骤依次循环迭代,直到把样本集所有的样本都均匀重组完毕,就得到期望的随机均匀分布的样本训练空间集。如下所示

由于均匀分布的相邻样本分属于不同的类别,具有个体差异大,相似度低,关联性小等优点,有利于BP神经网络对样本的循环辨别记忆,有效改进了传统BP神经网络收敛速度慢,易陷入局部极值的问题。

4 实验仿真

基于细胞识别平台,进行了实验仿真,利用传统BP神经网络算法和改进的BP神经网络算法对白细胞、红细胞、管型细胞三类细胞进行分类,每类细胞选50个训练样本,每个样本提取10维特征。

本文选用三层的BP神经网络,只包含一个隐含层,输入层节点数根据样本的输入特征的维数选择为10,隐含层节点数为12,输出层根据分类类别节点数为3,由此可以确定三层的BP神经网络结构。

仿真如图2所示。

通过图2可以看出,改进的BP神经网络算法比传统的BP算法收敛速度收敛速度快,有效避免了陷入局部极值问题,基于样本随机均匀分布的BP神经网络改进算法有效地提高了bp神经网络的识别性能。

5 结语

本文提出的基于样本随机均匀分布的BP神经网络改进算法针对传统的BP算法存在的问题,增加了训练集重组优化,把训练样本先聚类,再分别对样本空间进行类内和类间的随机均匀分布重组,打乱传统算法的按照样本序号的顺序输入,在保留传统算法优点的基础上,有效地改进了传统算法的收敛速度慢和易陷入局部极值的问题,实验结果证明,该改进型算法有效地提高了BP神经网络识别性能。

参考文献

[1]孙即祥.模式识别(第二版)高等教育出版社,2008年10月.

[2]张德丰.MATLAB神经网络应用设计.2001年1月.

[3]唐磊.BP网络结构确定算法的研究及仿真.2008年5月.

[4]彭汉川,甘强,韦任.提高前馈神经网络推广能力的若干实际方法[[J].计算机工程与应用,1999,(1):47-48.

[5]胡泽,吴宁,陈伟.神经网络BP算法用于三类基本波形分类时训练样本输入方式的研究.西南石油学院学报,1994年8月.

[6]蒋宗礼,王义和,毕克滨.BP算法研究.哈尔滨工业大学学报,1993年4月.endprint

按照类别抽取样本后,再以类别为单位按照不同类别的顺序将抽样样本再一次均匀的排列分布,实现抽样样本按照不同类别均匀分布,样本不同类别的均匀分布可用均匀分布函数表示:

总之,经过类内和类间的两次随机均匀分布,既实现了类内样本的随机均匀等概率抽样,打乱了类内的原有的按照样本序号的排列顺序,又通过不同的类与类之间的均匀排列实现了不同类别的均匀分布。两个步骤依次循环迭代,直到把样本集所有的样本都均匀重组完毕,就得到期望的随机均匀分布的样本训练空间集。如下所示

由于均匀分布的相邻样本分属于不同的类别,具有个体差异大,相似度低,关联性小等优点,有利于BP神经网络对样本的循环辨别记忆,有效改进了传统BP神经网络收敛速度慢,易陷入局部极值的问题。

4 实验仿真

基于细胞识别平台,进行了实验仿真,利用传统BP神经网络算法和改进的BP神经网络算法对白细胞、红细胞、管型细胞三类细胞进行分类,每类细胞选50个训练样本,每个样本提取10维特征。

本文选用三层的BP神经网络,只包含一个隐含层,输入层节点数根据样本的输入特征的维数选择为10,隐含层节点数为12,输出层根据分类类别节点数为3,由此可以确定三层的BP神经网络结构。

仿真如图2所示。

通过图2可以看出,改进的BP神经网络算法比传统的BP算法收敛速度收敛速度快,有效避免了陷入局部极值问题,基于样本随机均匀分布的BP神经网络改进算法有效地提高了bp神经网络的识别性能。

5 结语

本文提出的基于样本随机均匀分布的BP神经网络改进算法针对传统的BP算法存在的问题,增加了训练集重组优化,把训练样本先聚类,再分别对样本空间进行类内和类间的随机均匀分布重组,打乱传统算法的按照样本序号的顺序输入,在保留传统算法优点的基础上,有效地改进了传统算法的收敛速度慢和易陷入局部极值的问题,实验结果证明,该改进型算法有效地提高了BP神经网络识别性能。

参考文献

[1]孙即祥.模式识别(第二版)高等教育出版社,2008年10月.

[2]张德丰.MATLAB神经网络应用设计.2001年1月.

[3]唐磊.BP网络结构确定算法的研究及仿真.2008年5月.

[4]彭汉川,甘强,韦任.提高前馈神经网络推广能力的若干实际方法[[J].计算机工程与应用,1999,(1):47-48.

[5]胡泽,吴宁,陈伟.神经网络BP算法用于三类基本波形分类时训练样本输入方式的研究.西南石油学院学报,1994年8月.

[6]蒋宗礼,王义和,毕克滨.BP算法研究.哈尔滨工业大学学报,1993年4月.endprint

按照类别抽取样本后,再以类别为单位按照不同类别的顺序将抽样样本再一次均匀的排列分布,实现抽样样本按照不同类别均匀分布,样本不同类别的均匀分布可用均匀分布函数表示:

总之,经过类内和类间的两次随机均匀分布,既实现了类内样本的随机均匀等概率抽样,打乱了类内的原有的按照样本序号的排列顺序,又通过不同的类与类之间的均匀排列实现了不同类别的均匀分布。两个步骤依次循环迭代,直到把样本集所有的样本都均匀重组完毕,就得到期望的随机均匀分布的样本训练空间集。如下所示

由于均匀分布的相邻样本分属于不同的类别,具有个体差异大,相似度低,关联性小等优点,有利于BP神经网络对样本的循环辨别记忆,有效改进了传统BP神经网络收敛速度慢,易陷入局部极值的问题。

4 实验仿真

基于细胞识别平台,进行了实验仿真,利用传统BP神经网络算法和改进的BP神经网络算法对白细胞、红细胞、管型细胞三类细胞进行分类,每类细胞选50个训练样本,每个样本提取10维特征。

本文选用三层的BP神经网络,只包含一个隐含层,输入层节点数根据样本的输入特征的维数选择为10,隐含层节点数为12,输出层根据分类类别节点数为3,由此可以确定三层的BP神经网络结构。

仿真如图2所示。

通过图2可以看出,改进的BP神经网络算法比传统的BP算法收敛速度收敛速度快,有效避免了陷入局部极值问题,基于样本随机均匀分布的BP神经网络改进算法有效地提高了bp神经网络的识别性能。

5 结语

本文提出的基于样本随机均匀分布的BP神经网络改进算法针对传统的BP算法存在的问题,增加了训练集重组优化,把训练样本先聚类,再分别对样本空间进行类内和类间的随机均匀分布重组,打乱传统算法的按照样本序号的顺序输入,在保留传统算法优点的基础上,有效地改进了传统算法的收敛速度慢和易陷入局部极值的问题,实验结果证明,该改进型算法有效地提高了BP神经网络识别性能。

参考文献

[1]孙即祥.模式识别(第二版)高等教育出版社,2008年10月.

[2]张德丰.MATLAB神经网络应用设计.2001年1月.

[3]唐磊.BP网络结构确定算法的研究及仿真.2008年5月.

[4]彭汉川,甘强,韦任.提高前馈神经网络推广能力的若干实际方法[[J].计算机工程与应用,1999,(1):47-48.

[5]胡泽,吴宁,陈伟.神经网络BP算法用于三类基本波形分类时训练样本输入方式的研究.西南石油学院学报,1994年8月.

[6]蒋宗礼,王义和,毕克滨.BP算法研究.哈尔滨工业大学学报,1993年4月.endprint