资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,MATLAB神经网络工具箱中的神经网络模型,1,神经网络工具箱简介,MATLAB 7对应的神经网络工具箱的版本为Version 4.0.3,它以神经网络理论为基础,利用MATLAB脚本语言构造出典型神经网络的激活函数,如线性、竞争性和饱和线性等激活函数,使设计者对所选定网络输出的计算变成对激活函数的调用。,还可根据各种典型的修正网络权值规则,加上网络的训练过程,利用MATLAB编写出各种网络设计和训练的子程序,用户根据自己的需要去调用。,2,神经网络工具箱的主要应用,函数逼近和模型拟合,信息处理和预测,神经网络控制,故障诊断,3,应用神经网络工具箱求解问题的一般过程,确定信息表达方式,数据样本已知,数据样本之间相互关系不确定,输入/输出模式为连续的或者离散的,输入数据按照模式进行分类,模式可能会具有平移、旋转或伸缩等变化形式,数据样本的预处理,将数据样本分为训练样本和测试样本,确定网络模型,选择模型的类型和结构,也可对原网络进行变形和扩充,网络参数的选择,确定输入输出神经元数目,训练模型的确定,选择合理的训练算法,确定合适的训练步数,指定适当的训练目标误差,网络测试,选择合适的测试样本,4,人工神经元的一般模型,神经元模型及其简化模型如图所示,输入向量 、权值矩阵 ,与阈值的加权和(内积运算)送入累加器,形成净输入,即:,5,人工神经元模型,图中,x,i,(i1,2,n)为加于输入端(突触)上的输入信号;,i,为相应的突触连接权系数,它是模拟突触传递强度的个比例系数,表示突触后信号的空间累加;表示神经元的阈值,表示神经元的响应函数。该模型的数学表达式为:,6,与生物神经元的区别:,(1)生物神经元传递的信息是脉冲,而上述模型传递的信息是模拟电压。,(2)由于在上述模型中用一个等效的模拟电压来模拟生物神经元的脉冲密度,所以在模型中只有空间累加而没有时间累加(可以认为时间累加已隐含在等效的模拟电压之中)。,(3)上述模型未考虑时延、不应期和疲劳等。,7,响应函数 的基本作用:,1、控制输入对输出的激活作用;,2、对输入、输出进行函数转换;,3、将可能无限域的输入变换成指定的有限范围内的输出。,8,根据响应函数的不同,人工神经元有以下几种类型:,9,阈值单元,响应函数如图a所示,10,线性单元,其响应函数如图b所示,11,非线性单元,常用响应函数为S型(Sigmoid)函数,如图c、d所示,12,Hardlim x=0 y=1;x=0 y=1;x=0,Logsig:y=,13,人工神经网络的构成,单个神经元的功能是很有限的,人工神经网络只有用许多神经元按一定规则连接构成的神经网络才具有强大的功能。,神经元的模型确定之后,一个神经网络的特性及能力主要取决于网络的拓扑结构及学习方法。,14,人工神经网络连接的基本形式:,1前向网络,网络的结构如图所示。网络中的神经元是分层排列的,每个神经元只与前一层的神经元相连接。最右一层为输出层,隐含层的层数可以是一层或多层。前向网络在神经网络中应用很广泛,例如,感知器就属于这种类型。,15,2.反馈前向网络,网络的本身是前向型的,与前一种不同的是从输出到输入有反馈回路。,16,内层互连前馈网络,通过层内神经元之间的相互连接,可以实现同一层神经元之间横向抑制或兴奋的机制,从而限制层内能同时动作的神经数,或者把层内神经元分为若干组,让每组作为一个整体来动作。一些自组织竞争型神经网络就属于这种类型。,17,互连网络,互连网络有局部互连和全互连两种。全互连网络中的每个神经元都与其他神经元相连。局部互连是指互连只是局部的,有些神经元之间没有连接关系。Hopfield网络和Boltzmann机属于互连网络的类型。,18,神经网络的学习方式,有教师学习(监督学习),19,(1)均方误差mse(mean squared error),误差信号的不同定义,:,20,(2)平均绝对误差mae(mean absolute error),21,(3)误差平方和sse(sum squared error),22,无教师学习(无监督学习),23,MATLAB工具箱中的神经网络结构,1.人工神经元的一般模型,在,中,令,,,则,24,人工神经元的一般模型,由此构成人工神经元的一般模型,如下图所示。,上式可写成矩阵向量形式:a=f(Wp+b),25,由S个神经元组成的单层网络,26,MATLAB工具箱中的神经网络结构,27,多层网络的简化表示:,28,MATLAB神经网络工具箱中的神经网络模型,基本概念:,标量:小写字母,如,a,b,c,等;,列向量:小写黑体字母,如,a,b,c,等,意为一列数;,矩阵向量:大写黑体字母,如A,B,C等,29,权值矩阵向量W(t),标量元素 ,i为行,j为列,t为时间或迭代函数,列向量,行向量,30,阈值向量b(t),标量元素 ,i为行,t为时间或迭代函数,31,网络层符号,加权和:,m为第m个网络层,为第 个神经元,n为加权和,网络层输出:,m为第m个网络层,为第 个神经元,a为输出,输入层权值矩阵 ,网络层权值矩阵 ,其中,上标k,l表示第l个网络层到第k个网络层的连接权值矩阵向量,32,例:,表示输入向量的第R个输入元素到输入层的第 个神经元的连接权.,表示,表示,第i个网络层的第 个神经元的阈值,33,例:,34,n,1,为第一层神经元的中间运算结果,即连接权向量与阈值向量的加权和,大小为,即,a,1,为第一层神经元的输出向量,大小为,35,神经网络的层数为神经元网络层的数目加1,即隐层数目加1.,36,多层神经网络结构,37,多层网络简化形式,图中:,38,说明:,输入层神经元的个数决定IW的行数,输入向量元素的个数决定IW的列数,即S1行R列.,39,4.公式和图形中的变量符号在编程代码中的表示方法,细胞矩阵:将多个矩阵向量作为细胞矩阵的”细胞”(Cell),细胞矩阵的各个元素值为对应细胞的大小和数值类型,40,访问元素:m1=n1,1=,41,m2=n2,1=,n2,1(4)=5,42,变量符号在MATLAB中的表示,(1)上标变量以细胞矩阵(Cell array)即大括号表示p,1,=1,(2)下标变量以圆括号表示,p,1,=p(1),43,例:,=,44,45,神经网络工具箱常用函数列表,重要的感知器神经网络函数:,初始化:initp,训练:trainp,仿真:simup,学习规则:learnp,46,线性神经网络函数,初始化:initlin,设计:solvelin,仿真:simulin,离线训练:trainwh,在线自适应训练:adaptwh,学习规则:learnwh,47,BP网络函数:,initff:初始化不超过3层的前向网络;,simuff:仿真不超过3层的前向网络;,trainbp,trainbpx,trainlm:训练BP,trainbp:最慢;,trainbpx:次之;,trainlm:速度最快,但需要更多的存储空间。,learnbp:学习规则,48,自组织网络,初始化:initsm,仿真:simuc,训练:trainc:利用竞争规则训练,trainsm:利用Kohonen规则训练,49,反馈网络(Hopfield网络),仿真:simuhop,设计:solvehop,solvehop设计Hopfield网络,solvelin设计线性网络,rands产生对称随机数,learnbp反向传播学习规则,learnhHebb学习规则,learnp感知层学习规则,learnwhWidrowHoff学习规则,initlin线性层初始化,initp感知层初始化,initsm自组织映射初始化,plotsm绘制自组织映射图,trainbp利用反向传播训练前向网络,trainp利用感知规则训练感知层,trainwh利用WidrowHoff规则训练线性层,trainsm利用Kohonen规则训练自组织映射,50,神经网络例子,51,创建线性神经网络层,net=newlin(1 3;1 3,1);,net.IW1,1=1 2;,net.b1=0;,设有数据集由4个向量组成,p1=1 2 p2=2 1 p3=2 3 p4=3 1,P=1 2 2 3;2 1 3 1,A=sim(net,P),A=,5 4 8 5,52,例2:See P14 in textbook,例3:See P39,例4:See P40,53,
展开阅读全文