目录
1 概述
上节知识复习:
里面的算例本次我们会用到。
用神经网络的思想,使用某个方法计算出权重,带入神经网络进行预测,会比回归思想效果更好。这里我推荐使用BP神经网络。
为什么选择BP神经网络呢?因为它的非线性映射能力很强!比起直接使用回归有着很大的好处,因此我们也把线性回归这种算法叫做低级算法(我说的)。还是书面的总结下BP的几个好处:
非线性映射能力强
自学习和自适应能力强
泛化能力更好
容错能力也还可以的
2 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表示越好
在上面知识查看了一些模型表现,需要拿去预测,进入下一步
下下步到这,保存一下:
开始一个个的输入进行预测:
同理自行完成其它几个预测,填充到表格中。
工具箱使用总结:
-
影响网络的参数有:隐藏层参数;训练、调整、测试比例;训练函数。当然,由于训练数据是随机的,所以每一次都会有差距。
-
当我们要寻找最佳参数,或者有很多组网络需要构建时,用工具箱就会很麻烦,这时候就需要掌握用代码控制上述步骤。