MATLAB中神经网络工具箱的使用「建议收藏」

MATLAB中神经网络工具箱的使用「建议收藏」今夕何夕兮,前些天把玩了一下MATLAB中神经网络工具箱的使用,忽有“扪参历井仰胁息”之感。别的倒是没什么,只是神经网络的数据组织结构有些“怪异”,要是不小心就会导致工具箱报错。以下便是神经网络工具箱的正确打开姿势,谨供诸君参考:1.打开MATLAB,在命令行输入nntool,将出现如下界面:图1神经网络工具箱主界面其中最主要的分为6个部分:第1部分中显示的是系统的输…

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

今夕何夕兮,前些天把玩了一下MATLAB中神经网络工具箱的使用,忽有“扪参历井仰胁息”之感。别的倒是没什么,只是神经网络的数据组织结构有些“怪异”,要是不小心就会导致工具箱报错。以下便是神经网络工具箱的正确打开姿势,谨供诸君参考:

1.打开MATLAB,在命令行输入nntool,将出现如下界面:

MATLAB中神经网络工具箱的使用「建议收藏」

 

图1 神经网络工具箱主界面

 

其中最主要的分为6个部分:第1部分中显示的是系统的输入数据;第2部分是系统的期望输出;第3部分是网络的计算输出;第4部分是网络的误差,即2和3之间的差异;第5部分呈现的是已经建立的神经网络实例;第6部分的两个按钮分别负责数据的导入和网络模型的建立。

2.点击“Import”按钮,分别导入输入数据与目标输出数据(数据可从工作区导入,也可从文件导入):

MATLAB中神经网络工具箱的使用「建议收藏」

 

图2 导入输入数据集

MATLAB中神经网络工具箱的使用「建议收藏」

 

图3 导入期望输出数据集

 

导入数据后主界面的情况如下:

MATLAB中神经网络工具箱的使用「建议收藏」

图4 导入数据后的情况

 

重要说明:神经网络的数据是以列为基本单位的,即输入与输出数据的列数必须相同,否则将报错!如果原先数据是以行为单位组织的话,可以先在MATLAB中实现转置然后再导入,即B = A’。

3.现在需要的数据已经有了,下一步就是建立一个神经网络模型对数据集进行学习。以下步骤以BP网络为例,首先点击“New”按钮,出现如下界面:

MATLAB中神经网络工具箱的使用「建议收藏」

图5 神经网络模型设置

 

几个重要部分已在上图中框出:1处用于定义该神经网络的名称;2处用于选择神经网络的类型;3处用于选择网络的输入数据;4处用于确定网络的期望输出数据;5、6、7处分别对神经网络的主要机制函数进行设置;8处设置网络层数;9处用于选择各网络层(需要说明的是:第1层指的是隐含层而不是输入层),从而在10和11处可以对该层的神经元个数和传递函数进行设置;12处按钮可以用于查看当前所设置的神经网络的结构图(下附图);点击13处按钮即可生成对应的神经网络模型。前面只是简单地介绍了各个部分的作用,具体参数应该如何设置就只有各位自行去学习相关的文献了,此处不再多言。

MATLAB中神经网络工具箱的使用「建议收藏」

图6 神经网络结构预览

 

4.现在模型和数据都有了,下一步该进行模型的训练了。回到主界面如下:

MATLAB中神经网络工具箱的使用「建议收藏」

图7 回到主界面

 

选中我们刚才建立的神经网络模型,然后点击“Open”按钮,将会出现如下界面:

MATLAB中神经网络工具箱的使用「建议收藏」

图8 神经网络界面

 

在这里主要介绍两个选项卡中的内容,一个是“Train”,另一个是“Adapt”。点击“Train”选项卡后做相应的设置即可进行神经网络的训练:

MATLAB中神经网络工具箱的使用「建议收藏」

图9 模型主要信息设置

MATLAB中神经网络工具箱的使用「建议收藏」

图10 模型具体参数设置

 

设置完所有信息后点击“TrainNetwork”按钮即可进行网络的训练了。训练完成后会有一个结果信息界面,如下:

MATLAB中神经网络工具箱的使用「建议收藏」

图11 训练结果反馈

 

5.OK,现在模型训练也结束了,那么下一步自然是要来验证我们训练的模型。先导入验证输入和验证输出,这一步不再重提。然后来到模型验证界面:

MATLAB中神经网络工具箱的使用「建议收藏」

图12 验证数据导入后

MATLAB中神经网络工具箱的使用「建议收藏」

 

图13 验证参数设置

 

红框1中设置网络的输入和验证输出;2中设置网络输出和误差情况的存储名;这些都完成之后点击“Adapt Network”后即可。此后会出现如下的提示界面:

MATLAB中神经网络工具箱的使用「建议收藏」

图 14 提示界面

 

接下来再回到神经网络主界面如下:

MATLAB中神经网络工具箱的使用「建议收藏」

图15 网络验证结果

 

此时界面中会多出红框所框出的两组数据,它们分别是网络的输出与对应的输出误差。具体的数据可以通过双击它们来打开查看。

重要说明:

神经网络的输入和输出数据要求每列为一个样本,按平常的习惯可能需要转置一下。

否则可能会报输入/输出样本数量不同的错误。

如果出现“input data size does not match net.inputs{1}.size”错误,那是因为创建神经网络是设定的输入个数与样本数据的输入个数不同而引起的,重新创建合适的神经网络即可。

 

 

 

 

 

 

 

 

 

 

 

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

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

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


相关推荐

  • 解除80端口占用_443端口和80端口被占用

    解除80端口占用_443端口和80端口被占用有朋友问到,我本地phpnow,想使用80端口,但是每次都提示端口占用,有什么办法可以解决,那么最模板找出相关资料,提示如下:开始–运行–cmd进入命令提示符输入netstat-ano即可看到所有连接的PID之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选”查看”-“选择列”经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,…

    2022年7月27日
    4
  • 从单片机到ARM Linux驱动——Linux驱动入门篇

    从单片机到ARM Linux驱动——Linux驱动入门篇大一到大二这段时间里学习过单片机的相关知识,对单片机有一定的认识和了解。如果要深究其原理可能还差了一些火候。知道如何编写程序来点量一个LED灯,改一改官方提供的例程来实现一些功能做一些小东西,对IIC、SPI底层的通信协议有一定的了解,但是学着学着逐渐觉得单片机我也就只能改改代码了(当然有的代码也不一定能改出来)。对于我这种以后只想搬砖的码农来说已经差不多了(仅仅是个人观点),…

    2022年7月14日
    14
  • CentOS7 yum 安装 maven「建议收藏」

    CentOS7 yum 安装 maven「建议收藏」CentOS-7yum安装mavenCentOS-7设置为阿里云yum源rm-rf/etc/yum.repos.d/*curl-o/etc/yum.repos.d/Centos-7.repohttp://mirrors.aliyun.com/repo/Centos-7.repocurl-o/etc/yum.repos.d/epel-7.repohttp://mirrors.aliyun.com/repo/epel-7.repo安装mavenyum-yinsta.

    2022年5月12日
    28
  • Java——图书借阅系统「建议收藏」

    **项目需求:**为图书阅览室开发一个图书借阅系统,最多可存50本书,实现图书的管理。图书借阅系统具备以下功能:1.查看图书信息菜单选择查看功能,展示当前所有图书的相关信息,效果如下。case2: System.out.println(“—>查看图书”); System.out.println(“序号\t状态\t名称\t\t借出日期”); for(…

    2022年4月18日
    111
  • java数组去重「建议收藏」

    java数组去重「建议收藏」1、背景根据不同的业务逻辑,经常会遇到数组中存在多个重复元素的场合,总结了下数组的排序,留个记录。2、实现方法总结了四种方法,接下来进行展示1、方法一[java] viewplain copy               //数组去重方法一  String[] array 

    2022年6月15日
    24
  • 03LaTeX学习系列之—TeXworks的使用

    03LaTeX学习系列之—TeXworks的使用

    2021年7月2日
    59

发表回复

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

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