神经网络讲义_第1页
神经网络讲义_第2页
神经网络讲义_第3页
神经网络讲义_第4页
神经网络讲义_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021-7-111 MATLAB 6.x的神经网络工具箱neural network toolbox version 4.x提供了图形用 户界面(graph user inteface , GUI) ,从而 使用户在图形界面上,通过与计算机的交互操 作设计和仿真神经网络,使得神经网络的设计 和仿真变得简单易学. 2021-7-112 8.1.1 8.1.1 图形用户界面简介图形用户界面简介 函数nntool 的详解见附录。在MATLAB 命令 窗口(command window)输入nntool , 即可打 networkdata manager(网络数据管理器窗 补如图8.1 所示。) 2

2、021-7-113 图8.1 图形用户界面 2021-7-114 networkdata manager窗口有7个显示区和 2个按钮区; ( 1 ) Inputs区域:显示用户指定的输入向量变 量名。 ( 2 ) Targets 区域:显示用户指定的目标向量 变量名。 ( 3 ) Input Delay State区域:显示用户指定的 输入延迟参数变量名。 2021-7-115 ( 4 ) Networks区域:显示用户定义的网络名 ( 5 ) Outputs区域:显示网络的输出向量变量名。 ( 6 ) Errors区域:显示网络的训练误差变量名。 ( 7 ) Layer Delay Stat

3、es区域显示用户指定的网 络层延迟参数变量名。 ( 8 )Networks and Data 按钮区 2021-7-116 Help按钮:单击该按钮,弹出Network / Data Manager Help 窗口,为用户使用Net - work/Data Manager 提供帮助。 New Data 按钮:单击该按钮,弹出 Create New Data窗口,在该窗口可以定义各种 数据类型的变量名和数据值(Value)。 New Network 按钮:单击该按钮,弹 出Create New Network 窗口,在该窗口可以定 义神经网络名称、神经网络类型及其网络对象 和子对象属性参数等。

4、2021-7-117 Import 按钮:单击该按钮,弹出Import or Load Network/Data Manager窗口,可以通 过该窗口从命令窗口或磁盘文件导人神经网络 或数据。 Export 按钮:单击该按钮,弹出Export or Save from Network/Data Manager窗口,可 以将Network/Data Manager窗口的变量导出到 命令窗口或存人磁盘文件中。 View按钮:先选中显示区域的变量名或网 络名,单击View 按钮,则弹出一个新的窗口,在 该窗口中显示选中的变量或网络的具体内容。 Delete 按钮:先选中显示区域的变量名 或网络名,单

5、击Ddete按钮,则删除选中的变量 或网络。 2021-7-118 (9) Networks only按钮区:先选中显示区域 的网络名,单击该区域的任意一个按钮,则弹出 一个新的窗口(Network:网络名),在该窗口中, 可以查看网络的结构示意图,查看权值/阈值, 设置网络的初始化值、训练参数、自适应调整 参数和仿真参数,并可对定义的神经网络进行 初始化、训练、自适应调整、仿真等。 2021-7-119 8.1.2 8.1.2 图形用户界面应用示例图形用户界面应用示例 仍以例6.1的模式分类问题为例,将待分类模 式重画于图8.2 中。据例6.1 的分析,网络结 构重画于图8.3 中。第1层有

6、5个神经元,第2 层有1个神经元。 训练样本集为 1124 2110 t0.2 p, , 2021-7-1110 以图形用户界面设计上述神经网络的具体方 法如下: 图8.2 待分类模式 2021-7-1111 输入 第一层 第二层 图8.3 两层BP 网络 (l)在MATLAB命令窗口键人nntool,打开 Network/Data Manager窗口。 (2)创建神经网络 单击New Network 按钮, 弹出Create New Network 窗口,如图8.4所示。 2021-7-1112 图8.4 Create New Network 窗口 2021-7-1113

7、输入网络名(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 of layers ) : 2 ; 2021-7-1114 确定各网络层的属性(Prop

8、erties for ) : Layer1 神经元数(Number of neurons )为5 , 传输函数(Transfer function )为LOGSIG ; Layer2 神经元数(Number of neurons )为1 , 传输函数(Transfer function )为LOGSIG 。 单击View 按钮可以查看以上定义的网络结 构,如图8.5所示 2021-7-1115 图8.5 View of New Network 窗口 2021-7-1116 单击Create 按钮,关闭Create New Network 窗口,回到Network/Data Manager窗口,

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

10、向量 名 ,选中该输入向量名,单击该窗口的View 按钮, 弹出数据(Data)窗口,在该窗口可以查看到该输入 向量的值,并可以修改数据值。 p 1 -1 -2 -4 2 1 1 0; 2021-7-1118 确定训练样本的目标向量。按照与输入向量同 样的方法可以确定目标向量,只是选择数据类型为 Targets,输入向量名为 ,数据值为 训练网络。在Network/Data Manager 窗口选 中网络名Demonet,单击Train 按钮,则弹出 Network:Demonet窗口,如图8.8 所示。 t 0.2 0.8 0.8 0.2 2021-7-1119 图8.6 Create Ne

11、w Data 窗口 2021-7-1120 图8.7 Create New Data 窗口 2021-7-1121 图8.8 Network 窗口 2021-7-1122 可以看出,该窗口为一个多页面对话框,在 Train 页面有3个子页面: Training lnfo 在该子页面将划训练数据 (Training Data)的输入向量(Inputs )选择为 p,目标向量(Targets)选择为t;训练结果 (Training Results)的输出变量(outputs ) 和误差性能变量(Errors)采用系统自动生成的 Demonet _ output,和Demonet _ errors,

12、当然 它们也可以由用户重新定义。 2021-7-1123 TrainingParameters 在该子页面可以设置训练 的各种参数,这要根据具体训练和学习函数进行 确定,相关内容可参看各神经网络模型的训练和 学习算法。本例采用其默认值即可。 Optional lnfo 该子页面用以确定在训练时是否 采用确认样本和测试样本,本例均不采用。 2021-7-1124 以上过程完成后,单击该页面的Train Network按钮,开始训练,其训练过程如图8.9所 示。 图8.9 训练误差性能曲线 2021-7-1125 训练完成后,在Network/Data Manager窗口 可以看到,在Output

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

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

15、t窗口的Simulate页面 2021-7-1129 图8.11 仿真结果数据 2021-7-1130 8.1.3 图形用户界面的其他操作图形用户界面的其他操作 1网络变量的导出和存盘 在Network / Data Manager 窗口单击 Export按钮,则弹出Export or Save from Net work/Data Manager窗口,如图8.12 所示。 2021-7-1131 (1)将Network/Data Manager窗口的网络变 量导出到命令窗口。 先选择要导出的变量,当选择单个变量时,直 接用鼠标单击变量名即可;当选择多个变量时, 同时按住Ctrl 键;当选择所

16、有变量时,单击Select all 按钮。选择完成后,单击Export按钮,即可将 选择的变量导出到命令窗口。 2021-7-1132 (2)将Net work/Data Manager窗口的网络变 量存入磁盘文件。 选择要存储的变量,方法同上,然后单击save 按钮,弹出save to a MAT file对话框,用户可以 选择存储的路径,并输入存储文件名,按保存按 钮,即可将选择的变量存入指定的磁盘文件中。 2021-7-1133 图8.12 导出数据窗口导出数据窗口 2021-7-1134 需要注意的有两点: 文件名及路径名不能是汉字,否则将导致存 储失败。 除了网络名,其他数据变量都是

17、以细胞矩阵 的形式存储的,在从该文件重新导入Network/ Data Manager窗口时,以细胞矩阵的形式存储 的变量往往不能直接作为各种数据加载。在这 种情况下,用户可先用load 命令,将其加载到 MATLAB 命令窗口,将细胞矩阵转换为普通矩 阵形式后,再从命令窗口导入Network/ Data Manager 窗口。 2021-7-1135 2网络变量的导入和读取网络变量的导入和读取 (1)将命令窗口变量导人Network/Data Manager 窗口 先在命令窗口定义网络和数据变量,然后在 Network/Data Manager窗口单击Import按钮, 则弹出Import

18、or Load to Network/Data Manager窗口,如图8.13 所示。 2021-7-1136 命令窗口定义的网络名和数据变量名将显 示在导人数据窗口的Select a Variable区域,用 户可以从中选择一个变量,若选择的变量数据与 Network/Data Manager窗口要求的网络 (Networks)或其他数据类型(Inputs, Targets等) 相匹配,则在窗口的Destination 区域的单选按 钮以及Import 按钮将从“禁止”变为“允许” 状态。在Name 编辑框中输入用户在Network / DataManage:窗口使用的变量名(当然也可以

19、与选择的变量名一样),单击单选按钮选择用户 2021-7-1137 需要导入的选项,然后单击Import按钮,即可将 命令窗口定义的网络或变量导入Network/Data Manager窗口。 若选择的变量数据与Network/Data Manage: 窗口要求的数据类型都不匹配,则在Destination 区域的单选按钮以及Import,按钮均为“禁止” 状态,此时,选中的变量将无法导入 Network/Data Manager窗口。 2021-7-1138 图8.13 导入数据窗口 2021-7-1139 (2)将文件中的变量导入Network/Data Manager窗口 若在Netwo

20、rk/Data Manager窗口单击import 按钮,则弹出lmport or Load to Net- work/Data Manager窗口,如图8.12所示。在Source区域, 单击单选按钮的Load from disk file项,则MAT- file Name编辑框和Browse按钮从“禁止”变 为“允许”状态。此时,可以直接在MAT-file Name编辑框输入源文件名,或单击Browse 按 钮,从弹出的文件Select MAT file对话框中,选择 源文件名则选择源文件存储的变量将显示在 Select a Variable 区域。将显示变量导人 Network/Data

21、 Manager窗口的方法同1。 2021-7-1140 需要注意的是,源文件名及路径名不能是汉 字,否则导致读取文件失败。 本章介绍了MATLAB 神经网络工具箱的图 形用户界面,为尚不熟悉以MATLAB 编程进行 神经网络设计与仿真的用户提供了一个非常好 的交互式图形界,使得神经网络的设计和仿真变 得轻而易举。 到目前为止,所讨论的仿真都是基于编程实 现的,而MATLAB 还提供了系统动态仿真工具 箱Simuhnk,利用神经网络仿真模型库可以以模 块方式实现神经网络的动态仿真。 2021-7-1141 8.2 Simulink 仿真工具箱 MATLAB Simulink称之为系统动态仿真工

22、 具箱,其实它是一个软件包,利用该软件包,用户 可以对系统进行建模、仿真和对输出随时间变 化的系统进行分析。Simulink 还广泛应用于现 实世界动态系统的研究,包括电子电路、减震器、 制动系统等电子、机械、热力学等系统。 Simuhnk神经网络仿真模型库只是Simulink 众 多模型库中很少的一部分,关于Simulink 的一 般应用方法,读者可参阅其他MATLAB 参考书。 2021-7-1142 8.2.1 simulink 神经网络仿真模型库简介神经网络仿真模型库简介 在MATLAB 命令窗口,输入neural 即可打开 神经网络仿真模型库(Library : neural )窗口

23、,如 图8.14所示。 2021-7-1143 图8.14 神经网络仿真模型库 2021-7-1144 当然,也可在MATLAB命令窗口输入Simulink, 打开Simulink模型库浏览器(Simulink Library Browser ),通过选择左边的树型目录,在窗口右 边浏览神经网络仿真模型库,如图8.15所示。 图8.15 2021-7-1145 图8.16 2021-7-1146 Simulink 神经网络仿真模型库包含4个模块: 传输函数(Transfer Functions)模块、网络输入 函数(Net Input FunctionS)模块、权值函数 (Weight Fun

24、ctions)模块和控制系统(Control Systems)模块。 2021-7-1147 图8.17 Simulink 模型库浏览器 2021-7-1148 1.Transfer Functions 模块模块 双击Library: neural窗口中的Transfer Functions模块,弹出Library:neural/ Transfer Functions窗口,如图8.18所示。 可通过Simulink Library Browser浏览 Transfer Functions模块,可以通过左边的树型 目录选择,也可以双击右边显示出的Transfer Functions模块,读者自行

25、操作体会,本书不再赘 述。 图8.18中的12个传输函数模块中,只有1个 输入端和1个输出端,分别可以接受1个网络输 入向量和产生1个相应的输出向量,输入输出向 量的规模是一致的。 2021-7-1149 2.Net Input Functioris 模块模块 双击Library:neural 窗口中的Net Input Function、模块,弹出Library: neural/Net Input Functions窗口,如图8.19所示。 2021-7-1150 图8.18 传输函数模块 2021-7-1151 图8.19 网络输入函数模块 2021-7-1152 网络输入函数只有2个模块

26、,每个模块有2个 输入端和1个输出端,其中一个输入端接受加权 输入向量,另一个输入端接受加权阈值向量,输 出端则输出加权结果。 2021-7-1153 3. Weight Functions 模块模块 双击Library: neural窗口中的Weight Functions模块,弹出Library: neural/ Weight FunCtions窗口,如图8.20所示。 图8.20 权值函数模块 2021-7-1154 权值函数有4个模块,每个模块有2个输入端和 1个输出端,其中一个输入端接受权值向量,另一 个输入端接受输入向量(或某个网络层的输出 向量),输出端则输出以权值函数计算的结果

27、。 值得注意的是,在权值函数模块中,神经元的 权值向量必须定义成列向量,因为Simulink 的 信号只能是列向量,而不能是矩阵或行向量。 2021-7-1155 正因为如此,所以对于具有 个神经元的 网络层,必须采用 个权值函数模块(一行一 个),才能实现该网络层的仿真。这一点与网 络输入函数模块和传输函数模块是明显不 同的,对一个网络层,不管有几个神经元,都只 需要一个网络输入函数模块和一个传输函 数模块。 S S 2021-7-1156 4 . Control Systems 模块模块 双击Library:neural窗口中的Control Systems模块,弹出Library:neu

28、ral/Control Systems窗口,如图8.18 所示。 图8.21 控制系统模块 2021-7-1157 控制系统有4个模块,前3个模块是控制器,最 后一个模块是示波器。关于控制系统模块的应 用,可参考其他书籍。 2021-7-1158 Help按钮:单击该按钮,弹出Network / Data Manager Help 窗口,为用户使用Net - work/Data Manager 提供帮助。 New Data 按钮:单击该按钮,弹出 Create New Data窗口,在该窗口可以定义各种 数据类型的变量名和数据值(Value)。 New Network 按钮:单击该按钮,弹 出Create New Network 窗口,在该窗口可以定 义神经网络名称、神经网络类型及其网络对象 和子对象属性参数等。 2021-7-1159 以图形用户界面设计上述神经网络的具体方 法如下: 图8.2 待分类模式 2021-7-1160 可以看出,该窗口为一个多页面对话框,在 Train 页面有3个子页面: Training lnfo 在该子页面将划训练数据 (Training Data)的输入向量(In

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论