MATLAB实现BP神经网络预测汽油辛烷值
MATLAB实现BP神经网络预测汽油辛烷值
今天学习的新内容,在这里记录一下便于日后复习
1.清空变量,做好准备工作
%% I. 清空环境变量
clear all
clc
2.导入数据,划分前50个为训练样本,后10个是预测样本
%% II. 训练集/测试集产生
%%
% 1. 导入数据
load spectra_data.mat
%%
% 2. 随机产生训练集和测试集
% randperm(60)随机产生1到60中的数字产生60个
temp = randperm(size(NIR,1));
% 训练集——50个样本
P_train = NIR(temp(1:50),:)';
T_train = octane(temp(1:50),:)';
% 测试集——10个样本
P_test = NIR(temp(51:end),:)';
T_test = octane(temp(51:end),:)';
N = size(P_test,2);
3.数据前期的预处理,进行归一化
%% III. 数据归一化
[p_train, ps_input] = mapminmax(P_train,0,1);
p_test = mapminmax('apply',P_test,ps_input);
[t_train, ps_output] = mapminmax(T_train,0,1);
4.创建神经网络
%% IV. BP神经网络创建、训练及仿真测试
%%
% 1. 创建网络
% 9是隐含层个数
net = newff(p_train,t_train,9);
%%
% 2. 设置训练参数
% 设置迭代次数
net.trainParam.epochs = 1000;
% 设置误差目标
net.trainParam.goal = 1e-3;
% 设置学习率
net.trainParam.lr = 0.01;
%%
% 3. 训练网络
net = train(net,p_train,t_train);
%%
% 4. 仿真测试
t_sim = sim(net,p_test);
%%
% 5. 数据反归一化
T_sim = mapminmax('reverse',t_sim,ps_output);
5.检测训练效果
%% V. 性能评价
%%
% 1. 相对误差error
error = abs(T_sim - T_test)./T_test;
%%
% 2. 决定系数R^2
R2 = (N * sum(T_sim .* T_test) - sum(T_sim) * sum(T_test))^2 / ((N * sum((T_sim).^2) - (sum(T_sim))^2) * (N * sum((T_test).^2) - (sum(T_test))^2));
%%
% 3. 结果对比
result = [T_test' T_sim' error']
6.画图可视化结果
%% VI. 绘图
figure
plot(1:N,T_test,'b:*',1:N,T_sim,'r-o')
legend('真实值','预测值')
xlabel('预测样本')
ylabel('辛烷值')
string = {'测试集辛烷值含量预测结果对比';['R^2=' num2str(R2)]};
title(string)
MATLAB实现BP神经网络预测汽油辛烷值相关推荐
- MATLAB中用BP神经网络预测人体脂肪百分比数据
原文链接:http://tecdat.cn/?p=22739 这个例子说明了一个函数拟合的神经网络如何根据测量结果来估计脂肪百分比(BFP) (点击文末"阅读原文"获取完整代码数据 ...
- MATLAB练习——BP神经网络预测成绩
数据整理 假设原成绩单如下,共29人,25门课: 要预测其中一门概率论的成绩.(我的那一行) 每一列是一组输入训练集,行数代表输入层神经元个数,列数代表输入训练集组数,导入MATLAB 由于是要预测其 ...
- BP神经网络实现汽油辛烷值预测,《MATLAB源码+数据集》
发展背景 在人工神经网络的发展历史上,感知机(Multilayer Perceptron,MLP)网络曾对人工神经网络的发展发挥了极大的作用,也被认为是一种真正能够使用的人工神经网络模型,它的出现曾掀 ...
- 【13】 数学建模 | 预测模型 | 灰色预测、BP神经网络预测 | 预测题型的思路 | 内附代码(清风课程,有版权问题,私聊删除)
一.灰色预测使用的场景 数据是以年份度量的非负数据(如果是月份或者季度数据一定要用我们上一讲学过的时间序列模型): 数据能经过准指数规律的检验(除了前两期外,后面至少90%的期数的光滑比要低于0.5) ...
- bp神经网络预测未来数据,bp神经网络数据预处理
如何建立bp神经网络预测 模型 建立BP神经网络预测 模型,可按下列步骤进行:1.提供原始数据2.训练数据预测数据提取及归一化3.BP网络训练4.BP网络预测5.结果分析现用一个实际的例子,来预测20 ...
- 提高bp神经网络预测精度,bp神经网络数据预处理
bp神经网络对输入数据和输出数据有什么要求 p神经网络的输入数据越多越好,输出数据需要反映网络的联想记忆和预测能力.BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数 ...
- bp神经网络预测模型python,r语言bp神经网络预测
如何建立bp神经网络预测 模型 . 建立BP神经网络预测模型,可按下列步骤进行:1.提供原始数据2.训练数据预测数据提取及归一化3.BP网络训练4.BP网络预测5.结果分析现用一个实际的例子,来预测2 ...
- python实现bp神经网络预测,神经网络算法预测彩票
神经网络预测双色球有多靠谱 你好,这东西没人会预测.如果真会预测,早就成为百万富翁了.预测这东西我早就不信了,上一回在网站上,看别人预测,结果买了,连一个号码都没对上.楼主真要买,就权当是献爱心吧. ...
- matlab里BP神经网络实现实例2汽油辛烷值预测
一.引入 1.首先得到数据,比如数据是从exce导入,也可以是现成的.mat文件.60组汽油样品,利用傅里叶近红外变换光谱仪对其进行扫描,扫描范围900~1700nm,扫描间隔2nm,每个样品的光谱曲 ...
最新文章
- 美团的android多渠道包的3种方法
- cf1051F. The Shortest Statement(最短路)
- 【Flask】Nginx / Gunicorn入门:部署你的Flask项目
- 一些SharePoint 2007开发的在线课程
- 在React / React Native中使用构造函数与getInitialState有什么区别?
- 数据结构笔记(三十二)--二叉排序树的基本概念与查找
- 3.11-3.14 Hive 企业使用优化2
- URLSession实现iTunes搜索听歌
- 写给那些要找电子发票的数据接口规范的程序猿
- 跑腿 php,啦啦外卖跑腿小程序配置详情
- 如何查看python标准库_python标准库
- java制作手机投射电脑_Android手机屏幕投射到电脑神器Vysor
- 计算机行业的最新技术,计算机行业发展空间巨大 三大必然趋势引领发展
- python编写udp端口扫描工具全
- Idea 报错: Variable used in lambda expression should be final or effectively final
- 下一个AI领域的高薪方向:强化学习与智能决策研究班2023年春季招生启事
- AMD首批Zen4架构CPU,连低端R5单核性能都超英特尔旗舰,最高降价700元
- android 仿微信聊天气泡显示图片,怎么实现微信聊天时的气泡图(一)
- emoji表情mysql报错_MySql存储emoji表情报错的处理方法
- Word详细教程一(解决word护眼设置,但有些字底色仍是白色的)