Matlab nntool 应用实例
在MATLAB命令窗口中键入nntool再按enter,会自动弹出下面的Network/Data Manager窗口画面
Inputs:输入值
Targets:目标输出值
Input Delay States:输入值欲延迟时间
Networks:已建构的网络
Outputs:输出值
Errors:误差值
Layer Delay States:输出值欲延迟时间
Networks and Data
[Help]:有关于此工具箱各个按钮的说明
[New Data...]:建立新网络所须输出入值、目标值、误差、延迟
[New Network...]:建立新网络的类型、训练函数、学习函数、隐藏层层数等
[Import...]:汇入数据与网络
[Export...]:汇出数据与网络
[View]:开启所选取的数据或网络
[Delete]:移除所选取的数据或网络
Networks only
[Initialize...]:初始所选取的网络
[Simulate...]:仿真所选取的网络
[Train...]:训练所选取的网络
[Adapt...]:适应训练所选取的网络
下面以倒传递网络作为例子说明nntool使用方式,共分成九个步骤
将原始数据加载MATLAB
将Workspace中的变数汇入nntool
建立网络
网络初始化
训练网络
仿真网络
输出模拟结果
储存模拟结果
加载先前仿真过的网络于nntool
例:网络目标是要根据21种光谱波长的测量值来预测三种不同血浆胆固醇(ldl、hdl和vldl)的高度。此网络的架构为21-15-3,它在隐藏层中具有tansig神经元,输出层具有线性神经元。
将原始数据加载MATLAB
在MATLAB命令窗口键入load choles_all来将实验数据加载,接着再键入who可以查看目前MATLAB工作空间中所有的变量名称,如图1所示。点选workspace中可看到变量p是一个21x264的矩阵,表示有21个输入,264组数据;变量t是一个3x264的矩阵,表示有3个输出,264组数据,使用鼠标右键Open Selection可察看变量的所有数据,如图2、图3所示。图1?step1操作画面
图2?变量p所有数据
图3?变量t所有数据
将Workspace中的变数汇入nntool
点选Network/Data Manager窗口中的Import按钮,可以开启如图4的窗口,在此窗口中点选变量p,将其设定为网络的Inputs,接着点选Import按钮;再点选变量t,将其设定为网络的Targets,接着点选Import按钮。完成上述步骤后,在Network/Data Manager窗口中可看到p位于Inputs栏框内,t位于Targets栏框内,如图5所示。
图4?点选Import按钮所出现的窗口,目前动作是选取p当做网络的输入
???????????????????? 图5?将p与t汇入nntool的成功画面
建立网络
点选Network/Data Manager窗口中的New Network按钮,可以进入建立网络的窗口,如图6、图7所示。设定完成后点选Create按钮建立网络,在Network/Data Manager窗口中的Networks栏框内会出现test的网络名称(设定网络时可自订名称),如图8所示。此时,可点选Network/Data Manager窗口中的View按钮可观看网络的架构图,如图9所示。
Network Name:输入网络名称,如test。
Network Type:网络类型,如Feed-forward backprop(前馈倒传递)。
Input ranges:输入的范围,如Get from input p,由下拉式选单选取。
Training function:训练函数,如TRAINLM(LM算法)。
Adaption learning function:适应性学习函数,如LEARNGDM(具动量的梯度下降法)
Performance function:性能函数,如MSE(均方误差)。
Number of layers:隐藏层的层数,如 2。
Properties for:由下拉式选单选取欲进行设定的隐藏层,如Layer 1。
Number of neurons:隐藏层1中神经元的数目,如 15。
Transfer function:隐藏层1所使用的转移函数类型,如TANSIG。
图6?建立网络的窗口,目前动作为设定隐藏层1的性质