MATLAB中神经网络工具箱的使用

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

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

MATLAB中神经网络工具箱的使用_第1张图片

 

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

 

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

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

MATLAB中神经网络工具箱的使用_第2张图片

 

图2 导入输入数据集

MATLAB中神经网络工具箱的使用_第3张图片

 

图3 导入期望输出数据集

 

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

MATLAB中神经网络工具箱的使用_第4张图片

图4 导入数据后的情况

 

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

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

MATLAB中神经网络工具箱的使用_第5张图片

图5 神经网络模型设置

 

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

MATLAB中神经网络工具箱的使用_第6张图片

图6 神经网络结构预览

 

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

MATLAB中神经网络工具箱的使用_第7张图片

图7 回到主界面

 

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

MATLAB中神经网络工具箱的使用_第8张图片

图8 神经网络界面

 

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

MATLAB中神经网络工具箱的使用_第9张图片

图9 模型主要信息设置

MATLAB中神经网络工具箱的使用_第10张图片

图10 模型具体参数设置

 

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

MATLAB中神经网络工具箱的使用_第11张图片

图11 训练结果反馈

 

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

MATLAB中神经网络工具箱的使用_第12张图片

图12 验证数据导入后

MATLAB中神经网络工具箱的使用_第13张图片

 

图13 验证参数设置

 

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

MATLAB中神经网络工具箱的使用_第14张图片

图 14 提示界面

 

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

MATLAB中神经网络工具箱的使用_第15张图片

图15 网络验证结果

 

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

重要说明:

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

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

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

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(MATLAB中神经网络工具箱的使用)