一、简介
BP网络(Back Propagation),是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。
在人工神经网络发展历史中,很长一段时间里没有找到隐层的连接权值调整问题的有效算法。直到误差反向传播算法(BP算法)的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权重调整问题。

BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。

BP神经网络模型BP网络模型包括其输入输出模型、作用函数模型、误差计算模型和自学习模型。

2 BP神经网络模型及其基本原理

3 BP_PID算法流程

二、源代码

%% 清空环境变量
close all
clc; clear%% 训练数据预测数据提取及归一化
%下载输入输出数据
load traindata1011 A O
load goontest inputtest_may16 outputtest_may16inputnum=7;hiddennum=6;outputnum=1; %4-5-1结构 编码长度31 7-5-1 46
%训练数据和预测数据
input_train=A(1:360,:)';
input_test=inputtest_may16(1:24,:)';
output_train=O(1:360)';
output_test=outputtest_may16(1:24)';
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
%构建网络
net=newff(inputn,outputn,hiddennum,{'tansig','purelin'});
%网络进化参数
net.trainParam.epochs=100; %迭代次数,学习率,目标
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;
net.trainParam.show=100;
net.trainParam.showWindow=0;
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);%网络预测输出
an=sim(net,inputn_test);%网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);
%% 结果分析figure(1)
plot(BPoutput,':og')
hold on
plot(output_test,'-*');
legend('预测输出','期望输出')
title('BP网络预测输出','fontsize',12)
ylabel('函数输出(W)','fontsize',12)
xlabel('样本(h)','fontsize',12)
%预测误差
error=BPoutput-output_test;
error1=(output_test-BPoutput)./BPoutput; %相对误差
% figure(2)
% plot(error,'-*')
% title('BP网络预测误差','fontsize',12)
% ylabel('误差','fontsize',12)
% xlabel('样本','fontsize',12)
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);%网络预测输出
an=sim(net,inputn_test);%网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);

三、运行结果




【预测模型】基于 bp神经网络风电功率预测matlab源码相关推荐

  1. 【预测模型】基于Logistic混沌映射改进麻雀算法改进BP神经网络实现数据预测matlab源码

    1  模型 简介见这里. 2 部分代码 function [FoodFitness,FoodPosition,Convergence_curve]=SSA(N,Max_iter,lb,ub,dim,f ...

  2. 【预测模型】基于人工鱼群算法优化BP神经网络实现数据预测matlab源码

    1 算法介绍 1.1 BP神经网络 1. 反向传播算法应用领域 反向传播算法应用较为广泛,从字面意思理解,与前向传播相互对应.在简单的神经网络中,反向传播算法,可以理解为最优化损失函数过程,求解每个参 ...

  3. 【预测模型】基于差分进化算法优化BP神经网络实现数据预测matlab源码

    1 算法介绍 2 部分代码 %% 差分进化算法应用于优化BP神经网络的初始权值和阈值%% 清空环境变量 clear all; clc; warning off load v357; load y357 ...

  4. 【风电功率预测】基于matlab帝国殖民竞争算法优化BP神经网络风电功率预测【含Matlab源码 1314期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [风电功率预测]基于matlab帝国殖民竞争算法优化BP神经网络风电功率预测[含Matlab源码 1314期] ⛄二.帝国殖民竞争算法简 ...

  5. 【Matlab风电功率预测】麻雀算法优化BP神经网络风电功率预测【含源码 1319期】

    一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]麻雀算法优化BP神经网络风电功率预测[含源码 1319期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  6. 【Matlab风电功率预测】遗传算法优化BP神经网络风电功率预测【含源码 760期】

    一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]遗传算法优化BP神经网络风电功率预测[含源码 760期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1 ...

  7. 【Matlab风电功率预测】粒子群算法优化BP神经网络风电功率预测【含源码 347期】

    一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]粒子群算法优化BP神经网络风电功率预测[含源码 347期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  8. 基于MATLAB编程的粒子群算法优化BP神经网络风电功率预测,基于PSO-BP的风电功率预测

    目录 摘要 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数, BP神经网络的传递函数 粒子群算法的原理及步骤 基于粒子群算法改进优化BP神 ...

  9. 【BP预测】基于布谷鸟算法优化BP神经网络数据回归预测含Matlab源码

    1 简介 锂电池健康状态(SOH)的预测是电动汽车锂电池管理系统的最重要的关键技术之一;传统的误差逆向传播(BP)神经网络容易使权值和阈值陷入局部最优,从而导致预测结果不精确;结合布谷鸟搜索算法(CS ...

最新文章

  1. 架构高性能网站秘笈(一)——了解衡量网站性能的指标
  2. html表单中的数据提交后清空,怎么实现小程序中表单提交后自动清空内容
  3. php运算符的关键字,PHP 运算符
  4. centos7 django mysql_CentOS7操作系统下快速安装MySQL5.7
  5. SAP Analytics Cloud嵌入到SAP Cloud for Customer的效果图
  6. sketch制作Android动画,如何直接用Sketch制作动画|Sketch插件|
  7. PHP笔记-用户登录权限拦截说明
  8. 20140418--第1讲.开山篇
  9. DOS 批处理 修改xml文件
  10. 2008年小结,我想,我就从这里开始
  11. JNI在C和C++的env语法
  12. PCI Geomatica 操作视频专辑
  13. 网线为什么要分A、B类接法?区别是什么?
  14. matlab求两向量夹角_12分高考答题必刷题型,“空间向量分析点到线的距离问题”...
  15. C# WPF MVVM 实战 – 4 - 善用 IValueConverter
  16. Stratified Sampling(分层采样)
  17. 404常见的几种错误原因
  18. FTPClientUtil FTP客户端工具
  19. 19.通证的分类(各种分类一览表)
  20. 计算机一级基础及msoffice应用,全国计算机等级考试一本通--一级计算机基础及MS OFFICE应用(含...

热门文章

  1. springboot整合微信二维码支付
  2. 2019上半年总结和下半年的目标
  3. 服务器虚拟化设计与实现拓扑图,VMware服务器虚拟化解决具体技术方案(详细).doc...
  4. 【日常篇】005_用Python制作《太空大战》
  5. android 无损压缩
  6. Echarts数据转换transform
  7. 服务器的使用:基于centos7 搭建我的世界(Minecraft)游戏服务器
  8. linux基础培训 华为,华为内部培训资料linux 基础
  9. 弘辽科技:拼多多店铺战胜同行的秘密武器
  10. 区块链第二阶段:去中心化计算平台(一)