神经网络建模.ppt
文本预览下载声明
网络模拟(SIM) 用函数sim 模拟一个网络。 sim 接收网络输入p,网络对象net,返回网络输出a,这里是simuff用来模拟上面建立的带一个输入向量的网络。 p = [1;2]; a = sim(net,p) a = -0.1011 (用这段代码得到的输出是不一样的,这是因为网络初始化是随机的。) 例、调用sim来计算一个同步输入3向量网络的输出: p = [1 3 2;2 4 1]; a=sim(net,p) a = -0.1011 -0.2308 0.4955 网络训练 一旦网络加权和偏差被初始化,网络就可以开始训练了。我们能够训练网络来做函数近似(非线性后退),模式结合,或者模式分类。训练处理需要一套适当的网络操作的例子--网络输入p和目标输出t。在训练期间网络的加权和偏差不断的把网络性能函数net.performFcn减少到最小。 前馈网络的缺省性能函数是均方误差mse--网络输出和目标输出t之间的均方误差。 反向传播算法 反向传播学习算法最简单的应用是沿着性能函数最速增 加的方向--梯度的负方向更新权重和偏置。这种递归算 法可以写成: xk+1 = xk- a k *g k 这里xk是当前权重和偏置向量,g k是当前梯度,a k是 学习速率。 有两种不同的办法实现梯度下降算法:增加模式和批处 理模式。在增加模式中,网络输入每提交一次,梯度计 算一次并更新权重。在批处理模式中,当所有的输入都 被提交后网络才被更新。 增加模式训练法(ADAPT) 现在我们就可以开始训练网络了。当然我们要指定输入 值和目标值如下所示: p = [-1 -1 2 2;0 5 0 5]; t = [-1 -1 1 1]; 如果我们要在每一次提交输入后都更新权重,那么我们 需要将输入矩阵和目标矩阵转变为细胞数组。每一个细 胞都是一个输入或者目标向量。 p = num2cell(p,1); t = num2cell(t,1); 现在就可以用adapt来实现增加方式训练了: [net,a,e]=adapt(net,p,t); 训练结束以后,就可以模拟网络输出来检验训练质量了。 a = sim(net,p) a = [-0.9995] [-1.0000] [1.0001] [1.0000] 带动力的梯度下降(LEARDGDM) 批处理训练方式 批处理梯度下降法(TRAINGD) 带动量的批处理梯度下降法( 批处理训练方式 TRAINGDM) 例1、蠓虫分类问题 1、蠓虫分类问题 生物学家试图对两种蠓虫(Af与Apf)进行鉴别,依据的 资料是触角和翅膀的长度,已经测得了9支Af和6支Apf的数 据如下: Af: (1.24,1.27),(1.36,1.74), (1.38,1.64),(1.38,1.82),(1.38,1.90),(1.40,1.70),(1.48,1.82),(1.54,1.82),(1.56,2.08); Apf: (1.14,1.82),(1.18,1.96),(1.20,1.86),(1.26,2.00),(1.28,2.00),(1.30,1.96). (i)根据如上资料,如何制定一种方法,正确地区分两类蠓虫。 (ii)对触角和翼长分别为(1.24,1.80),(1.28,1.84)与(1.40,2.04)的3个标本,用所得到的方法加以识别。 (iii)设Af是宝贵的传粉益虫,Apf是某疾病的载体,是否应该修改分类方法。 问题分析:要求依据已知资料(9支Af的数据和6支Apf的数据)制定一种分类方法,类别是已经给定的(Af或Apf)。我们将9支Af及6支Apf的数据集合称之为学习样本。2 多层前馈网络为解决此问题,考虑一个其结构如下图所示的人工神经网络 输入层 输出层 中间层 (隐层) 以s = 1,2,?,15,分别表示学习样本中的15个样品,对样品s而言,对任何一组确定的输入I_k^s(k=1,2)隐单元j 的输入是相应的输出状态是网络的最终输出是 对于任何一组确定的输入 ,输出是所有权的函数。 如果我们能够选定一组适当的权值,使得对应于学习 样本中任何一组Af样品的输入,输出为(1,0) ,对应于 Apf的输入数据,输出为(0,1),那么蠓虫分类问题实际 上就解决了。因为,对于任何一个未知类别的样品,只 要将其触角及翅膀长度输入网络,视其输出模式靠近 (1,0)亦或(0,1),就可能判断其归属。当然,有可能出现 介于中间无法判断的情况。 现在的问题是,如何找到一组适当的权值,实现上面所 设想的网络功能。 3 向后传播算法在1985年,美国加州大学的一个研究小组提出了所谓向后传播算法(Ba
显示全部