BP神经网络回归预测MATLAB实现超详细

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

        bp神经网络回归预测实现主要还是依赖MATLAB自带的工具箱实现的,所以我们只要了解了工具箱的基本情况、使用格式以及参数设置,就可以使用工具箱实现回归预测啦!

首先,清空变量和所以窗口,一般我们进行编程的时候,都会进行这一步操作,有利于释放存储,加快计算输出,也不容易因为上一次运行,影响本次运行。

 第一步:读取训练集的数据集,本文从Excel表格中利用xlsread函数读取数据,然后划分输入值和输出值,假设有13列数据,那么前12列为输入,最后一列为输出。

 第二步:同样的方法读取测试集的数据,分好输入值和输出值,这个时候就可以设置一下bp神经网络的输入、隐含层以及输出层的节点数量。我这里只设置了隐含层的节点个数,其他的默认。

第三步:将训练集的数据进行归一化处理,本文将数据归一化到【-1,1】 之间,用到归一化函数mapminmax函数,其实inputn和outputn是归一化后的数据,inputps和outputps是归一化准侧,目的是接下来的预测也按照这个方法来进行归一化。

第四步:搭建BP神经网络,本文最简单的 BP神经网络结构,主要参数有 训练集输入输出值,隐含层,传递函数等等。

第五步:网络的参数配置,这里可以设计的参数有很多,为了方便学习,我这里主要设置三项,分别是迭代次数、学习速率以及训练的最小误差。

 第六步:设置好所有参数之后,就可以进行bp训练了。这里也可以利用save函数保存一下net,后期想用可以直接调用就行,不用再次训练了。


 第七步:训练好之后,其实已经可以预测了,但是前面我们对训练集进行了归一化处理,所以我们在预测之前也要利用同一方法进行归一化处理,inputn_test就是归一化之后的测试集。inputps就是之前我们训练集归一化所用的方法。

 第八步:等所有的参数条件设置好了之后,进行仿真训练啦!

 第九步:对预测结果进行反归一化,得到预测的真实值并且计算绝对误差。

第十步:得到结果之后,我们为了知道预测的效果,就需要做误差评估,只要通过计算MSE,RMSE等参数,在对结果进行可视化。

 

 最后,给大家看一下运行的效果:

 

 

猜你喜欢

转载自blog.csdn.net/rouse_xing/article/details/129361354