MATLAB神经网络工具箱函数各种图的解释

MATLAB神经网络工具箱函数各种图的解释介绍了matlab神经网络工具箱函数的图解属性和绘图意义

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述
Neural Network 该部分展示了神经网络的结构,从结构图中可以看出该网络有三个隐含层,神经元个数分别为9个、8个、7个

Algorithms 该部分展示了该网络所使用的训练算法,可以看出

Data Division:该网络采用随机划分的方法将数据集划分为training set、validation set、test set

Training:该网络采用Levenberg–Marquardt算法进行训练

Performance*:该网络采用均方误差算法计算误差

Calculations:****该网络保存为mex格式

Progress Epoch:该网络允许的迭代次数最大为1000,实际迭代5次

Time:该网络训练时长为3秒

Performance:该网络的最大误差为0.475,目标误差为0.001,实际误差为0.000520,可在Plots中的Performance中详细查看

Gradient:该网络的最大梯度为1.91,阈值梯度为1e−7 1e^{-7}1e −7
,实际梯度为0.033。可在Plots中的Training State中详细查看

Mu:该网络所使用Levenberg–Marquardt算法中的阻尼因子最小值为0.001,阈值为1e10 1e^{10}1e 10
,实际值为1e−6 1e^{-6}1e −6 ,Mu值越大意味着算法收敛效果越好。可在Plots中的Training
State中详细查看

Validation
Checks:该网络的泛化能力检查标准,实际值为0表示在训练过程中误差在持续降低,若连续6次训练误差无法降低,则结束训练任务。可在Plots中的Training
State中详细查看

Plots Performance:该网络训练过程中的误差变换可视化

Training State:该网络训练过程中的梯度、Mu因子和泛化能力变换等信息的可视化

Regression:该网络训练集、验证集、测试集的回归能力可视化

Plot Interval:图中横坐标的刻度 ————————————————
版权声明:本文为CSDN博主「白水偷偷画工图」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baishuiniyaonulia/article/details/98231693

这里是引用

图上三条有颜色的实线分别是:BP训练过程的MSE指标在每一代中的表现,BP交叉验证度过程的MSE指标在每一代中的问表现,BP测试过程的MSE指标在每一代中的表现。尤其你要注意那条TEST红线,那是你的BP计算答/训练内结果。
BEST虚线说明BP网络训练到第八代的时候BP训练结果最理想。
GOAL虚线是你编程或者直接用的MATLAB的ANN工具箱去训练这个BP时,设容置的网络训练停止目标(之一)。

在这里插入图片描述
代表检验这个网络的训练结果。

mse表示均方差,当然越小越好。但是这与zhidao你训练样本的多少,训练次数都有很大关系。这个其实没有统一的标准,任何人都知道0偏差当然是最好。但是根绝神经网络本身致命的缺陷,由于它是迭代收敛逼近解析式,所以不可能达到0误差。

这只有根据使用者的工程技术要求来加以判断,这个误差指标肯定应该在小于工程误差范围内啊。但是对于科研研究,也只能具体情况具体分析。定量一说没有具体绝对一说的。

在这里插入图片描述
Gradient为梯度下降法的函数
Validation Checks
在训练时,用training训练,每训练一次,系统自动会将validation set中的样本数据输入神经网络进行验证,在validation set输入后会得出一个误差(不是网络的训练误差,而是验证样本数据输入后得到的输出误差,可能是均方误差),而此前对validation set会设置一个步数,比如默认是6echo,则系统判断这个误差是否在连续6次检验后不下降,如果不下降或者甚至上升,说明training set训练的误差已经不再减小,没有更好的效果了,这时再训练就没必要了,就停止训练,不然可能陷入过学习。
Learn Rate 学习率(默认是0.01)
学习速率的选取很重要,大了可能导致系统不稳定,小了会导致训练周期过长、收敛慢,达不到要求的误差。一般倾向于选取较小的学习速率以保持系统稳定,通过观察误差下降曲线来判断。下降较快说明学习率比较合适,若有较大振荡则说明学习率偏大。同时,由于网络规模大小的不同,学习率选择应当针对其进行调整

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151503.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • stm32 st_基于STM32

    stm32 st_基于STM32用了不少芯片,就只有51有位操作,这个特性很喜欢,赋值简单、效率又高且节省内存,不必为了一个bool去分配一个uint8.发现stm32有Bit-Banding,就试了一下,用MDK-ARM环境下的汇编代码做了一些比较。操作,清零USART1的SR寄存器的TC位:方法一://利用USART_TypeDef这个结构寻到SR的地址,再赋值USART1->SR&amp…

    2022年10月13日
    0
  • JAVA缓存机制_JAVA锁机制

    JAVA缓存机制_JAVA锁机制缓存可分为二大类:一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式; 二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查.下面为一个简单的缓存代码Java代码package lhm.hcy.guge.frameset.cache;    import j

    2022年10月4日
    0
  • python判断是否为空_python 判断对象是否为空

    python判断是否为空_python 判断对象是否为空在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:ifaisNone:dosomething.else:dotheotherthing.python学习网,大量的免费python视频教程,欢迎在线学习!这样写看起来不错,但实际上会有问题。一般来讲,Python中会把下面几种情况当做空值来处理:NoneFalse0,0.0,0L”,(),[],{}其中Non…

    2022年6月12日
    164
  • pycharm使用技巧及常用快捷键_键盘怎么自定义改键

    pycharm使用技巧及常用快捷键_键盘怎么自定义改键PyCharm自身提供了大量实用的快捷键,但是由于自己之前其他软件的快捷键使用习惯与此不同,这就需要在PyCharm量身DIY属于自己的快捷键了。快来按照下面的流程操作吧!!!1、File—>Settings【Settings的快捷键大家看到了嘛!!!Ctrl+Alt+S】2、Keymap—>齿轮状设置—>Duplicate建议在设置快捷键之前…

    2022年8月25日
    3
  • flex 学习

    flex 学习

    2021年7月28日
    95
  • 交叉线和直通线的区别和用途[通俗易懂]

    交叉线和直通线的区别和用途[通俗易懂]一般设备分为DCE(数据通信设备)和DTE(数据终端设备)当DCE 和DCE以及DTE和DTE之间相连,也就是同种类型的设备相连时间,我们用交叉线。当DCE和DTE之间相连接,也就是不同种类型的设备相连时间,我们一般使用直通线即不同类型的设备需要更简单的连接,不宜是传输复杂化常见的DCE设备(交换机,集线器,CSU/DSU)常见的DTE设备(终端计算机,路由器)

    2022年6月19日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号