当前位置:首页 期刊杂志

基于改进遗传算法的神经网络手写体数字识别

时间:2024-07-28

魏衡华,彭 飞(中国科学技术大学 自动化系,安徽 合肥230027)

数字识别前景广阔,广泛应用于邮政编码的识别、汽车牌照的识别以及个人成绩单的识别。相对于印刷体数字识别,无约束手写体的识别是模式识别领域的难点,也是目前的一个研究热点。近几年来众多学者对手写体进行了较多的研究,提出了多种算法,不过当前运用较好的主流算法还是以统计、神经网络、聚类分析的识别算法为主。

神经网络具有很强的学习性和自适应性,对于解决目标识别和模式分类具有较大的潜力。其中BP模型被广泛地应用于模式分类、模式识别等方面,但BP算法收敛速度慢,且很容易陷入局部极小点。遗传算法具有并行搜索、效率高、不存在局部收敛问题等优点而被广泛应用。然而传统的遗传算法带有一定程度的随机性和盲从性,且有过早收敛的现象。为了克服遗传算法的这些缺点,本文采用正交遗传算法,克服了初始种群的盲目性,并对选择过程做了改进,不再单纯地淘汰劣势个体,以保证种群的多样性。最后,本文将改进的遗传算法应用到BP网络中,提出遗传BP神经网络,通过遗传算法的全局优化能力提高BP神经网络对手写数字样本训练的速度。

1 BP神经网络

BP网络是一种典型的前向神经网络,主要由输入层、隐含层、输出层组成,它的基本结构如图1所示。隐含层可以是单层或多层。每一层由一个或者多个节点组成,同一层的节点之间没有连接,而层与层之间的节点是全连接的,即每一层的节点与前面一层的所有节点都有连接。

BP网络的核心是BP算法,BP算法由两部分组成:信息的正向传递和误差的反向传播。在正向传播中,输入信息从输入层经隐含层逐层计算传向输出层,每一层的输出作用于下一层神经元(即为图中的节点)的输入。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来,修改各层神经元的权值直至达到期望目标。

虽然BP网络得到了广泛的应用,但它也存在一些自身的不足和限制,例如训练时间较长、容易陷入局部最小值等[1]。

2 改进的遗传算法

遗传算法的操作内容主要有种群初始化操作、选择操作、交叉操作、变异操作。

2.1 种群的初始化

对于没有先验知识的优化问题,传统遗传算法的初始种群一般采取完全随机的方法产生,这样选出的初始群体带有一定的盲目性,也很难选出具有代表性的群体。本文采用正交化设计方法来初始化种群,利用正交设计所选的样本组合能够很好地代表所有可能的组合并且正交设计在数值优化方面已经被证明具有很好的搜索能力[2],这样获得的初始种群更具有鲁棒性和统计合理性。

2.1.1 构造正交设计矩阵

正交设计矩阵的设计方法很多,参考文献[3]中提出的设计方法便于计算。其中Q表示基因变量变化的水平数,N 表示基因个数, 正交设计矩阵记为 LM(QN)=[ai,j]M×N,M=QJ且有:

其算法过程如下:

(1)构造正交设计矩阵基本列

(2)按如下方法构造非基本列

(3)给所有 ai,j加 1,其中 1≤i≤M,1≤j≤N。

2.1.2 生成初始种群

由于不知道任何关于BP网络权值和阈值全局最小的信息,因此,初始种群的染色体均匀分布在可行解空间是合理的,定义xi为第i个因素,这样,每个染色体都有N个因素,因为这些因素是连续变化的,所以要把每个因素离散化为有限个数量的值。具体地,把xi的区间[l,u]等分成Q个水平,这样就可以得到初始种群:

其中 ti,j为初始种群矩阵 T元素的值;δ为一个很小的随机数,一般要求|δ|<<。

然而对于训练手写数字样本的BP网络,其需要训练的网络权值和阈值数量很大。N过大,会导致M的值也很大,如果用这样庞大的矩阵作为初始种群不仅会占用大量的存储空间,还会延长遗传算法的迭代时间。N值由问题本身决定无法改变,若Q值过小,将不能体现种群的多样性,也降低了基因变量的精度,本文采用从T中随机选择n个互不相同的行作为初始种群。

2.2 选择父代个体

采用赌轮盘选择方法对于复杂的神经网络优化问题容易过早收敛,为了保证群体的多样性,减缓算法的收敛速度,在选择过程中,低于适应度平均值的个体被淘汰,被淘汰的个体从T中随机选择一行作为新加入的种群个体,并加大δ的可变范围。为了使种群具有更好的多样性,当低于平均适应度的个体数量小于1/4种群数量时,被淘汰的个体数量将保持在1/4种群数量。

2.3 交叉操作

在实数编码中常见的交叉算子有单点交叉算子、多点交叉算子、算术交叉算子等[4]。经过比较,在BP网络权值的优化中采用算术交叉算子效果较好。设父母点为X、Y,后代为 X′、Y′,则:

其中 a称为交叉算子,且 a∈[0,1]。

2.4 变异操作

变异就是子个体变量以很小的概率或步长发生转变,变异概率一般都很小,对于实数编码简单而有效的方法就是直接将子个体的某个变量用一个随机数替代。为了减缓局部收敛,本文采用自适应变异操作,根据迭代次数的不同设置不同的变异概率,当迭代次数<0.25 maxgen时,Pm=0.01; 当 0.25 maxgen<迭代次数<0.75 maxgen时,Pm=0.2;当迭代次数>0.75 maxgen时,Pm=0.4。

3 应用实例及仿真

本文以USPS手写数字样本集中1 100个样本数据作为实验数据,每个样本数据存储着16×16手写数字图像样本,所以神经网络的输入层数为 256;0~9总共10种类别,所以输出层数设为10;根据经验隐含层一般设置为+n(其中I表示输入层神经元的个数,Q表示输出层神经元的个数,n取 0~10),本文隐含层的个数设为16;训练目标epochs=0.01。BP网络采用L-M训练方法。改进遗传算法的参数设置如下:种群规模sizepop=20;交叉概率 Pc=0.6;迭代次数 maxgen=60;权值和阈值的取值范围为[-2,2];水平数Q=9。

下面分别利用BP网络和改进遗传-BP网络分别对USPS手写数字样本集中1 100个手写数字进行仿真实验,实验结果如图2所示。

表1所示为两种算法的性能比较,从中可以明显地看出改进的遗传-BP算法比单纯的BP算法具有更快的训练速度。而手写数字的识别精度很大程度上取决于训练样本的数量,因此,提高大量样本的训练速度对手写数字识别具有重要的意义。

表1 两种算法的性能比较

本文针对BP网络训练大量数据时,训练时间长、易陷入局部最优等问题,提出将BP网络与遗传算法相结合,并用改进的遗传算法来克服传统遗传算法收敛速度慢的缺点,通过计算正交设计矩阵来提高初始种群的质量,有效地增强了算法的稳定性和全局搜索能力,也说明了此算法具有广泛的应用价值。

[1]丛爽.神经网络、模糊系统及其在运动控制中的应用[M].合肥:中国科学技术大学出版社,2001.

[2]LEUNG Y W,WANG Y P.An orthogonal genetic algorithm with quantization for global numerical optimization[J].IEEE Trans.on Evolutionary Computation,2001,5(1):41-53.

[3]王宇平.进化计算的理论和方法[M].北京:科学出版社,2011.

[4]王小平,曹立明.遗传算法——理论、应用与软件实现[M].西安:西安交通大学出版社,2004.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!