矩阵论在神经网络中的应用_第1页
矩阵论在神经网络中的应用_第2页
矩阵论在神经网络中的应用_第3页
矩阵论在神经网络中的应用_第4页
矩阵论在神经网络中的应用_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、河北大学2014级研究生矩阵论论文 矩阵论论文论文题目:矩阵微分在BP神经网络中的应用姓 名:崔义新学 号:20140830院(系、部):数学与信息技术学院专 业:数学班 级:2014级数学研究生导师:花强完成时间: 2015 年 6 月摘 要矩阵微分是矩阵论中的一部分,是实数微分的扩展和推广.因此,矩阵微分具有与实数微分的相类似定义与性质.矩阵微分作为矩阵论中的基础部分,在许多领域都有应用,如矩阵函数求解,神经网络等等.BP网络,即反向传播网络(Back-Propagation Network)是一种多层前向反馈神经网络,它是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络.

2、 它使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小.在其向前传播的过程中利用了矩阵的乘法原理,反传的过程中则是利用最速下降法,即沿着误差性能函数的负梯度方向进行,因此利用了矩阵微分.关键词:矩阵微分;BP神经网络;前 言 矩阵微分(Matrix Differential)也称矩阵求导(Matrix Derivative),在机器学习、图像处理、最优化等领域的公式推导过程中经常用到.本文将对各种形式下的矩阵微分进行详细的推导. BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传

3、播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一.BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程.它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小.BP神经网络模型拓扑结构包括输入层(input)、隐层(hiddenlayer)和输出层(outputlayer). BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成.输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息

4、变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果.当实际输出与期望输出不符时,进入 误差的反向传播阶段. 误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传.周而复始的信息正向传播和 误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止.1 矩阵的微分1.1 相对于向量的微分的定义定义1 对于n维向量函数,设函

5、数 是以向量X为自变量的数量函数,即以n个变量 xi为自变量的数量函数.我们将列向量 叫做数量函数f对列向量X的导数, 记作 (1.1)例1求函数 对X的导数 解:根据定义 即 1.2相对于矩阵的微分的定义定义2设函数是以P×m矩阵A的P×m元素为自变量的数量函数,简称以矩阵A为自变量的数量函数.例如 定义:P×m矩阵 (1.2)称为数量函数f对矩阵A的导数,记作.例2:求对矩阵的导数,其中向量是定常的,是对称的.解:根据定义有即 定义3如果矩阵的每个元素都是t的可微函数,则A(t)关于t的导数(微商)定义为: (1.3)1.3复合函数的微分公式1 设,则 (1.

6、4)证明:由给定条件有和将上式结合起来公式2 设,则 (1.5)2 人工神经网络2.1 人工神经网络的定义定义4 人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统.它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理.人工神经网络(Artificial Neural Networks, ANN)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型.这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的.人工神经网络具有自学习和自适应的能力,可以通过预先

7、提供的一批相互对应的输入输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果,这种学习分析的过程被称为“训练”.2.2 人工神经网络的模型 由于人工神经网络是受生物神经网络的启发构造而成的,所以在开始讨论人工神经网络之前,有必要首先考虑人脑皮层神经系统的组成. 科学研究发现,人的大脑中大约有100亿个生物神经元,它们通过60万亿个联接联成一个系统.每个神经元具有独立的接受、处理和传递电化学信号的能力.这种传递经由构成大脑通信系统的神经通路所完成.单个神经元处理一个事件需要s,而在硅芯片中处理一事件只需s.但人脑是一个非常高效的结构,大脑中每秒每个动作的

8、能量约为J,而当今性能最好的计算机进行相应的操作需要J.图1所示是生物神经元及其相互联接的典型结构.图1:生物神经元及其相互联接的典型结构  (1) 生物神经元主要由树突、轴突、突触和细胞体组成.其中树突是由细胞体向外伸出的,有不规则的表面和许多较短的分支.树突相当于信号的输入端,用于接受神经冲动.(2)轴突是由细胞体向外伸出的最长的一条分支,即神经纤维,相当于信号的输出电缆. (3)突触是神经元之间通过轴突(输出)和树突(输入)相互联结点.(4)细胞体完成电化学信号整合与处理,当胞体中接受的累加刺激超过一个阈值时,胞体就被激发,此时它沿轴突通过树突向其它神经元发

9、出信号.我们要构造一个人工神经网络系统,要从以下三个方面对生物神经网络进行模拟:(1)人工神经元(也简称为节点)本身的处理能力;(2)节点与节点之间连接(人工神经网络拓扑结构);(3)节点与节点之间连接的强度(通过学习算法来调整). 因此,首要任务是构造人工神经元模型.对于每一个人工神经元来说,它可以接受一组来自系统中其它神经元的输入信号,每图2:人工神经网络基本模型个输入对应一个权,所有输入的加权和决定该神经元的激活状态.这里,每个权就相当于突触的“联接强度”.基本模型如下图2.图中是第i个神经元的输出,它可与其他多个神经元通过权连接:分别指与第i个神经元连接的其他神经元输出;分别

10、是指其他神经元与第i个神经元连接的权值;是指第i个神经元的阈值;是第i个神经元的净输入;是非线性函数,称为输出函数或激活函数.激活函数常有以下几种行放大处理或限制在一个适当的范围内.典型的激活函数有符号函数、阶跃函数、S型函数等. 目前,已有的人工神经网络模型至少有几十种,其分类方法也有多种.例如,若按网络拓扑结构,可分为无反馈网络与有反馈网络;若按网络的学习方法,可分为有导师的学习网络和无导师的学习网络;若按网络的性能,可分为连续型网络与离散型网络,或分为确定性网络与随机型网络;若按突触连接的性质,可分为一阶线性关联网络与高阶非线性关联网络.2.3 BP人工神经网络模型1986年Rumelh

11、art,Hinton和Williams完整而简明地提出一种ANN的误差反向传播训练算法(简称BP算法),系统地解决了多层网络中隐含单元连接权的学习问题,由此算法构成的网络我们称为BP网络.BP网络是前向反馈网络的一种,也是当前应用最为广泛的一种网络.误差反传算法的主要思想是把学习过程分为两个阶段:第一阶段(正向传播过程),给出输入信息通过输入层经隐含层处理并计算每个单元的实际输出值;第二阶段(反向过程),若在输出层未能得到期望的输出值,则逐层递归地计算实际输出与期望输出之差值(即误差),以便根据此差值调节权值,具体来说,就是可对每一权重计算出接收单元的误差值与发送单元的激活值的积. 

12、基于BP算法的多层前馈型网络的结构如图3所示.图3:基于BP算法的多层前馈型网络的结构 误差反传(学习算法)期望输出向量(导师信号)+隐 藏 层信 号 流2.4 BP人工神经网络基本算法公式推导为了方便理解,不妨设含有共L层和n个节点的任意一个三层BP神经网络,每层单位元只接受前一层的输出信息并输出给下一层各单元,各单位元的特性为Sigmoid型(它是连续可微的,且值域在0-1之间).设给定N个样本,任一节点i的输出为,对某一个输入为,网络的输出为,节点i的输出为。正向传播过程,对于输入层单位元一般无计算能力,只是作为传输和储存.现在研究隐藏层,设输入层到隐藏层连接矩阵为,当输入第k

13、 个样本,节点j的输入为 (2.1)隐藏层的第j个单元,当输入第k 个样本时,节点j的输出为 其中,f为非线性激活函数,一般取为(0,1)内连续取值Sigmoid函数;为l层神经单位元的阈值,表示隐藏层,输入第k个样本时,第j个单元节点的输入.类似的,输出层的输入为 (2.2)对于输出层的输出,激活函数有时采用Sigmoid函数,但有时也会采用纯线性函数,在此,我们以纯线性函数为例,则输出层的输出为 (2.3)采用的误差函数为 (2.4) 其中为单元j的实际输出.总误差为 (2.5) 定义 于是 (2.6)下面分两种情况来讨论: (1)若节点j为输出单元,则 (2.7) (2)若节点j不是输出

14、单元,则 (2.8)式中是送到下一层(l+1)层的输入,计算要从(l+1)层算回来.在(l+1)层第m个单元时 (2.9)将式(2.9)代入式(2.8)中,则得 (2.10)总结上述结果,有 (2.11)误差的反向传播,即首先由输出层开始逐层计算各层神经元的输出误差,然后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最终输出能接近期望值.根据误差梯度下降法依次修正输出层权值的修正量,输出层阈值的修正量,隐含层权值的修正量,隐含层阈值的修正量.输出层权值和阈值调整公式 隐藏层权值和阈值调整公式 2.5 BP人工神经网络基本算法 BP算法不仅有输入层节点,输出层节点,而且有一层或多层隐

15、含节点.对于输入信息,首先向前传播到隐含层的节点上,经过各单元的激活函数(又称作用函数、转换函数)运算后,把隐含节点的输出信息传播到输出节点,最后给出输出结果.网络的学习过程由正向和反向传播两部分组成.在正向传播过程中,每一层的神经元的状态只影响下一层神经元网络.如果输出层不能得到期望输出,就是实际输出值与期望输出值之间有误差,那么转向反向传播过程,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,逐次地向输入层传播去进行计算,再经过正向传播过程,这两个过程的反复运用,使得误差信号最小.实际上,误差达到人们所希望的要求时,网络的学习过程就结束.BP算法是在导师指导下,适合于多层神经元网

16、络的一种学习,它是建立在梯度下降法的基础上的.理论证明,含有一个隐含层的BP网络可以实现以任意精度近似任何连续非线性函数. 具体步骤如下:第一步,数据归一并进行网络初始化 根据系统输入输出序列(X,Y)确定网络输入层节点数n,输出层节点数l,输入层输出层的神经元个数分别由函数输入和输出的维数确定.由实验经验隐含层节点个数需要大于输入层隐层节点数,设为m,初始化输入层、隐层、输出层之间的连接权值,初始化隐层阈值,输出层阈值,给定学习速率以及学习误差error;训练次数maxEpoch,可以根据训练需要改动;第二步,输入样本计算隐含层的输出值,计算公式为将其作为输出层的输入;第三步,计算输出层的输出 ;第四步,利用公式计算全局误差e;第五步,判断误差是否达到预先设定的要求或者训练次数是否达到最大值,如果是,算法结束;否则,进行第六步.第六步,计算输出层到隐含层的误差信号 ;第七步,计算隐含层到输入层的误差信号;第八步,调整计算输出层到隐含层的权值和阈值;第九步,调整计算隐含层到输入层的权值和阈值;第十步,输入下一样本,依次循环.结束语人工神经网络,是由大量处理单元(神经元)组成的非线性大规模自适应动力系统.它具有自组织,自适应和自学习能力,以及具有非线性、非局域性,非定常性和非凸性等特点.它是在现代神经科学研究成果的基础上提出的,试图通

温馨提示

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

评论

0/150

提交评论