【数学建模】BP神经网络预测和神经网络工具箱(python&Matlab代码工具箱)

目录

1 概述

 2 BP神经网络学习模板

3 Matlab神经网络工具箱


1 概述

上节知识复习:

【数学建模】随机森林预测(Python代码实现)

里面的算例本次我们会用到。

用神经网络的思想,使用某个方法计算出权重,带入神经网络进行预测,会比回归思想效果更好。这里我推荐使用BP神经网络。

为什么选择BP神经网络呢?因为它的非线性映射能力很强!比起直接使用回归有着很大的好处,因此我们也把线性回归这种算法叫做低级算法(我说的)。还是书面的总结下BP的几个好处:

  1. 非线性映射能力强

  2. 自学习和自适应能力强

  3. 泛化能力更好

  4. 容错能力也还可以的

 2 BP神经网络学习模板

使用 BP 神经网络拟合多输入多输出曲线

3 Matlab神经网络工具箱

除了BP以外,还可以使用别的机器学习预测方法。我们直接用matlab的神经网络工具箱如下:

在此之前需要先读取训练数据和测试数据,代码如下:

clc 
clear all

%训练
filename = 'C题数据.xlsx';
sheet = 3;
xlRange = 'A2:B76';
A = xlsread(filename,sheet,xlRange);

blRange = 'C2:E76';
B=xlsread(filename,sheet,blRange);


%测试
filename2='test.xlsx'
sheet2 = 1;
clRange = 'A2:B9';
C=xlsread(filename2,sheet2,clRange);

dlRange = 'C2:E9';
D=xlsread(filename2,sheet2,dlRange);

接着选择训练的特征和目标:

默认:

 设置12,你也可以设置其他值,默认为10,表示隐藏层个数:

训练:

训练后如下:

 

点击查看训练表现图:
      
如下:

再来:

作图如下,很好的预测模型,误差集中在0附近,且基本呈正态分布,说明还不错哦

再来查看回归:

如图,四个图分别是训练、调整、测试、所有数据的四张图。横坐标是原始值,纵坐标是预测值,所以我们希望点都在虚线(y = x)上,根据偏离程度可以看出误差。粗直线是根据这些点拟合的回归直线。R是相关度,越接近1表示越好

在上面知识查看了一些模型表现,需要拿去预测,进入下一步 

 下下步到这,保存一下:

开始一个个的输入进行预测:

 

 

同理自行完成其它几个预测,填充到表格中。

工具箱使用总结:

  • 影响网络的参数有:隐藏层参数;训练、调整、测试比例;训练函数。当然,由于训练数据是随机的,所以每一次都会有差距。

  • 当我们要寻找最佳参数,或者有很多组网络需要构建时,用工具箱就会很麻烦,这时候就需要掌握用代码控制上述步骤。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值