Matlab预测模型-BP神经网络模型

这篇具有很好参考价值的文章主要介绍了Matlab预测模型-BP神经网络模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

预测模型-BP神经网络模型

基本概念

训练集(Training set) —— 用于模型拟合的数据样本。

验证集(Validation set)—— 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。在神经网络中,我们用验证数据集去寻找最优的网络深度,或者决定反向传播算法的停止点或者在神经网络中选择隐藏层神经元的数量;

测试集(Testing set) —— 用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。

BP神经网络模型理论

  1. https://mp.weixin.qq.com/s/EbHgAZ-eU1qTvRnBZ1TSWA
  2. https://zhuanlan.zhihu.com/p/396508951

案例

Matlab预测模型-BP神经网络模型文章来源地址https://www.toymoban.com/news/detail-508531.html

%% BP神经网络案例 https://mp.weixin.qq.com/s/EbHgAZ-eU1qTvRnBZ1TSWA
%% 数据的加载
clc;clear;close all;
load('abalone_data.mat')
%% 设置训练数据和测试数据
[m,n]=size(data); %m =4177 n =9  m是样本的总个数,n是指标或者变量因素加上输出的结果
train_num=round(0.8*m); %自变量 训练的数量 一般按照80%训练样本,20%测试样本
x_train_data=data(1:train_num,1:n-1);       %输入训练样本 
y_train_data=data(1:train_num,n);           %输出训练样本
x_test_data=data(train_num+1:end,1:n-1);    %输入测试样本 
y_test_data=data(train_num+1:end,n);        %输入测试样本 

x_train_data=x_train_data';
y_train_data=y_train_data';
x_test_data=x_test_data';
%x_train_regular,y_train_regular  训练数据进行归一化
[x_train_regular,x_train_maxmin] = mapminmax(x_train_data);
[y_train_regular,y_train_maxmin] = mapminmax(y_train_data);
%% 创建网络
%{
net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)

% net=newff(x_train_regular,y_train_regular,6,{'logsig','purelin'});
P:输入数据矩阵。
T:输出数据矩阵。
S:隐含层节点数。
TF:节点传递函数.
        包括硬限幅传递函数hardlim、对称硬限幅传递函数hardlims、线性传递函数purelin
        正切S型传递函数tansig、对数S型传递函数logsig。
BTF:训练函数.
        包括梯度下降BP算法训练函数traingd、动量反传的梯度下降BP算法训练函数traingdm
        动态自适应学习率的梯度下降BP算法训练函数traingda
        动量反传和动态自适应学习率的梯度下降BP算法训练函数traingdx、Levenberg_Marquardt的BP算法训练函数trainlm。
BLF:网络学习函数,包括BP学习规则learngd、带动量项的BP学习规则learngdm。
PF:性能分析函数,包括均值绝对误差性能分析函数mae、均方差性能分析函数mse。
IPF:输入处理函数。
OPF:输出处理函数。
DDF:验证数据划分函数。
注意:一般在使用过程中设置前面6个参数,后面4个参数采用系统默认参数。

%}
%%调用形式
%net=newff(x_train_regular,y_train_regular,6,{'logsig','logsig','logsig'});
% net=newff(x_train_regular,y_train_regular,6,{'logsig','logsig'});
net=newff(x_train_regular,y_train_regular,6,{'logsig','purelin'});
% net=newff(x_train_regular,y_train_regular,6,{'logsig','tansig'});
%% 训练网络
%{
train:BP神经网络训练函数
函数功能:用训练数据训练BP神经网络。
函数形式:[net,tr]=train(NET,X,T,Pi,Ai);
NET:待训练网络。
X:输入数据矩阵。
T:输出数据矩阵。
Pi:初始化输入层条件。
Ai:初始化输出层条件。
net:训练好的网络。
tr:训练过程记录。
%}
%训练网络
[net,~]=train(net,x_train_regular,y_train_regular);
%将输入数据归一化  (测试数据)
x_test_regular = mapminmax('apply',x_test_data,x_train_maxmin);
%% BP神经网络预测函数
%{
sim:BP神经网络预测函数
函数功能:用训练好的BP神经网络预测函数输出
函数形式:y=sim(net,x)
net:训练好的网络。
x:输入数据。  需要预测的数据
y:网络预测数据。
%}

%放入到网络输出数据
y_test_regular=sim(net,x_test_regular);
%将得到的数据反归一化得到预测数据
BP_predict=mapminmax('reverse',y_test_regular,y_train_maxmin);
% RBF_predict(find(RBF_predict<0))=-0.244;

%% 预测与误差输出
BP_predict=BP_predict';
errors_nn=sum(abs(BP_predict-y_test_data)./(y_test_data))/length(y_test_data);
figure(1)
color=[111,168,86;128,199,252;112,138,248;184,84,246]/255;
plot(y_test_data,'Color',color(2,:),'LineWidth',1)
hold on
plot(BP_predict,'*','Color',color(1,:))
hold on
titlestr=['BP神经网络','   误差为:',num2str(errors_nn)];
title(titlestr)

到了这里,关于Matlab预测模型-BP神经网络模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比

    基于UCI葡萄酒数据集进行葡萄酒分类及产地预测 共包含178组样本数据,来源于三个葡萄酒产地,每组数据包含产地标签及13种化学元素含量,即已知类别标签。 把样本集随机分为训练集和测试集(70%训练,30%测试),根据已有数据集训练一个能进行葡萄酒产地预测的模型,以

    2024年02月16日
    浏览(39)
  • BP神经网络预测实例(matlab代码,神经网络工具箱)

    参考学习b站资源: 数学建模学习交流 bp神经网络预测matlab代码实现过程 神经网络简介 可在github下载(含原始样品数据): https://github.com/chenshunpeng/BP-neural-network 最早的神经网络模型, 单层感知器perceptron,结构如下: 这是一个两层的神经网络,第一层为输入层,第二层为输

    2024年02月12日
    浏览(45)
  • BP神经网络回归预测MATLAB实现超详细

            哈喽!小伙伴们,接着上篇回归预测之支持向量机回归预测,今天给大家带来MATLAB实现bp神经网络回归预测,本文主要是陈述BP神经网络实现过程,不在对原理进行讲解啦。需要代码的小伙伴可以私聊我!无偿。接下来进入正题啦!         bp神经网络回归预测实

    2023年04月20日
    浏览(41)
  • 【SSA-BP预测】基于麻雀算法优化BP神经网络回归预测研究(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 麻雀算

    2024年02月08日
    浏览(61)
  • 时序预测 | Matlab实现SOM-BP自组织映射结合BP神经网络时间序列预测

    预测效果 基本介绍 1.Matlab实现SOM-BP自组织映射结合BP神经网络时间序列预测(完整源码和数据); 2.数据集为excel,单列时间序列数据集,运行主程序main.m即可,其余为函数文件,无需运行; 3.优化参数为神经网络的权值和偏置,命令窗口输出RMSE、MAPE、MAE、R2等评价指标; 4

    2024年04月12日
    浏览(37)
  • 回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测

    效果一览 基本介绍 1.Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测; 2.数据集为excel,输入7个特征,输出1个变量,运行主程序main.m即可,其余为函数文件,无需运行; 3.优化参数为神经网络的权值和偏置,命令窗口输出RMSE、MAPE、MAE、R2等评价指标; 4.运行环

    2024年02月05日
    浏览(53)
  • 回归预测 | MATLAB实现基于BP-Adaboost的BP神经网络结合AdaBoost多输入单输出回归预测

    预测效果 基本介绍 1.MATLAB实现基于BP-Adaboost的BP神经网络结合AdaBoost多输入单输出回归预测; 2.运行环境为Matlab2018b; 3.输入多个特征,输出单个变量,多变量回归预测; 4.data为数据集,excel数据,前7列输入,最后1列输出,主程序运行即可,所有文件放在一个文件夹; 5.命令窗

    2024年02月08日
    浏览(52)
  • 【Matlab】基于BP神经网络的数据回归预测(Excel可直接替换数据)

    BP(Backpropagation)回归模型是一种基于反向传播算法的神经网络模型,用于解决回归问题。它通过对输入和输出之间的非线性关系进行建模,可以用于预测连续型变量的值。 神经网络结构: BP回归模型由一个或多个隐藏层组成,每个隐藏层包含多个神经元,以及一个输出层。

    2024年02月16日
    浏览(40)
  • 使用BP神经网络和Elman Net预测航班价格(Matlab代码实现)

     👨‍🎓 个人主页: 研学社的博客     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果

    2023年04月21日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包