基于遗传算法优化BP神经网络(GA-BP)的数据时序预测
原理
BP 神经网络是一种非常流行的前馈神经网络模型,它使用反向传播算法来训练网络中的权重和偏差。]BP 神经网络结构如下图所示。数据从输入层输出层的处理过程称为前向传播过程;BP神经 网络模型依据输出层产生的结果来计算预测值与 实际观测值之间的差异,这一误差随后被用作调整前向传播路径中输入层至隐含层以及隐含层至输 出层间权重和偏差的依据,此过程被称为反向传播机制。
01. BP神经网络
BP 神经网络的工作原理如图所示:
在BP神经网络的工作流程中,首先需要明确输入层(I)、输出层(O)以及隐含层(H)的神经元数量。输入层神经元数(m)对应模型中纳入的变量个数。对于输出层,若预测目标为连续型数值,则其神经元数量(n)设定为1;若目标为分类变量,则神经元的数量应等于类别的总数。至于隐含层,其神经元的数量对于网络性能具有显著影响,可以通过采用经验公式(1)来合理确定隐含层的节点数目,以达到最佳的网络配置效果。
其次还需设置权重值(ω)和偏置值(b)。权重值 的高低决定了不同节点之间的联系强度。偏置表示 神经元是否容易被激活,只有神经元强度大于阈值 则神经元才会被激活。权重值和偏置值是可以不断调整的参数。
02. 基于GA-BP神经网络模型的参数优化
BP 神经网络对隐含层神经元数、初始权值和阈值十分敏感,如若这些参数设置不当,容易陷入局部极小值;在训练样本较大的情况下,可能导致训练周期延长、收敛速度下降等问题。权值和阈值很难直接对其进行计算,一般将它们初始化为[-0.5, 0.5]区间的随机数,所以初始权值和阈值至关重要,故本文引入遗传算法来解决此问题。具体优化步骤如下:
(1)种群初始化
将BP神经网络的权值和阈值进行二进制的编码处理,编码后的数据被视作种群的个体。然后,根据预设的初始种群规模,通过随机生成的方式,来创建初始种群。
(2)适应度函数计算
将模型训练后得出的预测值与期望值之间的绝对误差进行累加,并将此结果与相关系数k相乘,以计算适应度值。
基于GA-BP神经网络的预测模型流程如下图所示。首先确定BP神经网络的结构,其次使用遗传 算法对初始网络的权值和阈值求取最优解,最后将 最优解设置为BP神经网络的初始值进行模型的训 练并实现。
03.近年来相关论文发表
基于GA-BP数据回归预测依旧活跃
04. 包含代码
05.代码效果图
✅作者简介:信号处理方向在校博士研究生,目前专研于MATLAB算法及科学绘图等,熟知各种信号分解算法、神经网络时序、回归和分类预测算法、数据拟合算法以及滤波算法。提供一个可以相互学习相互进步的平台
🚩技术信仰:知行合一,让每一行代码都成为解决问题的利器
🔍后台私信备注个人需求(比如GA-BP)