MATLAB 神经网络43个案例——BP神经网络数据预测

代码分析:

clear all;close;clc
%% 读取数据
%p为输入 t为输出
p=randi(20,[200,2]);%产生大小为1至20之间 维度为200*2的伪随机数矩阵
t=p(:,1)+p(:,2);

%% 训练集和测试集
p_train=p(1:190,:)';
p_test=p(191:end,:)';
t_train=t(1:190,:)';
t_test=t(191:end,:)';

%% 节点个数
inum=2;%输入层
hnum=5;%隐藏层
onum=1;%输出层

%% 训练集输入输出数据归一化
[P_train,PS]=mapminmax(p_train);%首字母大写:归一化后的数据
[T_train,TS]=mapminmax(t_train);

%% 构建BPnet框架 参数配置
net=newff(P_train,T_train,hnum);
view(net)
net.trainParam.epochs=1000;%迭代次数
net.trainParam.lr=0.01;%学习率
net.trainParam.goal=0.00001;%最小目标误差(均方误差)

%% BPnet训练
net=train(net,P_train,T_train);%根据上述参数对net进行训练

%% 测试集输入数据归一化
P_test=mapminmax('apply',p_test,PS);

%% BPnet预测
T_test_predict=sim(net,P_test);

%% 预测值反归一化
t_test_predict=mapminmax('reverse',T_test_predict,TS);

%% 误差:真实值-预测值
error=t_test-t_test_predict;
mse=error*error'/size(error,2);%均方误差

%% 对比图
hold on
plot(t_test,'bo-');
plot(t_test_predict,'r*-');
plot(error,'k');
legend('真实值','预测值','误差');
xlabel('数据组数');
ylabel('样本值');
title('BPnet预测值与真实值的对比图');

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本章节以“估算物理量”为主题,讨论了利用Matlab神经网络进行各类物理量估算的案例。具体来说,第一部分介绍了基于神经网络的物理量估算的基本原理和步骤,包括神经网络的结构选择、训练数据的准备、神经网络的训练和验证等。在此基础上,第二部分列举了三个具体的案例: 1、垂直式自动钻机重载自动卸料故障诊断 本案例基于一个基于垂直式自动钻机的卸料故障数据集进行,通过构建一个BP神经网络来对自动卸料故障进行诊断。具体来说,该神经网络包括两个隐藏层,输入层和输出层,使用前馈神经网络训练算法进行训练。通过实验表明,该方法对于诊断模型的精度和可靠性都有一定的提升。 2、混凝土早期脱模强度预测案例基于一组混凝土早期脱模强度预测数据集进行,通过构建一个Elman神经网络模型来进行强度预测。具体来说,该神经网络模型包括一个输入层、一个循环连接层和一个输出层组成,使用L-M算法进行训练。该预测模型的结果明显优于传统的脱模强度预测方法。 3、壁式风扇噪声预测案例基于一组壁式风扇噪声预测数据集进行,通过构建一个全连接神经网络模型来进行噪声预测。该模型包括三个隐藏层和一个输出层,使用BFGS算法进行训练。通过实验表明,该方法能够精确地预测壁式风扇的噪声水平,具有一定的工程应用价值。 总之,本章节的三个案例均展示了Matlab神经网络在估算物理量上的优异表现,为实际工程问题的解决提供了新的思路和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值