BP神经网络预测(MATLAB自定义函数进行)

article/2025/10/8 10:50:27

功能:7输入1输出 算法:BP神经网络(MATLAB自定义函数)
电话:13483417110
输入:入炉温度、第一加热段温度、第二加热段温度、均热段温度、第一加热段停留时间、第二加热段停留时间、均热段停留时间
输出:出炉温度

在这里插入图片描述

数据摘自《唐钢 0 1700 加热炉模型开发与优化》

归一化需要保证每一列是一个样本、因此需要对原始数据进行转置。


clear;close all; clc;
% 网络架构:7-13-1
% 150个样本,每个样本8个变量、输入变量7个、输出变量1个
% y=f(x1,x2,x3,...,x7)
%第一步 读取数据
[data,text] = xlsread('tg1700.xlsx','sheet1','B4:I153');
input=data(:,1:7)';
output=data(:,8)';
%归一化[0,1]
[inputn,inputps]=mapminmax(input,0,1);
[outputn,outputps]=mapminmax(output,0,1);inputn = inputn';
outputn = outputn';nnI = 7;% 输入7个
nnM = 13;% 隐含层13个
nnO = 1;% 输出1个W1=2*rand(nnM,nnI)-1;
W2=2*rand(nnO,nnM)-1;lr = 0.01;% 学习率
epochs = 5000;% 训练次数for i=1:epochs[W1,W2]=TrainNET(W1,W2,inputn,outputn,lr);
end% 单点预测
xtest_=input(:,1);
xtest=mapminmax('apply',xtest_,inputps); % 对样本数据进行归一化v1test=W1*xtest;
y1test=Sigmond(v1test);
vtest=W2*y1test;
ytest_=Sigmond(vtest);
ytest=mapminmax('reverse',ytest_,outputps);formatSpec = 'The ytest is %f';
resutstr = sprintf(formatSpec,ytest)% 多点预测
N=size(inputn,1);
y_ = zeros(1,50);
for i=1:Nx=inputn(i,:)';%7*1v1=W1*x;%10*7*7*1=10*1y1=Sigmond(v1);v2=W2*y1;y_(i)=Sigmond(v2);
end
y=mapminmax('reverse',y_,outputps);figure(1)
subplot(121);
plot(y);
xlabel(' ','Fontsize',18);
ylabel(' ','Fontsize',18);
title('预测');subplot(122);
plot(output);
xlabel(' ','Fontsize',18);
ylabel(' ','Fontsize',18);
title('实测');figure(2)
plot(y);
hold on
plot(output);
xlabel(' ','Fontsize',18);
ylabel(' ','Fontsize',18);
legend('预测','实测')figure(3)
plot(output(121:150),'r--')
hold on;grid on
plot(y(121:150),'b-')
xlabel('\fontsize{14}\fontname{楷体}\rm{测试点}\rm{ (Num)}');
ylabel('\fontsize{14}\fontname{楷体}\rm{钢坯出炉温度}\rm{ (^oC)}');
set(gca,'ytick',[980:20:1200]);
set(gca,'fontsize',14,'fontname','times new roman');
legend('\fontsize{14}\fontname{楷体}\rm{实际值}','\fontsize{14}\fontname{楷体}\rm{预测值}');
legend('boxoff');
title('\fontsize{14}\fontname{times new roman}\rm{BPNN}'); 
function [W1,W2]=TrainNET(W1,W2,X,D,lr)a=lr; N=size(X,1);for k=1:N x=X(k,:)';d=D(k);v1=W1*x;y1=Sigmond(v1);v=W2*y1;y=Sigmond(v);e=d-y; delta=y.*(1-y).*e; e1=W2'*delta; delta1=y1.*(1-y1).*e1; dW2=a*delta*y1';dW1=a*delta1*x';W1=W1+dW1;W2=W2+dW2;end
end
function y=Sigmond(x)y=1./(1+exp(-x));
end

学习率 Ir = 0.01
在这里插入图片描述
学习率 Ir = 0.1
在这里插入图片描述


http://chatgpt.dhexx.cn/article/RMNn3E7m.shtml

相关文章

BP神经网络预测实现

基本概念 误差反向传播神经网络简称为BP(Back Propagation)网络,它是一种具有三层或三层以上的多层神经网络,每一层都由若干个神经元组成。如图所示为一个BP神经网络的结构图,它的左、右各层之间各个神经元实现全连接,即左层的每…

基于神经网络的房价预测,BP神经网络预测房价

1、如何利用matlab进行神经网络预测 matlab 带有神经网络工具箱,可直接调用,建议找本书看看,或者MATLAB论坛找例子。 核心调用语句如下: %数据输入 %选连样本输入输出数据归一化 [inputn,inputps]mapminmax(input_train); [outpu…

麻雀搜索算法优化BP神经网络预测以及MATLAB代码实现

麻雀搜索算法SSA优化BP神经网络回归预测以及MATLAB代码实现 文章目录 麻雀搜索算法SSA优化BP神经网络回归预测以及MATLAB代码实现1. 麻雀搜索算法SSA原理1.1 算法灵感来源1.2 算法模型描述 2. SSA优化BP神经网络预测算法流程3. SSA优化BP回归预测的MATLAB实现步骤4. 运行结果与…

bp神经网络预测模型优点,bp神经网络缺点及克服

BP神经网络的核心问题是什么?其优缺点有哪些? 人工神经网络,是一种旨在模仿人脑结构及其功能的信息处理系统,就是使用人工神经网络方法实现模式识别.可处理一些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题,神经网络方法允许样品有较大的缺损和畸变.神经网络的类型…

提高bp神经网络预测精度,bp神经网络收敛速度慢

1、如何提高bp神经网络的预测精度啊 跟你的预测对象有很大关系。 1. 根据你的预测对象的特性选取合适的输入层、输出层和隐层神经元数目。 2. 选择合适的神经网络训练函数。 3. 保证足够的训练样本数据,并且确保这个训练样本数据有足够的精度能够反映需要预测的对象…

(四)BP神经网络预测(上)

BP神经网络适用于机器人控制、组合优化、模式识别、图像信息处理,能够对非线性数据建立精确的模型,对其未来进行预测。其核心思想是:将已预处理好的数据放到神经网络的微分方程进行反复训练,通过大量的训练建立BP神经预测模型&…

基于遗传算法优化BP神经网络预测和分类MATLAB实现-附代码

基于遗传算法GA优化的BP神经网络预测和分类(含优化前对比) 文章目录 基于遗传算法GA优化的BP神经网络预测和分类(含优化前对比)1. BP神经网络预测原理简介2. 遗传算法GA优化BP神经网络原理3. GA-BP模型建立3.1 模型与数据介绍3.2 …

用matlab做bp神经网络预测,matlab人工神经网络预测

如何得到神经网络预测结果 20 。 如果你用9——11年的数据不经过预测12——19年的数据就想得到第20年的数据的做法是不合理的,神经网络的预测讲求时间序列的连续性,你可以在编写maltab程序的时候才用递归的方法调用神经网络工具箱,加上对预…

提高bp神经网络预测精度,bp神经网络数据预处理

bp神经网络对输入数据和输出数据有什么要求 p神经网络的输入数据越多越好,输出数据需要反映网络的联想记忆和预测能力。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。 它的学习规则是使用最速下降法&…

bp神经网络预测模型优点,bp神经网络相关性分析

BP神经网络的可行性分析 神经网络的是我的毕业论文的一部分4.人工神经网络人的思维有逻辑性和直观性两种不同的基本方式。 逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符…

bp神经网络预测未来数据,bp神经网络数据预处理

如何建立bp神经网络预测 模型 建立BP神经网络预测 模型,可按下列步骤进行:1、提供原始数据2、训练数据预测数据提取及归一化3、BP网络训练4、BP网络预测5、结果分析现用一个实际的例子,来预测2015年和2016年某地区的人口数。 已知2009年——…

bp神经网络数据预测实例,bp神经网络预测数据

BP神经网络预测,预测结果与样本数据的理解。 输入节点数是3,说明输入向量的行数m3,你给的样本只有1行,是不是不全?输出节点只有一个,说明每3个输入数据对应一个预测的输出数据。其实样本数量很少&#xff…

bp神经网络预测模型原理,BP神经网络预测模型

深度学习与神经网络有什么区别 深度学习与神经网络关系2017-01-10最近开始学习深度学习,基本上都是zouxy09博主的文章,写的蛮好,很全面,也会根据自己的思路,做下删减,细化。 五、DeepLearning的基本思想假…

bp神经网络预测模型python,bp神经网络预测模型

如何建立bp神经网络预测 模型 。 建立BP神经网络预测模型,可按下列步骤进行:1、提供原始数据2、训练数据预测数据提取及归一化3、BP网络训练4、BP网络预测5、结果分析现用一个实际的例子,来预测2015年和2016年某地区的人口数。 已知2009年…

BP神经网络预测

BP神经网络预测 1.输入向量与输出向量 我们将前14组国内男子跳高运动员各项素质指标作为输入,即(30m行进跑,立定三级跳远,助跑摸高,助跑4-6步跳高,负重深蹲杠铃,杠铃半蹲系数,100m&…

BP神经网络预测模型

一、BP神经网络简单介绍 BP神经网络是一种人工神经网络,其主旨是一种进行分布式并行信息处理的数学模型。 其内部包含一个或多个隐含层。 1、基本概念 感知器 代表BP神经网络中的单个节点。 其包含:输入项、权重、偏置、激活函数、输出。 下图可以看…

BP神经网络如何用历史数据预测未来数据

本文主要为了解决如何用BP神经网络由历史的目标数据与因素数据去预测未来的目标数据。Bp神经网络的具体算法步骤与代码在网络上已经有很多大佬写过了,本文提供了将其应用于预测的方法。(附简单直接可使用代码) 开始我也在思考,简答…

EXCEL生成脚本

Execel 业务导入 1、填写数据 2、根据包的存储过程,生成脚本 3、输出脚本

用Python如何开发Excel宏脚本?新手必学

今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python。 基本环境 操作系统:Windows 10 x64 Office:2016 安装Python 1.下载Python安装包 登录[https://www.python…

大新闻!微软正考虑添加 Python 为官方的 Excel 脚本语言

(点击上方蓝字,快速关注我们) 来源: 开源中国 www.oschina.net/news/91595/python-as-an-official-scripting-language-to-excel 据外媒报道,微软正考虑添加 Python 为官方的一种 Excel 脚本语言,如果获得批准,Excel 用…