遗传算法在人工神经网络中的应用

  • 格式:pdf
  • 大小:870.72 KB
  • 文档页数:4
自然界的生物进化是按“适者生存,优胜劣汰” 规律进行的,Michigan 大学 Holland 教授根据这一 规律于 1975 年首次提出了遗传算法(GA)[3],其基 本思想是力求充分模仿这一自然寻优过程的随机
性、鲁棒性和全局性。这是一种新型的全局优化 搜索算法,因为其直接对结构对象进行操作,不存 在求导和函数连续性的限定,鲁棒性强、随机性、 全局性以及适于并行处理[4-6]。所以可以将遗传算 法应用于神经网络的学习过程中,这样可以避免 传统的 BP 算法容易陷入局部极小的问题,并且 由于适应度函数无需可导,因此基于遗传算法的 学习算法适应的神经元激活函数类型更广。同时 可以提高快 BP 算法的训练速度,降低收敛时间。
( Pc )、变异概率( Pm )、网络层数、每层的神
经元数。遗传算法对于这些参数的设定又很好的 鲁棒性,改变这些参数对于所得的结果不会有很 大的影响。 2.3 初始化
随机产生初始种群 P={ x1 , x2 ,…, xn },任一
xi ∈ p 为一神经网络,它由一个权值向量组成。
权值向量为 n 维实数向量,n 为所有连接权的个 数。 2.4 计算适应度值
加。对每次变异结果,还原成神经网络,并进行 性能评估,如果后代优于父代,则结束该父代的 变异。否则对该父代进行下一次的变异,取
m = m × rand ,直到找到优于其父代的后代为
止。 保留算子:将每次产生的所有群体中最好的个体 保留下来。 2.6 自适应控制
随着进化的进行,适应度的差距越变越小, 交叉算子的作用减少,变异算子的作用增大,因 此要相应减少交叉概率,增大变异概率。可用如 下两公式对两个概率进行修正:
Li Weichao 1,2 Li Zhigang 1 Yang Xuhai
(1. National Time Service Center ,Chinese Academy of Sciences, Xi’an 710600,China) 2.Graduate School of the Chinese Academy of Sciences, Beijing 100039 ,China)
染色体。依据权值的数目,对权值用相应维数的 实数变量表示。在传统的 GA 中采用二进制编码, 在求解连续参数优化问题时,需要将连续的空间 离散化,这个离散化过程存在一定的映射误差, 不能直接反映出所求问题本身的结构特征,所以 直接采用实数编码。实数编码是连续参数优化问 题直接的自然描述,不存在编码和解码的过程, 可以提高运算的精度和计算速度,避免了编码中 带来的负面影响。 2.2 参数设定以及适应度函数的选择
给神经网络,让神经网络进行二次训练,直到得
到较好的结果为止。
3 本文算法与一般神经网络的比较 与分析
在本算法的模拟仿真中,采用的神经网络结 构为:输入节点 n=10,输出节点 m=1,隐层节点
根 据 经 验 公 式 k = mn 得 到 k=3, 学 习 速 率
η = 0.02 传递函数均为 Sigmoid 函数。本算法忽
Keywords: BP algorithm;artificial neural network(ANN);genetic algorithm(GA);second training;learn;weight
近年来人工神经网络发展迅速,在经济、军 事、工业生产和生物医学等领域获得广泛应用, 并产生深远的影响[1]。由于学习能力是神经网络 中最引人注意的特征,所以在神经网络的发展过 程中,学习算法的研究一直占据重要地位,上个 世纪 80 年代中期出现的 BP(back-propagation) 算法,有效地解决了前向多层神经网络地学习问 题,从而极大地推动了这一领域的研究工作[2]。 但是从本质上讲,BP 算法属于梯度下降算法,不 可避免地存在易陷入局部极小、收敛速度慢、误 差函数必须可导、网络结构某有成型的理论指导 等缺点。
电子测量与仪器学报
2008 年增刊
遗传算法在人工神经网络中的应用
李伟超 1,2 李志刚 1 杨旭海 1
(1. 中科院国家授时中心,陕西西安,710600;2.中国科学院研究生院 北京 100039)
摘要:为克服和改进传统的 BP 算法的不足,提出了一种基于遗传算法的神经网络训练方法。本方法将遗传算法应用
于神经网络的权值训练中,可避免 BP 算法易于陷入局部极小值、训练速度慢、误差函数必须可导、受码结构的限制
等缺点。本方法降低了计算时间,是一种比较有效的方法。
关键词:BP 算法;人工神经网络;遗传算法;二次训练;学习;权值
中图分类号:TP389.1
文献标识码:A
The Application of Genetic Algorithms in the Artificial Neural networks
目前常用的神经网络结构主要有三种:前向 多层神经网络(包含递归神经网络)、自组织神经
170
电子测量与仪器学报
网络和 Hopfield 神经网络[7]。其中研究最广泛, 最深入且应用面最广的是前向多层神经网络 (multilayer feedforward neural network,MLFN)。 MLFN 的研究从 20 世纪 60 年代已经开始,但由 于当时找不到合适的学习算法,直到 80 年代 BP 算法的出现,极大地推动了这一领域地研究。
变异算子:根据前面设定的参数 Pm ,对群体
中概率为 Pm 个个体进行变异操作。对于选择好的
每一个要变异的染色体,为了尽可能好地变异, 可以进行多次变异,变异时首先随机生成一个与
染色体的各权值同维数的向量 d1 作为变异方向,
可由产生正态分布的随机数的函数随机产生,然
后用父代染色体的权值对应的向量和 m × d1 相
ΔWjli
= W l (new) ji
− W l (old ) ji
在第
L
层的第
j
个神经元上,权值
W
l ji
连接
着第 i 个输入和第 j 个输出信号,这两个连接一 个对应上层,一个对应下层(图 1)反映了误差 一部分来自输入端,一部分来自输出端,考虑这 两部分影响的方法成为 Delta 规则。表达式如下:
遗传算法具有高度的鲁棒性和极佳的全局搜 索能力,对于多峰值的问题具有最优的全局把握 能力,但与神经网络相比,在局部搜索方面显得 不足。为了克服各自的缺陷,可以将遗传算法与 神经网络结合起来,以期取得更佳效果。
2 基于遗传算法的人工神经网络
2.1 神经网络的权值编码及描述 将所要构建的神经网络的所有权值作为一组
Abstract: In order to get over the insufficiency of the traditional BP algorithm , a kind of training method of the artificial
neural network based on genetic algorithm is given. The method can get over the insufficiency of BP algorithm , such as :liable to get into local minimum , slow speed in training , derivative error function required, limited to network architecture. The method reduces the time of computing and is more efficacious.
MLFN 采用一种单向多层结构,每一层包含 若干神经元,同一层的神经元之间没有相互联系, 层间信息的传送只沿一个方向传播。应用最广泛 的当属 BP 网络,BP 算法采用 Delta 学习规则的 权值修正策略。Delta 学习是将学习数据从一个方 向通过并遍历网络,而从另一个方向修正权值, 第 L 层的第 j 个神经元的第 i 个权值的修正值定 义为
P new c
=
p old c
(−1+ t )
− e 1.5G
p new m
=
p old m
(−1+ t )
+ e 1.5G
G 为总进化代
数,t 为当前进化代数。
2.7 神经网络的二次训练
当遗传算法的进化计算进化到一定程度,或
者网络误差满足一定的要求后,停止迭代,将得
到的最优染色体(即神经网络的一组权值)传递
172
电子测量与仪器学报 略阈值的计算。遗传算法的参数交叉概率取
pc = 0.4 ,变异概率取 pm = 0.01。本文采用的
样本数 66 组,前 40 组作为训练集,后 26 组作为 检验集。比较如下:
图 2 神经网络与遗传神经网络迭代过程的对比
图 3 神经网络的迭代过程
图 4 遗传算法的迭代过程
2008 年增刊
outi
W的来源
首先对可行域中的点进行编码,然后随机挑选 一组编码作为进化起点的第一代群体,并计算每 个个体的适应度值,接着根据适应度值选择 n 个 下一代群体 S,根据各个编码的适应度值和交叉 概率在 S 中随机选择可进行交叉的个体,并随机 配对进行交叉,根据个体的适应度值和变异概率 在 S 中随机选择可进行变异的父代,并进行变异, 最后通过新老个体产生下一代群体,算法不断重 复,直到结束条件得到满足为止。
2008 年增刊
4 结论
本文结合神经网络和遗传算法的优点,提出 了一种基于遗传算法的神经网络二次训练方法, 本方法将遗传算法用于神经网络的权值训练中, 发挥了神经网络的模糊处理能力并加强了遗传算 法的强全局搜索能力,同时有效解决了神经网络 容易陷入局部最优的缺点并明显加快了收敛速 率,降低了时间开销。仿真证明本方法是一种比 较有效方法。
网络的隐节点和输出层的激活函数取