《神经网络与matlab》_第1页
《神经网络与matlab》_第2页
《神经网络与matlab》_第3页
《神经网络与matlab》_第4页
《神经网络与matlab》_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、人人 工工 智智 能能 光电学院 常敏 E-mail: 第十一章第十一章 神经网络与神经网络与 MATLABMATLAB Neural Network Software Program in: Programming language (C+, Java, VB) Neural network package or NN programming tool Tools (shells) incorporate: (MATLAB) Training algorithms Transfer and summation functions May still need to: Program the

2、layout of the database Partition the data (test data, training data) Transfer the data to files suitable for input to an ANN tool MATLABMATLAB神经网络工具箱神经网络工具箱 MATLABMATLAB神经网络工具箱神经网络工具箱 http:/ 美国的美国的Mathwork公司推出的公司推出的MATLAB软件包既软件包既 是一种非常实用有效的科研编程软件环境,又是一种是一种非常实用有效的科研编程软件环境,又是一种 进行科学和工程计算的交互式程序。进行科学和工程

3、计算的交互式程序。MATLAB本身带本身带 有神经网络工具箱,可以大大方便权值训练,减少训有神经网络工具箱,可以大大方便权值训练,减少训 练程序工作量,有效的提高工作效率练程序工作量,有效的提高工作效率. Neural Network Toolbox (MathWorks) http:/ 什么是什么是 SIMULINK是是MATLAB软件的扩展,它是实现动态系统建软件的扩展,它是实现动态系统建 模和仿真的一个模和仿真的一个集成集成开发环境,提供建立系统模型、选择仿开发环境,提供建立系统模型、选择仿 真参数和数值算法、启动仿真程序对该系统进行仿真、设置真参数和数值算法、启动仿真程序对该系统进行仿

4、真、设置 不同的输出方式来观察仿真结果等功能。不同的输出方式来观察仿真结果等功能。 Simulink优点优点 适应面广:包括线性、非线性系统;离散、连续以及混适应面广:包括线性、非线性系统;离散、连续以及混 合系统;合系统;单任务、多任务离散事件系统;单任务、多任务离散事件系统; 交互式、图形化的建模环境交互式、图形化的建模环境:以方块图形式呈现,比较以方块图形式呈现,比较 直观,容易构造,运行速度较快;直观,容易构造,运行速度较快; 仿真精细、贴近实际。仿真精细、贴近实际。 SIMULINK 的启动与退出的启动与退出 SIMULINK 的启动的启动 在在MATLAB的命令窗口输入的命令窗口输

5、入simulink 单击单击MATLAB主窗口工具栏上的主窗口工具栏上的Simulink命令按钮命令按钮 MATLABMATLAB的神经网络工具箱简介的神经网络工具箱简介 l 构造典型神经网络的激活函数,使设计者对所选构造典型神经网络的激活函数,使设计者对所选 网络输出的计算变成对激活函数的调用。网络输出的计算变成对激活函数的调用。 l 根据各种典型的修正网络权值的规则,再加上网根据各种典型的修正网络权值的规则,再加上网 络的训练过程,利用络的训练过程,利用matlab编写各种网络设计和训练编写各种网络设计和训练 的子程序。的子程序。 l 设计人员可以根据自己的需要去调用工具箱中有设计人员可以

6、根据自己的需要去调用工具箱中有 关的设计和训练程序,将自己从繁琐的编程中解脱出关的设计和训练程序,将自己从繁琐的编程中解脱出 来,提高工作效率。来,提高工作效率。 目前,神经网络工具箱中提供的神经网络模型主目前,神经网络工具箱中提供的神经网络模型主 要应用于:要应用于: l 函数逼近和模型拟合函数逼近和模型拟合 l 信息处理和预测信息处理和预测 l 神经网络控制神经网络控制 l 故障诊断故障诊断 神经网络实现的具体操作过程:神经网络实现的具体操作过程: 确定信息表达方式;确定信息表达方式; 网络模型的确定;网络模型的确定; 网络参数的选择;网络参数的选择; 训练模式的确定;训练模式的确定; 网

7、络测试网络测试 确定信息表达方式:确定信息表达方式: 将领域问题抽象为适合于网络求解所能接受的将领域问题抽象为适合于网络求解所能接受的 某种数据形式。某种数据形式。 问题形式的种类:问题形式的种类: l 数据样本已知;数据样本已知; l 数据样本之间相互关系不明确;数据样本之间相互关系不明确; l 输入输入/输出模式为连续的或者离散的;输出模式为连续的或者离散的; l 输入数据按照模式进行分类,模式可能会输入数据按照模式进行分类,模式可能会 具有平移、旋转或者伸缩等变化形式;具有平移、旋转或者伸缩等变化形式; l 数据样本的预处理;数据样本的预处理; l 将数据样本分为训练样本和测试样本将数据

8、样本分为训练样本和测试样本 网络模型的确定网络模型的确定 主要是根据问题的实际情况,主要是根据问题的实际情况,选择模型的类选择模型的类 型、结构型、结构等。另外,还可以在典型网络模型的基等。另外,还可以在典型网络模型的基 础上,结合问题的具体情况,础上,结合问题的具体情况,对原网络进行变形、对原网络进行变形、 扩充等扩充等,同时,同时还可以采用多种网络模型的组合形还可以采用多种网络模型的组合形 式式。 网络参数的选择网络参数的选择 确定网络的输入输出神经元的数目,如果是确定网络的输入输出神经元的数目,如果是 多层网络,还需要进一步确定隐含层神经元的个多层网络,还需要进一步确定隐含层神经元的个

9、数。数。 训练模式的确定训练模式的确定 包括选择合理的测试样本,对网络进行测包括选择合理的测试样本,对网络进行测 试、或者将网络应用于实际问题,检验网络性试、或者将网络应用于实际问题,检验网络性 能。能。 网络测试网络测试 选择合理的测试样本,对网络进行测试,选择合理的测试样本,对网络进行测试, 或者将网络应用于实际问题,检验网络性能。或者将网络应用于实际问题,检验网络性能。 MATLABMATLAB的神经网络工具箱函数的神经网络工具箱函数 函数类型函数类型函数名函数名 称称 函数用途函数用途 仿真函数仿真函数SIM针对给定的输入,得到网络输出 训练函数训练函数train调用其它训练函数,对网

10、络进行训练 trainh对权值和阈值进行训练 adapt自适应函数 学习函数learn网络权值和阈值的学习 初始化函数int对网络进行初始化 intlay对多层网络初始化 通用函数通用函数 函数类型函数类型函数名函数名 称称 函数用途函数用途 输入函数输入函数netsum输入求和函数 netprcd输入求积函数 concur使权值向量和阈值向量的结构一致 其它dotprod权值求积函数 BPBP网络的神经网络工具箱函数网络的神经网络工具箱函数 函数类型函数类型函数名称函数名称 函数用途函数用途 前向网络创建 函数 传递函数 学习函数 函数类型函数类型函数名函数名 称称 函数用途函数用途 性能函

11、数性能函数 显示函数 一、一、BP网络创建函数网络创建函数 1)newcf 用于创建级联前向用于创建级联前向BP网络网络 调用格式:调用格式:net=newcf net=newcf(PR,S1 S2.SN,TF1 TF2.TFN,BTF,BLF,PF) PR:由每组输入(共有由每组输入(共有R组输入)元素的最大值和最小值组输入)元素的最大值和最小值 组成的组成的R*2维的矩阵维的矩阵 Si:第第i层的长度,共计层的长度,共计N层;层; TFi:第第i层的传递函数,默认为层的传递函数,默认为“tansig” BTF:BP网络的训练函数,默认为网络的训练函数,默认为“trainlm” BLF:权值

12、和阈值的权值和阈值的BP学习算法,默认为学习算法,默认为learngdm PF:网络的性能函数,默认为网络的性能函数,默认为“mse” l 参数参数TFi可以采用任意的可微传递函数,比如可以采用任意的可微传递函数,比如transig, logsig和和purelin等;等; l 训练函数可以是任意的训练函数可以是任意的BP训练函数,如训练函数,如trainm,trainbfg, trainrp和和traingd等。等。BTF默认采用默认采用trainlm是因为函数的速度是因为函数的速度 很快,但该函数的一个重要缺陷是运行过程会消耗大量的内很快,但该函数的一个重要缺陷是运行过程会消耗大量的内 存

13、资源。如果计算机内存不够大,不建议用存资源。如果计算机内存不够大,不建议用trainlm,而建议,而建议 采用训练函数采用训练函数trainbfg或或trainrp。虽然这两个函数的运行速度。虽然这两个函数的运行速度 比较慢,但它们的共同特点是内存占用量小,不至于出现训比较慢,但它们的共同特点是内存占用量小,不至于出现训 练过程死机的情况。练过程死机的情况。 说明:说明: 二、神经元上的传递函数二、神经元上的传递函数 传递函数是传递函数是BP网络的重要组成部分,必须是连续可网络的重要组成部分,必须是连续可 微的,微的,BP网络常采用网络常采用S型的对数或正切函数和线性函数。型的对数或正切函数和

14、线性函数。 Logsig 传递函数为传递函数为S型的对数函数。型的对数函数。 调用格式为:调用格式为: A=logsig(N) N:Q个个S维的输入列向量;维的输入列向量; A:函数返回值,位于区间:函数返回值,位于区间(0,1) 中中 info=logsig(code) 依据依据code值的不同返回不同的信息,包括:值的不同返回不同的信息,包括: deriv返回微分函数的名称;返回微分函数的名称; name返回函数全程;返回函数全程; output返回输出值域;返回输出值域; active返回有效的输入区间返回有效的输入区间 例如:例如:n=-10:0.1: 10; a=logsig(n);

15、plot(n,a) matlab按照来计算对数传递函数的值:按照来计算对数传递函数的值:n=2/(1+exp(-2n) 函数函数logsig可将神经元的输入(范围为整个实数集)映射到可将神经元的输入(范围为整个实数集)映射到 区间(区间(0,1)中。)中。 learngd 该函数为梯度下降权值该函数为梯度下降权值/阈值学习函数,通过神经阈值学习函数,通过神经 元的输入和误差,以及权值和阈值的学习速率,元的输入和误差,以及权值和阈值的学习速率, 来计算权值或阈值的变化率。来计算权值或阈值的变化率。 三、三、BP网络学习函数网络学习函数 dW,ls=learngd(W,P,Z,N,A,T,E,gW

16、,gA,D,LP,LS) 调用格式调用格式; BP网络及网络及MATLAB实现实现 以一个单隐层的以一个单隐层的BP网络设计为例,介绍利用神经网络设计为例,介绍利用神经 网络工具箱进行网络工具箱进行BP网络设计及分析的过程网络设计及分析的过程 1. 问题描述问题描述 P=-1:0.1:1; T=-0.9602 -0.577. -0.0729 0.3771 0.6405 0.6600 0.4609 0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 0.0988 0.3072 0.3960 0.3449 0.1816 -0.0312 -0.2189 -0.3201 通过对函数进行采样得到了网络的输入变通过对函数进行采样得到了网络的输入变 量量P和目标变量和目标变量T: 2. 网络的设计网络的设计 网络的输入层和输出层的神经元个数均为网络的输入层和输出层的神经元个数均为1,网,网 络的隐含神经元个数应该在络的隐含神经元个数应该在38之间。之间。 网络设计及运行的代码:网络设计及

温馨提示

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

评论

0/150

提交评论