编辑: XR30273052 2019-07-15
-

1 - 应用 3:遗传算法优化 BP 神经网络――非线性函数拟合

1、案例背景 在工程应用中经常会遇到一些复杂的非线性系统, 这些系统状态方程复杂, 难以用数学 方法精确建模.

在这种情况下,可以建立 BP 神经网络表达这些非线性系统. 本案例拟合的非线性函数为

2 2

1 2 y x x = + 该函数的图形,如图 3-1 所示. 图3-1 非线性函数图形

2、模型建立 2.1 算法流程 遗传算法优化 BP 神经网络算法流程如图 3-2 所示. 遗传算法优化 BP 神经网络分为 BP 神经网络结构确定、遗传算法优化和 BP 神经网络预 测3个部分.其中,BP 神经网络结构确定部分根据拟合函数输入输出参数个数确定 BP 神经 网络结构,进而确定遗传算法个体长度.遗传算法优化使用遗传算法优化 BP 神经网络的权 值和阈值, 种群中的每个个体都包含了一个网络所有权值和阈值, 个体通过适应度函数计算 个体适应度值,遗传算法通过选择、交叉和变异操作找到最优适应度值对应个体.BP 神经 网络预测用遗传算法得到最优个体对网络初始权值和阈值赋值,网络经训练后预测函数输 出. -

2 - 图3-2 算法流程 本案例中,由于拟合非线性函数有

2 个输入参数、1 个输出参数,所以设置的 BP 神经 网络结构为 2-5-1,即输入层有

2 个结点,中间层有

5 个结点,输出层有

1 个结点,共有

2 5

5 1

15 * + * = 个权值,5

1 6 + = 个阈值,所以遗传算法个体编码长度为15

6 21 + = .从 非线性函数中随机得到

2000 组输入输出数据, 从中随机选择

1900 组作为训练数据, 用于网 络训练,100 组作为测试数据.把训练数据预测误差绝对值和作为个体适应度,个体适应度 值越小,该个体越优. 2.2 算法实现 遗传算法优化 BP 神经网络是用遗传算法来优化 BP 神经网络的初始权值和阈值, 使优化 后的 BP 神经网络能够更好地预测函数输出. 遗传算法优化 BP 神经网络的要素包括种群初始 化、适应度函数、选择操作、交叉操作和变异操作.

1、种群初始化 个体编码方法为实数编码,每个个体均为一个实数串,由输入层与中间层连接权值、中 间层阈值、 中间层与输出层连接权值以及输出层阈值

4 部分组成. 个体包含了神经网络全部 权值和阈值, 在网络结构已知的情况下, 就可以构成一个结构、 权值、 阈值确定的神经网络.

2、适应度函数 根据个体得到 BP 神经网络的初始权值和阈值, 用训练数据训练 BP 神经网络后预测系统 输出,把预测输出和期望输出之间的误差绝对值之和 E 作为个体适应度值 F ,计算公式为: -

3 - ( )

1 n i i i F k abs y o = ? ? = ? ? ? ? ? ∑ 式中,n 为网络输出结点数;

i y 为BP 神经网络第i 个结点的期望输出;

i o 为第i 个结点 的预测输出;

k 为系数.

3、选择操作 遗传算法选择操作有轮盘赌法、锦标赛法等多种方法,本案例选择轮盘赌法,即基于适 应度比例的选择策略,每个个体i 的选择概率 i p 为iikfF=1iiNjjfpf==∑式中, i F 为个体i 的适应度值,由于适应度越小越好,所以在个体选择前对适应度值求 倒数;

k 为系数;

N 为种群个体数目.

4、交叉操作 由于个体采用实数编码,所以交叉操作方法采用实数交叉法,第k个染色体 k a 和第l 个 染色体 l a 在j位的交叉操作方法如下: ( ) ( )

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题