《人工神经网络实验指导(共22页)》由会员分享,可在线阅读,更多相关《人工神经网络实验指导(共22页)(22页珍藏版)》请在金锄头文库上搜索。
1、精选优质文档-倾情为你奉上人工神经网络实验指导北京工商大学信息工程学院 人工神经网络课程组编写专心-专注-专业目录第一部分 实验准备第1章 NeuDesk软件1.1NeuDesk软件概述NeuDesk软件是英国NCS公司推出的神经网络专用软件,它的主要特点是输入输出变量都采用电子表格录入的方式,非常直观;网络的设计中可以直观地看到神经元的连接以及权值的正负,网络经过训练以后可以储存其连接权值,便于应用。1.2NeuDesk软件使用说明1.2.1样本的输入打开NeuDesk软件,出现以下界面,其中表Training Inputs是训练集的输入;Training Outputs是训练集的教师信号。
2、输入向量:按列输入表中,一列代表一个变量输出向量:按列输入表中,一列代表一个变量归一化处理:点击spreadsheet-autoscale1.2.2网络的设计打开Window,选择进入网络的设计界面其中,在Edit下拉菜单中选择Randomize为随机初始化;Manual Design表示手动改变隐层数和隐层节点数;Autodesign是根据输入节点和输出节点来进行自动设计。1.2.3网络的训练进入Control window,可以对网络的训练参数进行设计。其中,Training Methods(训练方法):用于进行算法和参数设计Terminate Training On(中止条件):设置终止
3、条件如最大迭代次数或者是最小误差Current Status(现在的状态):网络当前的迭代次数以及当前的误差Randomize为根据问题随机初始化网络的初始权值和隐层节点数Train:训练网络Query:用训练好的网络对新的输入来预测输出1.2.3网络的预测用训练好的网络对新的输入进行预测。(1)在Query Inputs键入输入变量(2)点击Control Window上的Query,利用训练好的网络进行前向计算(3)可以在Query Outputs窗口得到相应的输出第2章 Matlab神经网络工具箱MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。20世纪七
4、十年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模
5、拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。MATLAB的推出得到了各个领域的专家学者的广泛关注,在此基础上,专家们相继推出了MATLAB工具箱,主要包括信号处理、控制系统、神经网络、图像处理、鲁棒控制、非线性系统控制设计、系统辨识、最优化、模糊逻辑、小波等工具箱,这些工具箱给各个领域的研究和工程应用提供了有力的工具。2.1 MATLAB 神经网络工具箱概述神经网络工具箱(NN Toolbox)几乎完整地概括了现有的神经网络的新成果,所涉
6、及的网络模型有:感知器、线性网络、BP网络、径向基网络、自组织网络和反馈网络等。对于各种网络模型,神经网络工具箱集成了多种学习算法,为用户提供了方便。2.1.1神经网络工具箱的帮助和安装 神经网络工具箱包含在nnet目录中,键入help nnet可得到帮助主题。工具箱包含了许多示例。每一个例子讲述了一个问题,展示了用来解决问题的网络并给出了最后的结果。显示向导要讨论的神经网络例子和应用代码可以通过键入help nndemos找到。安装神经网络工具箱的指令可以在下列两份MATLAB文档中找到:the Installation Guide for MS-Windows and Macintosh
7、或者the Installation Guide for UNIX。2.2 MATLAB 神经网络工具箱函数说明:下面列出的函数适用于MATLAB5.3 以上版本,为简明起见,只列出了函数名,如需要了解函数的详细说明和使用,请参阅MATLAB 的帮助文档。2.2.1 网络创建函数newp 创建感知器网络newlind 设计一线性层newlin 创建一线性层newff 创建一前馈BP 网络newcf 创建一多层前馈BP 网络newfftd 创建一前馈输入延迟BP 网络newrb 设计一径向基网络newrbe 设计一严格的径向基网络newgrnn 设计一广义回归神经网络newpnn 设计一概率神经
8、网络newc 创建一竞争层newsom 创建一自组织特征映射newhop 创建一Hopfield 递归网络newelm 创建一Elman 递归网络2.2.2 网络应用函数sim 仿真一个神经网络init 初始化一个神经网络adapt 神经网络的自适应化train 训练一个神经网络2.2.3 权函数dotprod 权函数的点积ddotprod 权函数点积的导数dist Euclidean 距离权函数normprod 规范点积权函数negdist Negative 距离权函数mandist Manhattan 距离权函数linkdist Link 距离权函数2.2.4 网络输入函数netsum 网
9、络输入函数的求和dnetsum 网络输入函数求和的导数2.2.5 转移函数hardlim 硬限幅转移函数hardlims 对称硬限幅转移函数purelin 线性转移函数tansig 正切S 型转移函数logsig 对数S 型转移函数dpurelin 线性转移函数的导数dtansig 正切S 型转移函数的导数dlogsig 对数S 型转移函数的导数compet 竞争转移函数radbas 径向基转移函数satlins 对称饱和线性转移函数2.2.6 初始化函数initlay 层与层之间的网络初始化函数initwb 阈值与权值的初始化函数initzero 零权/阈值的初始化函数initnw Nguy
10、en_Widrow 层的初始化函数initcon Conscience 阈值的初始化函数midpoint 中点权值初始化函数2.2.7 性能分析函数mae 均值绝对误差性能分析函数mse 均方差性能分析函数msereg 均方差w/reg 性能分析函数dmse 均方差性能分析函数的导数dmsereg 均方差w/reg 性能分析函数的导数2.2.8 学习函数learnp 感知器学习函数learnpn 标准感知器学习函数learnwh Widrow_Hoff 学习规则learngd BP 学习规则learngdm 带动量项的BP 学习规则learnk Kohonen 权学习函数learncon Co
11、nscience 阈值学习函数learnsom 自组织映射权学习函数2.2.9 自适应函数adaptwb 网络权与阈值的自适应函数2.2.10 训练函数trainwb 网络权与阈值的训练函数traingd 梯度下降的BP 算法训练函数traingdm 梯度下降w/动量的BP 算法训练函数traingda 梯度下降w/自适应lr 的BP 算法训练函数traingdx 梯度下降w/动量和自适应lr 的BP 算法训练函数trainlm Levenberg_Marquardt 的BP 算法训练函数trainwbl 每个训练周期用一个权值矢量或偏差矢量的训练函数2.2.11 分析函数maxlinlr 线
12、性学习层的最大学习率errsurf 误差曲面2.2.12 绘图函数plotes 绘制误差曲面plotep 绘制权和阈值在误差曲面上的位置plotsom 绘制自组织映射图2.2.13 符号变换函数ind2vec 转换下标成为矢量vec2ind 转换矢量成为下标矢量2.2.14 拓扑函数gridtop 网络层拓扑函数hextop 六角层拓扑函数randtop 随机层拓扑函数2.3 MATLAB使用说明2.3.1MATLAB界面打开MATLAB,会出现如下操作界面:2.3.2在MATLAB环境下运行程序在MATLAB环境下运行程序可以采用如下方式:一是在命令窗口中直接键入命令行,缺点是无法进行编辑;
13、另一个方式是将多个命令语句放入到m文件中,然后运行m文件,优点是利于编辑。(1)直接键入命令行(2)编辑成m文件,运行m文件a建立一个新的m文件,操作过程如下图所示:b编辑m文件的内容,并运行(Run)结果在命令窗口处显示。2.3.3MATLAB中Demo的使用在MATLAB中有许多工具箱的演示例子,这些例子有助于学生更快的掌握工具箱函数的使用。(1)在命令窗口键入Demo,可以进入MATLAB的例子演示中。键入demo可以运行demo(演示程序)、可以阅读demo的源程序、利用源程序建立自己的m文件(2)进入工具箱(Toolboxes)点开Toolboxes(3)进入神经网络工具箱(Neur
14、al Network Toolbox)演示神经网络设计、仿真神经网络第二部分 实验第3章 BP网络的设计实验3.1NeuDesk软件环境下的BP网络设计3.1.1试设计BP神经网络解决异或问题一、实验目的掌握NeuDesk软件环境下的BP网络设计,理解BP算法可以解决线性不可分问题的原因。二、实验内容用BP网络解决异或问题。三、实验步骤(1)把异或问题表达成神经网络可以处理的输入输出向量对。(2)根据问题的需要,利用NeuDesk软件设计网络的隐层节点数和训练参数,开始训练;(3)在预测输入窗口键入输入向量,考察预测输出窗口的输出是否正确,考察BP网络是否可以解决异或问题。3.1.2试设计BP神经网络实现非线性函数映射。一、 实验目的掌握NeuDesk软件环境下的BP网络设计,理解BP网络的非线性映射能力。二、实验内容用BP网络解决函数非线性映射问题:函数y=x1/2 ; y=x2 ; y=sin(x)三、实验步骤(1)训练集可取0.1、0.3、0.5、0.7、0.9、1;