神经网络讲义第8章.ppt

上传人:牧羊曲112 文档编号:6326245 上传时间:2023-10-17 格式:PPT 页数:59 大小:3.99MB
返回 下载 相关 举报
神经网络讲义第8章.ppt_第1页
第1页 / 共59页
神经网络讲义第8章.ppt_第2页
第2页 / 共59页
神经网络讲义第8章.ppt_第3页
第3页 / 共59页
神经网络讲义第8章.ppt_第4页
第4页 / 共59页
神经网络讲义第8章.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《神经网络讲义第8章.ppt》由会员分享,可在线阅读,更多相关《神经网络讲义第8章.ppt(59页珍藏版)》请在三一办公上搜索。

1、2023/10/17,1,第八章 神经网络工具库介绍,2023/10/17,2,8.1图形用户界面 前面儿章介绍了MATLAB神经网络工具箱的各种函数,这些函数是神经网络仿真程序设计的基础,可以给用户以充分的开发空间按照自己的构想设计各种神经网络。但对于程序设计或神经网络工具箱函数不是很熟悉的用户来说,要快捷、方便、正确地设计一个神经网络是非常困难的。,2023/10/17,3,MATLAB 6.x的神经网络工具箱neural network toolbox version 4.x提供了图形用户界面(graph user inteface,GUI),从而使用户在图形界面上,通过与计算机的交互操

2、作设计和仿真神经网络,使得神经网络的设计和仿真变得简单易学.,2023/10/17,4,8.1.1 图形用户界面简介 函数nntool 的详解见附录。在MATLAB 命令窗口(command window)输入nntool,即可打networkdata manager(网络数据管理器窗补如图8.1 所示。),2023/10/17,5,图8.1 图形用户界面,2023/10/17,6,networkdata manager窗口有7个显示区和2个按钮区;(1)Inputs区域:显示用户指定的输入向量变量名。(2)Targets 区域:显示用户指定的目标向量变量名。(3)Input Delay St

3、ate区域:显示用户指定的输入延迟参数变量名。,2023/10/17,7,(4)Networks区域:显示用户定义的网络名(5)Outputs区域:显示网络的输出向量变量名。(6)Errors区域:显示网络的训练误差变量名。(7)Layer Delay States区域显示用户指定的网 络层延迟参数变量名。(8)Networks and Data 按钮区,2023/10/17,8,Help按钮:单击该按钮,弹出Network/Data Manager Help 窗口,为用户使用Net-work/Data Manager 提供帮助。New Data 按钮:单击该按钮,弹出Create New D

4、ata窗口,在该窗口可以定义各种数据类型的变量名和数据值(Value)。New Network 按钮:单击该按钮,弹出Create New Network 窗口,在该窗口可以定义神经网络名称、神经网络类型及其网络对象和子对象属性参数等。,2023/10/17,9,Import 按钮:单击该按钮,弹出Import or Load Network/Data Manager窗口,可以通过该窗口从命令窗口或磁盘文件导人神经网络或数据。Export 按钮:单击该按钮,弹出Export or Save from Network/Data Manager窗口,可以将Network/Data Manager窗

5、口的变量导出到命令窗口或存人磁盘文件中。View按钮:先选中显示区域的变量名或网络名,单击View 按钮,则弹出一个新的窗口,在该窗口中显示选中的变量或网络的具体内容。Delete 按钮:先选中显示区域的变量名或网络名,单击Ddete按钮,则删除选中的变量或网络。,2023/10/17,10,(9)Networks only按钮区:先选中显示区域的网络名,单击该区域的任意一个按钮,则弹出一个新的窗口(Network:网络名),在该窗口中,可以查看网络的结构示意图,查看权值/阈值,设置网络的初始化值、训练参数、自适应调整参数和仿真参数,并可对定义的神经网络进行初始化、训练、自适应调整、仿真等。,

6、2023/10/17,11,8.1.2 图形用户界面应用示例 仍以例6.1的模式分类问题为例,将待分类模式重画于图8.2 中。据例6.1 的分析,网络结构重画于图8.3 中。第1层有5个神经元,第2 层有1个神经元。训练样本集为,2023/10/17,12,以图形用户界面设计上述神经网络的具体方法如下:图8.2 待分类模式,2023/10/17,13,输入 第一层 第二层 图8.3 两层BP 网络(l)在MATLAB命令窗口键人nntool,打开 Network/Data Manager窗口。(2)创建神经网络 单击New Network 按钮,弹出Create New Network 窗口,

7、如图8.4所示。,2023/10/17,14,图8.4 Create New Network 窗口,2023/10/17,15,输入网络名(network name):demonet;选择网络类型(network name):feed-forward backprop;确定输入向量的取值范围(Input ranges)-4 1;0 2;选择训练函数(Training function):TRAINLM;选择自适应调整学习函数(Adaption learning function):LEARNGDM;选择误差性能函数(Perf。rmance function):MSE;确定网络层数(Number

8、 of layers):2;,2023/10/17,16,确定各网络层的属性(Properties for):Layer1 神经元数(Number of neurons)为5,传输函数(Transfer function)为LOGSIG;Layer2 神经元数(Number of neurons)为1,传输函数(Transfer function)为LOGSIG。单击View 按钮可以查看以上定义的网络结构,如图8.5所示,2023/10/17,17,图8.5 View of New Network 窗口,2023/10/17,18,单击Create 按钮,关闭Create New Netwo

9、rk 窗口,回到Network/Data Manager窗口,可以看到在Networks区域显示出建立的网络名 Demonet,选中该网络名,单击该窗口的View 按钮也可以查看到如图,8.5所示的网络结构。,2023/10/17,19,(3)训练网络 确定训练样本的输入向量。在Network Data Manager 窗口单击New Data 按钮,弹出Create New Data窗口,选择数据类型为Inputs,输入向量名(Name)为p,其值(Value)为 如图8.6 所示。然后单击Create 按钮,关闭Create New Data窗口,回到Network/Data Manage

10、r窗口。可以看到在Inputs 区域显示出输入向量名,选中该输入向量名,单击该窗口的View 按钮,弹出数据(Data)窗口,在该窗口可以查看到该输入向量的值,并可以修改数据值。,2023/10/17,20,确定训练样本的目标向量。按照与输入向量同样的方法可以确定目标向量,只是选择数据类型为Targets,输入向量名为,数据值为 训练网络。在Network/Data Manager 窗口选中网络名Demonet,单击Train 按钮,则弹出Network:Demonet窗口,如图8.8 所示。,2023/10/17,21,图8.6 Create New Data 窗口,2023/10/17,2

11、2,图8.7 Create New Data 窗口,2023/10/17,23,图8.8 Network 窗口,2023/10/17,24,可以看出,该窗口为一个多页面对话框,在Train 页面有3个子页面:Training lnfo 在该子页面将划训练数据(Training Data)的输入向量(Inputs)选择为p,目标向量(Targets)选择为t;训练结果(Training Results)的输出变量(outputs)和误差性能变量(Errors)采用系统自动生成的Demonet _ output,和Demonet _ errors,当然它们也可以由用户重新定义。,2023/10/1

12、7,25,TrainingParameters 在该子页面可以设置训练的各种参数,这要根据具体训练和学习函数进行确定,相关内容可参看各神经网络模型的训练和学习算法。本例采用其默认值即可。Optional lnfo 该子页面用以确定在训练时是否采用确认样本和测试样本,本例均不采用。,2023/10/17,26,以上过程完成后,单击该页面的Train Network按钮,开始训练,其训练过程如图8.9所示。图8.9 训练误差性能曲线,2023/10/17,27,训练完成后,在Network/Data Manager窗口可以看到,在Outputs区域显示出输出变量名Demonet_outputs,在

13、Errors区域显示出误差性能变量名Demonet_ rrors。选中变量名,单击该窗口的View 按钮,则弹出数据(Data)窗口,在该窗口可以查看到该所选中变量的具体数据。,2023/10/17,28,(4)网络仿真在Network/Data Manager窗口选中网络名Demonet,单击simulate 按钮,弹出Network:Demonet窗口,显示Simulate页面,如图8.10所示。将仿真数据选择为p,仿真结果选择为a,单击Simulate Network按钮,则在Network/Data Manager窗口的Outputs,区域显示出输出变量名a,选中该变量名,单击该窗口的

14、View 按钮,弹出数据(Data:a)窗口,在该窗口可以查看仿真结果的具体数据,如图8.11 所示。,2023/10/17,29,可以看出,网络很好地完成了图8.2 所示的两类模式分类问题。当然,可以用训练样本以外的数据进行仿真,此时,需要先在Network/Data Manager窗口建立仿真的输入向量,建立方法与建立训练样本的输入向量相同,然后在Network:Demonet窗口的Simulate 页面选择该仿真的输入向量名,进行仿真。,2023/10/17,30,图8.10 Network:Demonet窗口的Simulate页面,2023/10/17,31,图8.11 仿真结果数据,

15、2023/10/17,32,8.1.3 图形用户界面的其他操作 1网络变量的导出和存盘 在Network/Data Manager 窗口单击Export按钮,则弹出Export or Save from Net work/Data Manager窗口,如图8.12 所示。,2023/10/17,33,(1)将Network/Data Manager窗口的网络变量导出到命令窗口。先选择要导出的变量,当选择单个变量时,直接用鼠标单击变量名即可;当选择多个变量时,同时按住Ctrl 键;当选择所有变量时,单击Select all 按钮。选择完成后,单击Export按钮,即可将选择的变量导出到命令窗口。

16、,2023/10/17,34,(2)将Net work/Data Manager窗口的网络变量存入磁盘文件。选择要存储的变量,方法同上,然后单击save按钮,弹出save to a MAT file对话框,用户可以选择存储的路径,并输入存储文件名,按保存按钮,即可将选择的变量存入指定的磁盘文件中。,2023/10/17,35,图8.12 导出数据窗口,2023/10/17,36,需要注意的有两点:文件名及路径名不能是汉字,否则将导致存储失败。除了网络名,其他数据变量都是以细胞矩阵的形式存储的,在从该文件重新导入Network/Data Manager窗口时,以细胞矩阵的形式存储的变量往往不能直

17、接作为各种数据加载。在这种情况下,用户可先用load 命令,将其加载到MATLAB 命令窗口,将细胞矩阵转换为普通矩阵形式后,再从命令窗口导入Network/Data Manager 窗口。,2023/10/17,37,2网络变量的导入和读取(1)将命令窗口变量导人Network/Data Manager窗口 先在命令窗口定义网络和数据变量,然后在Network/Data Manager窗口单击Import按钮,则弹出Import or Load to Network/Data Manager窗口,如图8.13 所示。,2023/10/17,38,命令窗口定义的网络名和数据变量名将显示在导人数

18、据窗口的Select a Variable区域,用户可以从中选择一个变量,若选择的变量数据与Network/Data Manager窗口要求的网络(Networks)或其他数据类型(Inputs,Targets等)相匹配,则在窗口的Destination 区域的单选按钮以及Import 按钮将从“禁止”变为“允许”状态。在Name 编辑框中输入用户在Network/DataManage:窗口使用的变量名(当然也可以与选择的变量名一样),单击单选按钮选择用户,2023/10/17,39,需要导入的选项,然后单击Import按钮,即可将命令窗口定义的网络或变量导入Network/Data Mana

19、ger窗口。若选择的变量数据与Network/Data Manage:窗口要求的数据类型都不匹配,则在Destination区域的单选按钮以及Import,按钮均为“禁止”状态,此时,选中的变量将无法导入Network/Data Manager窗口。,2023/10/17,40,图8.13 导入数据窗口,2023/10/17,41,(2)将文件中的变量导入Network/Data Manager窗口 若在Network/Data Manager窗口单击import 按钮,则弹出lmport or Load to Net-work/Data Manager窗口,如图8.12所示。在Source区

20、域,单击单选按钮的Load from disk file项,则MAT-file Name编辑框和Browse按钮从“禁止”变为“允许”状态。此时,可以直接在MAT-file Name编辑框输入源文件名,或单击Browse 按钮,从弹出的文件Select MAT file对话框中,选择源文件名则选择源文件存储的变量将显示在Select a Variable 区域。将显示变量导人Network/Data Manager窗口的方法同1。,2023/10/17,42,需要注意的是,源文件名及路径名不能是汉字,否则导致读取文件失败。本章介绍了MATLAB 神经网络工具箱的图形用户界面,为尚不熟悉以MAT

21、LAB 编程进行神经网络设计与仿真的用户提供了一个非常好的交互式图形界,使得神经网络的设计和仿真变得轻而易举。到目前为止,所讨论的仿真都是基于编程实现的,而MATLAB 还提供了系统动态仿真工具箱Simuhnk,利用神经网络仿真模型库可以以模块方式实现神经网络的动态仿真。,2023/10/17,43,8.2 Simulink 仿真工具箱 MATLAB Simulink称之为系统动态仿真工具箱,其实它是一个软件包,利用该软件包,用户可以对系统进行建模、仿真和对输出随时间变化的系统进行分析。Simulink 还广泛应用于现实世界动态系统的研究,包括电子电路、减震器、制动系统等电子、机械、热力学等系

22、统。Simuhnk神经网络仿真模型库只是Simulink 众多模型库中很少的一部分,关于Simulink 的一般应用方法,读者可参阅其他MATLAB 参考书。,2023/10/17,44,8.2.1 simulink 神经网络仿真模型库简介 在MATLAB 命令窗口,输入neural 即可打开神经网络仿真模型库(Library:neural)窗口,如图8.14所示。,2023/10/17,45,图8.14 神经网络仿真模型库,2023/10/17,46,当然,也可在MATLAB命令窗口输入Simulink,打开Simulink模型库浏览器(Simulink Library Browser),通

23、过选择左边的树型目录,在窗口右边浏览神经网络仿真模型库,如图8.15所示。,图8.15,2023/10/17,47,图8.16,2023/10/17,48,Simulink 神经网络仿真模型库包含4个模块:传输函数(Transfer Functions)模块、网络输入函数(Net Input FunctionS)模块、权值函数(Weight Functions)模块和控制系统(Control Systems)模块。,2023/10/17,49,图8.17 Simulink 模型库浏览器,2023/10/17,50,1.Transfer Functions 模块 双击Library:neural

24、窗口中的Transfer Functions模块,弹出Library:neural/Transfer Functions窗口,如图8.18所示。可通过Simulink Library Browser浏览Transfer Functions模块,可以通过左边的树型目录选择,也可以双击右边显示出的Transfer Functions模块,读者自行操作体会,本书不再赘述。图8.18中的12个传输函数模块中,只有1个输入端和1个输出端,分别可以接受1个网络输入向量和产生1个相应的输出向量,输入输出向量的规模是一致的。,2023/10/17,51,2.Net Input Functioris 模块 双击

25、Library:neural 窗口中的Net Input Function、模块,弹出Library:neural/Net Input Functions窗口,如图8.19所示。,2023/10/17,52,图8.18 传输函数模块,2023/10/17,53,图8.19 网络输入函数模块,2023/10/17,54,网络输入函数只有2个模块,每个模块有2个输入端和1个输出端,其中一个输入端接受加权输入向量,另一个输入端接受加权阈值向量,输出端则输出加权结果。,2023/10/17,55,3.Weight Functions 模块 双击Library:neural窗口中的Weight Func

26、tions模块,弹出Library:neural/Weight FunCtions窗口,如图8.20所示。图8.20 权值函数模块,2023/10/17,56,权值函数有4个模块,每个模块有2个输入端和1个输出端,其中一个输入端接受权值向量,另一个输入端接受输入向量(或某个网络层的输出向量),输出端则输出以权值函数计算的结果。值得注意的是,在权值函数模块中,神经元的权值向量必须定义成列向量,因为Simulink 的信号只能是列向量,而不能是矩阵或行向量。,2023/10/17,57,正因为如此,所以对于具有 个神经元的网络层,必须采用 个权值函数模块(一行一个),才能实现该网络层的仿真。这一点与网络输入函数模块和传输函数模块是明显不同的,对一个网络层,不管有几个神经元,都只需要一个网络输入函数模块和一个传输函数模块。,2023/10/17,58,4.Control Systems 模块 双击Library:neural窗口中的Control Systems模块,弹出Library:neural/Control Systems窗口,如图8.18 所示。图8.21 控制系统模块,2023/10/17,59,控制系统有4个模块,前3个模块是控制器,最后一个模块是示波器。关于控制系统模块的应用,可参考其他书籍。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号