【PM2.5浓度预测】基于sine混沌映射改进的麻雀算法优化BP神经网络PM2.5浓度预测附matlab 代码

简介: 【PM2.5浓度预测】基于sine混沌映射改进的麻雀算法优化BP神经网络PM2.5浓度预测附matlab 代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

针对传统BP神经网络模型收敛速度慢,易陷入局部极值等问题,本文采用sine混沌映射改进麻雀搜索算法(SSA),并优化BP神经网络模型初始权值和阈值,对西安市PM_(2.5)浓度进行预测.通过比较不同模型预测结果的评价指标,并与性能较优的SSA-BP模型对比,ISSA-BP模型预测结果的RMSE,MAPE,MAE分别下降了3.70,3.73,3.34.试验结果表明,改进后的麻雀搜索算法具有高效的全局最优搜索能力,优化后的ISSA-BP神经网络预测稳定性高,精度优于BP,SSA-BP神经网络模型,可用于预测PM_(2.5)浓度.

⛄ 部分代码

function error = fitness(x,inputnum,hiddennum_best,outputnum,net,inputn,outputn,output_train,inputn_test,outputps,output_test)

%该函数用来计算适应度值

hiddennum=hiddennum_best;

%提取

setdemorandstream(pi);  


w1=x(1:inputnum*hiddennum);%取到输入层与隐含层连接的权值

B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);%隐含层神经元阈值

w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);%取到隐含层与输出层连接的权值

B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);%输出层神经元阈值


net.trainParam.showWindow=0;  %隐藏仿真界面


%网络权值赋值

net.iw{1,1}=reshape(w1,hiddennum,inputnum);%将w1由1行inputnum*hiddennum列转为hiddennum行inputnum列的二维矩阵

net.lw{2,1}=reshape(w2,outputnum,hiddennum);%更改矩阵的保存格式

net.b{1}=reshape(B1,hiddennum,1);%1行hiddennum列,为隐含层的神经元阈值

net.b{2}=reshape(B2,outputnum,1);


%网络训练

net=train(net,inputn,outputn);


an0=sim(net,inputn);

train_simu=mapminmax('reverse',an0,outputps);

an=sim(net,inputn_test);

test_simu=mapminmax('reverse',an,outputps);


% error=mse(output_test,test_simu);   %适应度函数选取为测试集的均方误差,适应度函数值越小,表明模型的预测精度越高,注意newff函数搭建的BP,产生了交叉验证,因此选另外的数据预测误差作为适应度函数是合理。

error=(mse(output_train,train_simu)+mse(output_test,test_simu))/2; %适应度函数选取为训练集与测试集整体的均方误差平均值,适应度函数值越小,表明训练越准确,且兼顾模型的预测精度更好。

⛄ 运行结果

⛄ 参考文献

[1] 孙荣基赵松张小琴李洪鲁盛利伟冯裕钊. 一种基于BP神经网络改进算法的PM2.5预测方法[J]. 四川环境, 2015, 34(4):85-90.

[2] 赵侃, 师芸, 牛敏杰,等. 基于改进麻雀搜索算法优化BP神经网络的PM_(2.5)浓度预测[J]. 测绘通报, 2022(10):6.

[3] 苏春皓. 基于BP神经网络的PM2.5质量浓度预测[J]. 电脑迷, 2017, 000(027):186.

[4] 付彦丽. 基于神经网络的PM2.5质量浓度预测研究[D]. 陕西科技大学, 2016.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
5月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
497 0
|
6月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
303 3
|
5月前
|
机器学习/深度学习 数据可视化 网络架构
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
PINNs训练难因多目标优化易失衡。通过设计硬约束网络架构,将初始与边界条件内嵌于模型输出,可自动满足约束,仅需优化方程残差,简化训练过程,提升稳定性与精度,适用于气候、生物医学等高要求仿真场景。
586 4
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
|
5月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
291 8
|
5月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
256 8
|
5月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
5月前
|
机器学习/深度学习 算法
采用蚁群算法对BP神经网络进行优化
使用蚁群算法来优化BP神经网络的权重和偏置,克服传统BP算法容易陷入局部极小值、收敛速度慢、对初始权重敏感等问题。
440 5
|
5月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
5月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
5月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
264 0

热门文章

最新文章