MATLAB神经网络(3) 遗传算法优化BP神经网络——非线性函数拟合

3.1 案例背景

遗传算法(Genetic Algorithms)是一种模拟自然界遗传机制和生物进化论而形成的一种并行随机搜索最优化方法。

其基本要素包括:染色体编码方法、适应度函数、遗传操作和运行参数。

非线性函数:$y=x_{1}^{2}+x_{2}^{2}$

3.2 模型建立

3.2.1 算法流程

遗传算法优化使用遗传算法优化BP神经网络的权值和阔值,种群中的每个个体都包含了一 个网络所有权值和阔值,个体通过适应度函数计算个体适应度值,遗传算法通过选择、交叉和变异操作找到最优适应度值对应个体。神经网络预测用遗传算法得到最优个体对网络初始权值和阈值赋值,网络经训练后预测函数输出。

神经网络结构:2-5-1

3.2.2 遗传算法实现

种群初始化

个体编码方法为实数编码,每个个体均为一个实数串,由输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值4部分组成。个体包含了神经网络全部权值和阐值,在网络结构已知的情况下,就可以构成一个确定的神经网络。

适应度函数

把预测输出和期望输出之间的误差绝对值和$E$作为个体适应度$F$,计算公式为\[F = k\left( {\sum\limits_{i = 1}^n {{\rm{abs}}({y_i} - {o_i})} } \right)\]$k$为系数。

猜你喜欢

转载自www.cnblogs.com/dingdangsunny/p/12327324.html