bp神经网络算法后的结果看不懂,都是英文,预测值怎么弄出来,高手指导一下

bp神经网络算法后的结果看不懂,都是英文,预测值怎么弄出来,高手指导一下,第1张

p_test=[];
out=sim(net,p_test)
训练结束后用验证样本检验网络的预测效果,是验证数据的输入,模型会自动给出预测输出值,将预测值与真实值对比看看模型是否可信

在工程应用中经常会遇到一些复杂的非线性系统(我们航空发动机就是典型的强非线性模型),这些系统状态方程复杂,难以用数学方法准确建模。在这种情况下,可以建立BP神经网络表达这些非线性系统。该方法把未知系统看成黑箱,首先用系统输入输出数据训练BP神经网络,使网络能够表达该未知函数,然后用训练好的BP神经网络预测系统输出。
本文要拟合的非线性函数是

该函数的图形如下图1所示。

回顾上一篇文章建立BP网络的算法流程,进行具有非线性函数拟合的BP网络可以分为网络构建、训练和预测三步,如下图2所示。

BP神经网络构建 根据要拟合的非线性函数特点确定BP网络结构,由于该非线性函数有两个输入参数,一个输出参数,所以BP网络结构可以设置为2-5-1,即输入层有2个节点,隐含层有5个节点,输出层有1个节点。
BP神经网络训练 用非线性函数输入输出数据训练神经网络,使训练后的网络能够预测非线性函数输出。从非线性函数中随机得到2 000组输入输出数据,从中随机选择1 900组作为训练数据,用于网络训练,100组作为测试数据,用于测试网络的拟合性能。
神经网络预测 用训练好的网络预测输出,并对预测结果进行分析。

根据非线性函数方程随机得到该函数的2 000组输入输出数据,将数据存储在datamat文件中,input是函数输入数据,output是函数输出数据。从输入输出数据中随机选取1 900组数据作为网络训练数据,100组作为网络测试数据,并对训练数据进行归一化处理。

用训练数据训练BP神经网络,使网络对非线性函数输出具有预测能力。

用训练好的BP神经网络预测非线性函数输出,并通过BP神经网络预测输出和期望输出,分析BP神经网络的拟合能力。

用训练好的BP神经网络预测函数输出,预测结果如下图3所示。

BP神经网络预测输出和期望输出的误差如下图4所示。

从图3和图4可以看出,虽然BP神经网络具有较高的拟合能力,但是网络预测结果仍有一定误差,某些样本点的预测误差较大。

在上一篇文章中提到了调整隐含层节点数目、改变权值和阈值更新算法以及变学习率学习算法等方法,针对非线性拟合,BP神经网络的优化还可以使用多隐层的BP神经网络、改变激活函数等方法。

将检测结果放入到投影机中查看。根据神经网络结果图使用信息得知bptest结果需要放入投影机中才能查看。随着深度学习的快速发展,人们创建了一整套神经网络结构来解决各种各样的任务和问题。

图上的三个彩色实线分别是:每一代BP训练过程的MSE指标的性能,每一代BP交叉验证过程的MSE指标的性能以及BP测试的MSE指标在每一代中执行的过程。 特别是,应该注意内部的TEST红线,这是BP计算/训练结果。

BEST虚线表示当BP网络被训练到第八代时,BP训练结果是最佳的。GOAL虚线是在编程或直接使用MATLAB的ANN工具箱训练此BP时设置的网络容量训练停止目标(一个)。

扩展资料:

BP(Back Propagation)神经网络是由Rumelhart和McCelland领导的一组科学家于1986年提出的。BP(Back Propagation)是由反向传播误差反向传播算法训练的多层前馈网络,是使用最广泛的神经网络模型之一。

BP网络可以学习并存储大量的输入-输出模式映射关系,而无需事先揭示描述这些映射关系的数学方程式。 BP网络的学习规则是使用最速下降法,并通过反向传播来不断调整网络的权重和阈值,以最小化网络的平方误差之和。 BP神经网络模型的拓扑包括输入层,隐藏层和输出层。

对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值。这类问题可以通过神经网络结合遗传算法求解,利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。本文用神经网络遗传算法寻优如下非线性函数极值,函数表达式为

函数图形如下图1所示。

从函数方程和图形可以看出,该函数的全局最小值为0,对应的坐标为(0,0)。虽然从函数方程和图形中很容易找出函数极值及极值对应坐标,但是在函数方程未知的情况下函数极值及极值对应坐标就很难找到。

神经网络遗传算法函数极值寻优主要分为BP神经网络训练拟合和遗传算法极值寻优两步,算法流程如下图2所示。

神经网络训练拟合根据寻优函数的特点构建合适的BP神经网络,用非线性函数的输出数据训练BP网络,训练后的BP神经网络就可以预测函数输出。遗传算法极值寻优把训练后的BP神经网络预测结果作为个体适应度值,通过选择、交叉和变异 *** 作寻找函数的全局最优值及对应输入值。
本文根据非线性函数有2个输入参数、1个输出参数,确定BP神经网络结构为2-5-1取函数的4 000组输入输出数据,从中随机选取3 900组数据训练网络,100组数据测试网络性能,网络训练好后用于预测非线性函数输出。
遗传算法中个体采用实数编码,由于寻优函数只有2个输入参数,所以个体长度为2。个体适应度值为BP神经网络预测值,适应度值越小。交叉概率为04,变异概率为02。

用函数输入输出数据训练BP神经网络,使训练后的网络能够拟合非线性函数输出,保存训练好的网络用语计算个体适应度值。根据非线性函数方程随机得到该函数的4 000组输入输出数据,存储于datamat中,其中input为函数输入数据,output为函数对应输出数据,从中随机抽取3 900组训练数据训练网络,100组测试数据测试网络拟合性能。最后保存训练好的网络。

把训练好的BP神经网络预测输出作为个体适应度值。

BP神经网络拟合结果分析
本文中个体的适应度值为BP神经网络预测值,因此BP神经网络预测精度对于最优位置的寻找具有非常重要的意义。由于寻优非线性函数有2个输入参数、1个输出参数,所以构建的BP神经网络的结构为2-5-1。共取非线性函数4 000组输入输出数据,从中随机选择3 900组数据训练BP神经网络,100组数据作为测试数据测试BP神经网络拟合性能,BP神经网络预测输出和期望输出对比如下图3所示。

从BP神经网络预测结果可以看出,BP神经网络可以准确预测非线性函数输出,可以把网络预测近似看成函数实际输出。

遗传算法寻优结果分析 BP神经网络训练结束后,可以利用遗传算法寻找该非线性函数的最小值。遗传算法的迭代次数是100次,种群规模是20,交叉概率为04,变异概率为02,采用浮点数编码,个体长度为21,优化过程中最优个体适应度值变化曲线如下图4所示。

本文所使用的方法有比较重要的工程应用价值,比如对于某项试验来说,试验目的是获取到最大试验结果对应的实验条件,但是由于时间和经费限制,该试验只能进行有限次,可能单靠试验结果找不到最优的试验条件。这时可以在已知试验数据的基础上,通过本文介绍的神经网络遗传算法寻找最优试验条件。
思路就是先根据试验条件数和试验结果数确定BP神经网络结构;然后把试验条件作为输入数据,试验结果作为输出数据训练BP网络,使得训练后的网络可以预测一定试验条件下的试验结果;最后把试验条件作为遗传算法中的种群个体,把网络预测的试验结果作为个体适应度值,通过遗传算法推导最优试验结果及其对应试验条件。

网络的训练过程与使用过程了两码事。
比如BP应用在分类,网络的训练是指的给你一些样本,同时告诉你这些样本属于哪一类,然后代入网络训练,使得这个网络具备一定的分类能力,训练完成以后再拿一个未知类别的数据通过网络进行分类。这里的训练过程就是先伪随机生成权值,然后把样本输入进去算出每一层的输出,并最终算出来预测输出(输出层的输出),这是正向学习过程;最后通过某种训练算法(最基本的是感知器算法)使得代价(预测输出与实际输出的某范数)函数关于权重最小,这个就是反向传播过程。
您所说的那种不需要预先知道样本类别的网络属于无监督类型的网络,比如自组织竞争神经网络。

1、你可以尝试运行多次后比较其结果,最好重启matlab,再运行你的神经网络程序。
2、确认一下你的bp神经网络参数设置是否合理。
3、也有可能的数据不适合用bp神经网络训练,可以考虑其他方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13404200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存