当前位置:   article > 正文

蚁群算法优化BP神经网络回归预测的算法设计-附代码

蚁群算法优化bp神经网络

蚁群算法ACO优化BP神经网络回归预测的算法设计及其MATLAB代码实现

1. 蚁群算法简介

蚁群算法(Ant Clony Optimization, ACO)是一种仿生智能优化算法,最早由意大利学者Dorigo、Maniezzo等于1991年提出,常用于求解旅行商TSP,路径规划等问题。蚁群算法的灵感来源于蚂蚁觅食的过程,蚂蚁在寻找食物源的路径上会留下信息素,而群体内的蚂蚁可以感知信息素,并沿着信息素浓度高的地方移动,形成正反馈机制。经过一段时间之后,蚂蚁就可以确定一条到达食物源的最优路径。

2. 蚁群算法优化BP神经网络回归预测模型的设计步骤

2.1 基本思路 用蚁群算法ACO优化BP神经网络的基本思路是:首先取出权值矩阵和阈值向量的元素,构成蚂蚁种群的路径坐标。因为蚂蚁到达食物源的路径越短,则路径上的信息素含量越高,所以将均方误差作为蚂蚁的适应度值。最终蚂蚁种群确定的最短路径作为最优的初始权值和阈值参数,再赋给BP神经网络,进行训练和测试,并与优化前的BP神经网络预测进行误差对比。

2.2 蚁群算法优化BP神经网络预测的步骤:

步骤一:读取数据,初始化BP神经网络的结构与ACO算法的参数。
步骤二:计算解空间的维度,初始化蚂蚁位置与最高信息素。
蚁群算法开始迭代(K=1,Start loop)。
步骤三:根据蚂蚁的位置,计算信息素含量。
步骤四:计算最高信息素,更新最优的个体位置。
步骤五:按概率转移和更新蚂蚁位置。
步骤六:执行步骤三——五的循环体,达到终止代数(K=max_iteration,End loop)。
步骤七:取出优化后的最佳蚂蚁位置坐标,赋给BP神经网络,得到最优的初始权值矩阵和阈值向量。
步骤八:优化后的BP神经网络进行训练与测试,比较优化前后的BP神经网络预测精度。

2.3 蚁群算法优化BP神经网络回归预测的流程图设计

在这里插入图片描述

3. ACO-BP回归预测模型的参数设置

3.1 数据说明
采用建筑物能源数据集,含有8个特征指标(影响因素),单输出预测指标。

3.2 数据格式

样本编号features1features2features3featuresntarget
1
2
n

3.3 优化变量的选取与适应度函数设计
优化BP神经网络的权值和阈值参数,将训练集与测试集整体的均方误差作为适应度函数。

在这里插入图片描述
式中,TraingingSet,TestingSet,分别为训练集和测试集的样本。

3.4 算法的参数设置

a)BP神经网络的参数设置

net=newff(inputn,outputn,hiddennum_best,{'tansig','purelin'},'trainlm','learngdm');% 建立模型

%网络参数配置
net.trainParam.epochs=1000;         % 训练次数
net.trainParam.lr=0.01;                   % 学习速率
net.trainParam.goal=0.00001;                    % 训练目标最小误差
net.trainParam.show=25;                % 显示频率
net.trainParam.mc=0.01;                 % 动量因子
net.trainParam.min_grad=1e-6;       % 最小性能梯度
net.trainParam.max_fail=6;               % 最高失败次数

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

b) 蚁群算法算法的参数设置

%初始化ACO参数
popsize=10;   %初始种群规模
maxgen=50;   %最大进化代数
dim=inputnum*hiddennum_best+hiddennum_best+hiddennum_best*outputnum+outputnum;    %自变量个数
lb=repmat(-3,1,dim);    %自变量下限
ub=repmat(3,1,dim);   %自变量上限
rou=0.9;  %信息素挥发系数
p0=0.2;  %转移概率常数
Q=1;  %信息释放总量
p=zeros(1,popsize);   %转移概率
Positions=zeros(popsize,dim);   %蚂蚁种群
tau=zeros(popsize,1);     %信息素记录

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3.5 使用蚁群算法优化后的BP神经网络进行预测,并与BP神经网络的预测结果进行误差分析和对比

4. 运行结果

4.1 运行过程
在这里插入图片描述
智能优化算法是采用迭代搜索策略寻找全局最优解,对于大数据集样本而言,会消耗很多时间运行程序,而无法快速的得到期望的效果。所以在编写程序时设计了进度条,可点击取消(Cancel)按钮,随时终止循环并执行后续程序。

4.2 蚁群算法优化神经网络的进化曲线

在这里插入图片描述

4.3 优化结果与误差分析对比

在这里插入图片描述
在这里插入图片描述

5. MATLAB代码与数据地址

下载ACO-BP代码

https://download.csdn.net/download/qq_57971471/87729994

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/575588
推荐阅读
相关标签
  

闽ICP备14008679号