蚁群算法优化BP神经网络回归预测的算法设计-附代码
蚁群算法ACO优化BP神经网络回归预测的算法设计及其MATLAB代码实现
文章目录
- 蚁群算法ACO优化BP神经网络回归预测的算法设计及其MATLAB代码实现
- 1. 蚁群算法简介
- 2. 蚁群算法优化BP神经网络回归预测模型的设计步骤
- 3. ACO-BP回归预测模型的参数设置
- 4. 运行结果
- 5. 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 数据格式
样本编号 | features1 | features2 | features3 | … | featuresn | target |
---|---|---|---|---|---|---|
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; % 最高失败次数
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); %信息素记录
3.5 使用蚁群算法优化后的BP神经网络进行预测,并与BP神经网络的预测结果进行误差分析和对比
4. 运行结果
4.1 运行过程
智能优化算法是采用迭代搜索策略寻找全局最优解,对于大数据集样本而言,会消耗很多时间运行程序,而无法快速的得到期望的效果。所以在编写程序时设计了进度条,可点击取消(Cancel)按钮,随时终止循环并执行后续程序。
4.2 蚁群算法优化神经网络的进化曲线
4.3 优化结果与误差分析对比
5. MATLAB代码与数据地址
改进的BP神经网络回归预测算法类别 | 代码地址 |
---|---|
BP | [BP神经网络回归预测MATLAB代码] |
GA-BP | [[GA优化BP回归预测MATLAB代码(含优化前的对比)]] |
PSO-BP | [[粒子群算法PSO优化BP神经网络回归预测MATLAB代码]] |
ACO-BP | [[蚁群算法ACO优化BP神经网络回归预测MATLAB代码]] |
ASO-BP | [[原子搜索算法ASO优化BP神经网络回归预测MATLAB代码]] |
SSA-BP | [[麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码]] |
WOA-BP | [[鲸鱼优化算法WOA优化BP神经网络回归预测MATLAB代码]] |
ABC-BP | [[人工蜂群算法ABC优化BP神经网络回归预测MATLAB代码]] |
SOA-BP | [[海鸥优化算法SOA优化BP神经网络回归预测MATLAB代码]] |
CS-BP | [[布谷鸟搜索算法CS优化BP神经网络回归预测MATLAB代码]] |
Logistic-ASO-BP | [[基于Logistic混沌映射改进的原子搜索算法ASO优化BP神经网络回归预测MATLAB代码]] |
Logistic-SSA-BP | [[基于Logstic混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码]] |
Tent-ASO-BP | [[基于Tent混沌映射改进的原子搜索算法ASO优化BP神经网络回归预测MATLAB代码]] |
Tent-SSA-BP | [[基于Tent混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码]] |
Sine-SSA-BP | [[基于Sine混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码]] |
GA-ACO-BP | [[混合遗传蚁群算法GA-ACO优化BP神经网络回归预测MATLAB代码]] |
代码见博客主页
蚁群算法优化BP神经网络回归预测的算法设计-附代码相关推荐
- 鲸鱼优化算法优化BP神经网络回归预测的算法设计-附代码
鲸鱼优化算法WOA优化BP神经网络回归预测模型以及MATLAB代码实现 文章目录 鲸鱼优化算法WOA优化BP神经网络回归预测模型以及MATLAB代码实现 1. 算法描述 2. 鲸鱼优化算法优化BP神经 ...
- 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码
基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 文章目录 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 1 蝙蝠算法与BP神经网络分类模型 1.1 蝙 ...
- 基于灰狼算法优化概率神经网络PNN的分类预测-附代码
基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 1.PNN网络概述 2.变压器故障诊街系统相关背景 2.1 模型建立 3. ...
- 【BP回归预测】改进的鲸鱼算法优化BP神经网络回归预测(多输入单输出)【含Matlab源码 2184期】
⛄一.鲸鱼算法优化BP神经网络简介 1 鲸鱼优化算法(Whale Optimization Algorithm,WOA)简介 鲸鱼优化算法(WOA),该算法模拟了座头鲸的社会行为,并引入了气泡网狩猎策 ...
- 【BP预测】基于差分进化算法优化BP神经网络实现汇率数据预测matlab代码
1 简介 镍镉电池组作为移动电源对于现代军民用品是必不可少的.为了能够有效的提高镍镉电池寿命的预测精准度,在建立BP神经网络的电池寿命预测模型的基础上,运用差分进化算法(DE)优化BP神经网络连接的初 ...
- ACO蚁群算法优化BP神经网络(ACO-BPNN)回归预测MATLAB代码(有优化前后的对比)
ACO蚁群算法优化BP神经网络(ACO-BPNN)回归预测MATLAB代码(有优化前后的对比) 代码注释清楚. main为运行主程序,可以读取本地EXCEL数据. 很方便,容易上手. (以电厂运行数据 ...
- PSO粒子群算法优化BP神经网络(PSO-BPNN)回归预测MATLAB代码
PSO粒子群算法优化BP神经网络(PSO-BPNN)回归预测MATLAB代码(有优化前后的对比) 代码注释清楚. main为运行主程序,可以读取本地EXCEL数据,也可以加载本地数据.mat,使用换自 ...
- 【PID优化】基于matlab粒子群算法优化BP神经网络PID控制【含Matlab源码 2022期】
⛄一.粒子群算法优化BP神经网络PID控制简介 BP神经网络PID控制算法 传统PID控制器作为一种线性控制器,具备结构,容易实现的优点,其基本原理是将系统的实际输出值和期望输出值之间的偏差按照比例. ...
- 【回归预测-BP预测】基于灰狼算法优化BP神经网络实现数据回归预测附matlab代码
1 内容介绍 Mirjalili 等在 2014 年 提 出 了 灰 狼 优 化 ( Grey Wolf Optimizer,GWO) 算法,是一种新型群智能优化算法,通过模拟自然界中灰狼寻找.包围和 ...
最新文章
- 日志文件和mysql同步到kafka_logstash_output_kafka:Mysql同步Kafka深入详解
- WINDOWS SERVER 2003 组策略应用
- eclipse 常见问题及解决
- [转]Android输入法框的梳理
- OC Swift混编-Swift.h File not found
- 详解ASP.NET页面生命周期事件
- Fckeditor 2.4.2 php任意上传文件漏洞
- Android ListView下拉刷新点击加载更多
- cecore.cls.php 08cms,08cms小说系统 v1.0PHP CMS源码下载-华软网
- 6.python输入整数年份,判断对应整数年份是否为闰年并输出结果
- python列表替换元素_24_Pandas.DataFrame,Series元素值的替换(replace)
- 从第三方企业邮箱迁移至Office 365(21V) Exchange Online
- 量化投资:用Python实现金融数据的获取与整理
- VS 2017经常出现打不开问题
- Linux --- LV逻辑卷的创建和在线扩展
- And design vue组件库table列设置最小宽度
- 便携式文件夹加密器 5.5
- [翻译论文]A novel embedded min-max approach for feature selection in nonlinear Support Vector Machine cl
- linux cad 安装教程,在Linux/Unix中安装FreeCAD
- 跨域问题:Access to XMLHttpRequest at ‘http://localhost:3001/re‘ from origin ‘http://127.0.0.1:8848‘
热门文章
- Linux性能优化实战
- 如何设计一个高性能网关?
- 四足机器人质心准静态控制器(三)
- 清远高考成绩查询2021年,2021年清远高考状元名单公布 今年清远高考状元是谁资料和分数...
- 校园智能铃声软件《校园小助手软件》Ver2.4.4
- 〖Python全栈白宝书-免费版①〗- Python编程环境搭建-Python3解释器安装
- 家校同频,读书郎AI学习规划师联动课内课外“同步学”
- SQL查询某字段中数据中的中文汉字
- python爬取天气存入excel_Python接口读取json天气预报数据自动写入到Excel表格
- 5-12课:解读算法源代码