【风电功率预测】海洋捕食算法MPA优化BP神经网络风电功率预测【含Matlab源码 3770期】-程序员宅基地

技术标签: matlab  Matlab神经网络预测与分类 (进阶版)  

博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
个人主页:海神之光
代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

一、海洋捕食算法MPA优化BP神经网络风电功率预测

1 海洋捕食算法
海洋捕食算法(Marine Predators Algorithm,MPA)是一种受到海洋捕食行为启发的群体智能优化算法。它模拟了海洋生态系统中的捕食行为,通过个体之间的相互作用和信息交流来寻找最优解。

海洋捕食算法的基本原理是将问题转化为一组个体在搜索空间中的位置,这些个体被称为捕食者和猎物。捕食者根据自身适应度和周围猎物的信息选择最佳的位置,而猎物则根据自身适应度和周围捕食者的信息选择逃避或者被捕食的策略。

海洋捕食算法的主要步骤如下:
(1)初始化种群:随机生成一组捕食者和猎物个体,并为每个个体分配初始位置和速度。
(2)评估适应度:根据问题的优化目标,计算每个个体的适应度值。
(3)更新位置和速度:根据捕食者和猎物个体之间的相互作用和信息交流,更新每个个体的位置和速度。
(4)选择最优解:根据适应度值,选择出最优的解决方案作为当前的最优解。
(5)终止条件判断:判断是否满足终止条件,如果满足则结束算法,否则回到第3步继续迭代。
海洋捕食算法具有一定的全局搜索能力和收敛性能,适用于解决各种优化问题,如函数优化、参数优化、组合优化等。它在某些问题上能够提供较好的性能和效果。

2 BP神经网络
2.1 BP神经网络的结构组成
BP神经网络结构组成:2输入1输出,5个隐含层的,也称为2-5-1网络结构;
Neural Network:神经网络
Input:输入
Hidden LayerOutput Layer:隐藏层输出层
Output Layer:输出层
Output :输出
在这里插入图片描述
2.2 BP神经网络训练界面的参数
2.2.1 BP神经网络算法
Algorithms:算法
Data Division:Random(divider and) 数据划分:随机(除数和)
Training:Levenberg-Marquardt(train lm) 训练:表示训练采用的方法
Performance:Mean Squared Error(mse) 性能:均方误差(mse) 用均方误差衡量网络性能
Calculations:MEX 计算方式:MEX

2.2.2 BP神经网络进程
Progress 进程
Epoch: 训练次数
Time: 训练时间
Performance: 网络性能
Gradient: 梯度算子
Mu: 误差精度
Validation Checks: 泛化性( 表示BP神经网络在训练过程中,如果均方误差(MSE)连续6次不降反升,则网络停止训练)

2.2.3 BP神经网络情节
Plots 绘图
Performance 网络性能
Training State 训练阶段参数变化情况
Regression 相关性分析

2.3 BP神经网络预测步骤
(1)读取数据
(2)设置训练数据和预测数据
(3)训练样本数据归一化
(4)构建BP神经网络
(5)网络参数配置(训练次数,学习速率,训练目标最小误差.等)
(5)BP神经网络训练
(6)测试样本归一化
(7)BP神经网络预测
(8)预测结果反归一化与误差计算
(8)验证集的真实值与预测值误差比较

2.4 BP神经网络预测案例代码

%% 此程序为matlab编程实现的BP神经网络
% 清空环境变量
clear
close all
clc

%%第一步 读取数据
input=randi([1 20],200,2);  %载入输入数据
output=input(:,1)+input(:,2);  %载入输出数据

%% 第二步 设置训练数据和预测数据
input_train = input(1:190,:)';
output_train =output(1:190,:)';
input_test = input(191:200,:)';
output_test =output(191:200,:)';
%节点个数
inputnum=2; % 输入层节点数量
hiddennum=5;% 隐含层节点数量
outputnum=1; % 输出层节点数量
%% 第三本 训练样本数据归一化
[inputn,inputps]=mapminmax(input_train);%归一化到[-1,1]之间,inputps用来作下一次同样的归一化
[outputn,outputps]=mapminmax(output_train);
%% 第四步 构建BP神经网络
net=newff(inputn,outputn,hiddennum,{
    'tansig','purelin'},'trainlm');% 建立模型,传递函数使用purelin,采用梯度下降法训练

W1= net. iw{
    1, 1};%输入层到中间层的权值
B1 = net.b{
    1};%中间各层神经元阈值

W2 = net.lw{
    2,1};%中间层到输出层的权值
B2 = net. b{
    2};%输出层各神经元阈值

%% 第五步 网络参数配置( 训练次数,学习速率,训练目标最小误差等)
net.trainParam.epochs=1000;         % 训练次数,这里设置为1000次
net.trainParam.lr=0.01;                   % 学习速率,这里设置为0.01
net.trainParam.goal=0.00001;                    % 训练目标最小误差,这里设置为0.00001

%% 第六步 BP神经网络训练
net=train(net,inputn,outputn);%开始训练,其中inputn,outputn分别为输入输出样本

%% 第七步 测试样本归一化
inputn_test=mapminmax('apply',input_test,inputps);% 对样本数据进行归一化

%% 第八步 BP神经网络预测
an=sim(net,inputn_test); %用训练好的模型进行仿真

%% 第九步 预测结果反归一化与误差计算     
test_simu=mapminmax('reverse',an,outputps); %把仿真得到的数据还原为原始的数量级
error=test_simu-output_test;      %预测值和真实值的误差

%%第十步 真实值与预测值误差比较
figure('units','normalized','position',[0.119 0.2 0.38 0.5])
plot(output_test,'bo-')
hold on
plot(test_simu,'r*-')
hold on
plot(error,'square','MarkerFaceColor','b')
legend('期望值','预测值','误差')
xlabel('数据组数')
ylabel('样本值')
title('BP神经网络测试集的预测值与实际值对比图')

[c,l]=size(output_test);
MAE1=sum(abs(error))/l;
MSE1=error*error'/l;
RMSE1=MSE1^(1/2);
disp(['-----------------------误差计算--------------------------'])
disp(['隐含层节点数为',num2str(hiddennum),'时的误差结果如下:'])
disp(['平均绝对误差MAE为:',num2str(MAE1)])
disp(['均方误差MSE为:       ',num2str(MSE1)])
disp(['均方根误差RMSE为:  ',num2str(RMSE1)])

二、部分源代码

%% 基于海洋捕食优化的BP神经网络预测
clear all
clc
close all
warning off;
%% 导入数据
load data
% 训练集——1900个样本
P_train=input(1:1900,:)‘;
T_train=output(1:1900);
% 测试集——100个样本
P_test=input(1901:2000,:)’;
T_test=output(1901:2000);

%% 归一化
% 训练集
[Pn_train,inputps] = mapminmax(P_train,-1,1);
Pn_test = mapminmax(‘apply’,P_test,inputps);
% 测试集
[Tn_train,outputps] = mapminmax(T_train,-1,1);
Tn_test = mapminmax(‘apply’,T_test,outputps);
%% 构造网络结构
%创建神经网络
inputnum = 2; %inputnum 输入层节点数 4维特征
hiddennum = 10; %hiddennum 隐含层节点数
outputnum = 1; %outputnum 隐含层节点数
%% BP
net = newff( minmax(Pn_train) , [hiddennum outputnum] , { ‘logsig’ ‘purelin’ } , ‘traingdx’ ) ;
%设置训练参数
net.trainparam.show = 50 ;
net.trainparam.epochs = 200 ;
net.trainparam.goal = 0.01 ;
net.trainParam.lr = 0.01 ;
net = train( net, Pn_train , Tn_train ) ;
%测试集预测
Y = sim( net , Pn_test );
error = Y - Tn_test;

%% 构造海洋捕食优化器
popsize = 20;%种群数量
Max_iteration = 50;%最大迭代次数
lb = -2;%权值阈值下边界
ub = 2;%权值阈值上边界
% inputnum * hiddennum + hiddennumoutputnum 为权值的个数
% hiddennum + outputnum 为阈值的个数
dim = inputnum * hiddennum + hiddennum
outputnum + hiddennum + outputnum ;% inputnum * hiddennum + hiddennum*outputnum维度
fobj = @(x)funBP(x,inputnum,hiddennum,outputnum,Pn_train,Tn_train,Pn_test,Tn_test);
[Best_score,Best_pos,MPA_cg_curve]=MPA(popsize,Max_iteration,lb,ub,dim,fobj);
[fitness,Y_MPA ] = funBP(Best_pos,inputnum,hiddennum,outputnum,Pn_train,Tn_train,Pn_test,Tn_test);
figure
plot(MPA_cg_curve,‘Color’,‘r’)
title(‘Objective space’)
xlabel(‘Iteration’);
ylabel(‘Best score obtained so far’);
legend(‘MPA’)
grid on;
%测试集预测

%% 作图
figure
plot(Tn_test,‘k-p’,‘linewidth’,1)
hold on
plot(Y,‘c-s’,‘linewidth’,1,‘markerfacecolor’,‘b’)
hold on
plot(Y_MPA,‘g-o’,‘linewidth’,1,‘markerfacecolor’,‘r’)
legend(‘真实值’,‘BP预测值’,‘海洋捕食算法优化BP预测值’)
xlabel(‘测试样本编号’)
ylabel(‘指标值’)
title(‘海洋捕食算法优化前后的BP神经网络预测值和真实值对比图’)

error = Y_MPA - Tn_test;
% 均方误差
E1 = mse(error);
figure
plot(error,‘b:o’)
title(‘海洋捕食BP神经网络预测得到的误差分布’)
xlabel(‘index’)
ylabel(‘误差’)
grid on
disp([‘海洋捕食BP神经网络得到的MSE:’,num2str(E1)])

三、运行结果

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

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]赵侃,师芸,牛敏杰,王虎勤.基于改进麻雀搜索算法优化BP神经网络的PM2.5浓度预测[J].测绘通报. 2022(10)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/KeepingMatlab/article/details/136335074

智能推荐

Hive函数大全-程序员宅基地

文章浏览阅读8.4k次,点赞9次,收藏72次。目录第四章 Hive函数4.1 聚合函数4.2 关系函数4.3 数学运算4.4 逻辑运算4.5 数值运算4.6 条件函数4.7 日期函数4.8 字符串函数4.9 字符串截取函数4.10 去空格函数4.11 正则表达式与解析函数4.12 explode函数4.13 行转列与列转行4.14 基础窗口函数与分析函数4.14.1 窗口函数简介4.14.2 窗口的含义4.14.3 窗口函数分类4.14.4 窗口函数的使用4.14.5._hive函数

VINS-Mono-视觉惯性对齐原理及源码解析_视觉惯性slam理论与源码pdf-程序员宅基地

文章浏览阅读968次,点赞3次,收藏5次。VINS-Mono视觉惯性对齐包括两部分陀螺仪偏置矫正和速度、重力向量、尺度因子初始化陀螺仪偏置矫正原理推导由约束关系通过视觉测得的姿态变化 = IMU预积分获得的姿态变化可获得如下约束方程:qbk+1c0−1⊗qbkc0⊗γbk+1bk=[10](1){\mathbf{q}_{b_{k+1}}^{c_{0}}}^{-1} \otimes \mathbf{q}_{b_{k}}^{c0} \otimes \boldsymbol{\gamma}_{b_{k+1}}^{b_{k}} = \begin{_视觉惯性slam理论与源码pdf

HDMI接口及规范-程序员宅基地

文章浏览阅读1w次,点赞6次,收藏88次。HDMI定义及术语HDMI(High Definition Multimedia Interface)高解晰度多媒体数位传输界面;它是基于DVI(Digital Visual Interface)的基础上延伸出的新定义;它所涉及的概念有:TMDS:(Time Minimized Differential Signal)最小化差分信号传输,是一种差分信号传输方式,HDMI信号传输通道采用了这种方式。HDCP: (High-bandwidthDigital Content Protection)_hdmi

怎么看小程序是谁开发的(查看小程序开发公司方法)_麓湖水城微信小程序是哪家公司的-程序员宅基地

文章浏览阅读2.7k次。很多粉丝朋友在日常生活中,看到一个自己比较满意的同行小程序,就想要查看该同行小程序是谁开发的。本文瀚林给大家介绍一下查看微信小程序开发公司的方法。1、查看小程序会员页面的底部,一般微信小程序开发公司会把自己提供技术支持的版权信息,放到小程序底部。你点击一下版权信息就知道是哪家公司开发的。2、直接联系小程序的在线客服人员,向该小程序的客服人员询问他们合作的小程序开发公司。3、查看该小程序的更多资料,一般通过关于小程序可以查看到小程序的更多资料。4、直接与瀚林沟通,请瀚林协助查看是谁开发的该小程序。最_麓湖水城微信小程序是哪家公司的

圆角JPanel_jpanel leftsubjpanel = new jpanel();怎么设置圆角-程序员宅基地

文章浏览阅读1.8k次。package com.victoria.xmleditor.canvas;import java.awt.Color;import java.awt.Graphics;import java.awt.geom.RoundRectangle2D;import javax.swing.JFrame;import javax.swing.JLabel;impor_jpanel leftsubjpanel = new jpanel();怎么设置圆角

OFDM和CPRI/eCPRI的速率计算_cpri速率怎么计算-程序员宅基地

文章浏览阅读2.8k次。OFDM原理可以参照如下链接:https://blog.csdn.net/wordwarwordwar/article/details/79605916CPRI计算可以参考如下链接:http://www.360doc.com/content/17/0817/10/40903010_679840622.shtml逻辑:1、以带宽---推算出需要的载波数----需要的FFT的点数N即采样点数,至此可以得到采样率;2、IQ的数据的位宽(15bit*2)3、数据的帧包装(15/16)以及编_cpri速率怎么计算

随便推点

SDR学习之——跟踪飞机轨迹_sdr飞机追踪-程序员宅基地

文章浏览阅读2.6k次。ADS-B是广播式自动相关监视的英文缩写,它主要实施空对空监视,一般情况下,只需机载电子设备(GPS接收机、数据链收发机及其天线、驾驶舱冲突信息显示器CDTI),不需要任何地面辅助设备即可完成相关功能,装备了ADS-B的飞机可通过数据链广播其自身的精确位置和其它数据(如速度、高度及飞机是否转弯、爬升或下降等)。ADS-B接收机与空管系统、其它飞机的机载ADS-B结合起来,在空地都能提供精确、..._sdr飞机追踪

产品营销策划方案:6个创意来源_营销创意的来源和途径-程序员宅基地

文章浏览阅读759次。目录  一、效仿跟踪  二、空白区域  三、新创建品类  1、品类嫁接法  2、品类借接  3、市场细分化  四、取代变换  五、升值发掘  六、空白要求  消费者导向性的市场营销推广,重点在于发觉并达到消费者的要求,从4P而言便是产品研发新产品。而怎么才能发觉消费者的要求呢?这就必须做市场科学研究,例如市场调研和市场洞悉。  如今的市场市场竞争激烈,环境破坏迅速,那样客观性规定公司务必对市场作出迅速的反映。在那样的状况下公司显而易见不太可能在做每一个营._营销创意的来源和途径

如何区分光接入网OLT, ONU, ODN,ONT?_odn是分光器吗-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏202次。光接入网络(点此查看什么是光接入网)就是以光为传输介质的接入网络,替代铜线,用于接入每个家庭.光接入网络。光接入网络一般有三个部分组成: 光线路终端OLT,光网络单元ONU,光分配网络ODN,其中OLT和ONU光接入网络的核心部件。什么是OLT?OLT全称是Optical Line Terminal,光线路终端。OLT是光线路终端,是电信的局端设备,用于连接光纤干线,作用相当于传统通信网中的交换机或路由器,是外网入口和内网出入口的一个设备。放置在局端,最重要的执行功能是流量调度,缓冲区控制,以及提供面向_odn是分光器吗

高速电路中菊花链、fly-by与T点拓扑_菊花链和flyby区别-程序员宅基地

文章浏览阅读1.8w次,点赞8次,收藏72次。  开局一张图,内容……  在高速电路中往往涉及到多个高速存储设备,因此合理的拓扑结构对布局走线非常重要。主流的拓扑模式有菊花链、fly-by与T点。  菊花链是相对最为常见的一种拓扑方式。菊花链拓扑的原理可以解释为:将所有的总线视作拓扑的干路,从处理器引出之后,每个存储设备所需要的总线视为支路,也称为“SUB线”。从微机原理的角度上讲,更像是将所有的总线视作一条“大总线”,每个内存设备需要..._菊花链和flyby区别

网页设计的常用字体规范_网页字体规范-程序员宅基地

文章浏览阅读8.6k次,点赞3次,收藏11次。看完上面这张图你就能明白了 是不是阅读起来非常的难受? 那就对了! 其实折磨你的问题有以下几点 1.字体样式太多,杂乱无章 2.使用的字体不易识别 3.字体和内容的气氛不匹配 怎么 看完上面这张图你就能明白了是不是阅读起来非常的难受? 那就对了!其实折磨你的问题有以下几点1.字体样式太多,杂乱无_网页字体规范

java 异常对象_Java面向对象-Java中的异常-程序员宅基地

文章浏览阅读671次。第1关:Java中的异常处理机制任务描述本关任务:完成异常类选择题。为了完成本关任务,你需要掌握:1.什么是异常;2.如何使用异常。什么是异常异常:程序在运行过程中产生的不正常情况。程序在运行的时候,发生了一些不被预期的事件,从而没有按照我们编写的代码执行,这就是异常。异常是Java中的错误,但是并不是所有的错误都是异常,比如说,你在定义变量名的时候没有依照Java的规则,在语句的结尾少了一个分号..._本关任务:抛出程序的异常。 相关知识 为了完成本关任务,你需要掌握:1. 如何使用th

推荐文章

热门文章

相关标签