求助BP神经网络训练后输出的performance图形问题
1个回答
展开全部
运行时出现了nntraintool图形界面,点击performance按钮后为什么出现了三条曲线,分别是train,validation和test。
其实是这样的 ,在R2009的NN工具箱中,数据被自动分成training set、validation set 及test set 三部分,training set是训练样本数据,validation set是验证样本数据,test set是测试样本数据,这样这三个数据集是没有重叠的。在训练时,用training训练,每训练一次,系统自动会将validation set中的样本数据输入神经网络进行验证,在validation set输入后会得出一个误差(不是网络的训练误差,而是验证样本数据输入后得到的输出误差,可能是均方误差),而此前对validation set会设置一个步数,比如默认是6echo,则系统判断这个误差是否在连续6次检验后不下降,如果不下降或者甚至上升,说明training set训练的误差已经不再减小,没有更好的效果了,这时再训练就没必要了,就停止训练,不然可能陷入过学习。所以validation set有个设置步数,作用就在这里。在你的10组样本中,不可能全部作为训练样本的,还要有测试样本和验证样本。根据matlab版本的不同,具体怎么分配样本也不一样,像R2009应该是自动分配的。
其实是这样的 ,在R2009的NN工具箱中,数据被自动分成training set、validation set 及test set 三部分,training set是训练样本数据,validation set是验证样本数据,test set是测试样本数据,这样这三个数据集是没有重叠的。在训练时,用training训练,每训练一次,系统自动会将validation set中的样本数据输入神经网络进行验证,在validation set输入后会得出一个误差(不是网络的训练误差,而是验证样本数据输入后得到的输出误差,可能是均方误差),而此前对validation set会设置一个步数,比如默认是6echo,则系统判断这个误差是否在连续6次检验后不下降,如果不下降或者甚至上升,说明training set训练的误差已经不再减小,没有更好的效果了,这时再训练就没必要了,就停止训练,不然可能陷入过学习。所以validation set有个设置步数,作用就在这里。在你的10组样本中,不可能全部作为训练样本的,还要有测试样本和验证样本。根据matlab版本的不同,具体怎么分配样本也不一样,像R2009应该是自动分配的。
北京新国信
2023-07-11 广告
2023-07-11 广告
性能测试和功能测试是软件测试的两个重要方面。1. 功能测试:主要是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。也可以称为黑盒测试,只需要考虑测试各个功能是否实现,例如游戏的功能测试,首先测试游戏的各个...
点击进入详情页
本回答由北京新国信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询