《课件:神经网络配套ch12presml》由会员分享,可在线阅读,更多相关《课件:神经网络配套ch12presml(39页珍藏版)》请在金锄头文库上搜索。
1、反向传播算法的变形,BP算法的缺点,算法的收敛速度很慢 可能有多个局部极小点 BP网络的隐层神经元个数的选取尚无理论上的指导,而是根据经验选取 BP网络是一个前向网络,具有非线性映射能力,但较之非线性动力学系统,功能上有其局限性,BP算法的变形,启发式改进 动量 可变的学习速度 标准的数值优化 共轭梯度 牛顿法 (Levenberg-Marquardt),性能曲面例子,网络结构,指定的函数,参数值,多层非线性网络与单层线性网络在均方误差性能曲面上完全不同。后者的均方误差只有一个极小点,且具有常数曲率;前者的均方误差可能有多个局部极小点而且在参数空间不同区域曲率也是变化的。,性能曲面例子(续),
2、w11,1,w21,1,w11,1,w21,1,w11,1和w21,1变化时的平方误差,性能曲面例子(续),w11,1,b11,b11,w11,1,w11,1 and b11变化时的平方误差,性能曲面例子(续),b11,b21,b21,b11,b11和b12变化时的平方误差,性能曲面例子的提示,算法初始参数不要设置为(参数空间的原点趋 向于鞍点) 算法初始参数不要设置过大(在远离优化点的位 置,性能曲面将变得十分平坦),收敛性例子,w11,1,w21,1,学习速度太大情形,w11,1,w21,1,提高收敛速度,改变学习速度 在曲面平坦时增加学习速度,在斜速率增加时减 少学习速度。 平滑轨迹:
3、当算法开始振荡时,平滑掉振荡以产生一个稳定 的轨迹。,动量方法,滤波器,例子,动量反向传播算法,最速下降反传算法 (SDBP),动量反传算法 (MOBP),w11,1,w21,1,可变的学习速度(VLBP),如果误差平方(在整个训练集上)在权值更新后增加了百分数z (典型值为1%至5%),则取消权值更新,学习速度乘上一个因子 (1 r 0),并且动量系数 g 置为 0。 如果误差平方在权值更新后减少,则接受权值更新,并且学习速度乘上一个因子 h1,如果动量系数 g 先前被置为0,则恢复到先前的值。 如果误差平方的增加少于z,则接受权值更新,但是学习速度和动量系数不变。,例子,w11,1,w21
4、,1,平方误差,学习速度,启发式方法的缺点,要设置一些额外的参数 算法的性能对这些参数的改变十分敏感 参数的选择是与问题相关的 对某些用最速下降反传算法能找到解的问题却不能收敛。算法越复杂这样问题越容易发生,共轭梯度,1. 初始搜索方向为梯度的反方向(最速下降)。,2. 迭代一次,学习速度的选取采用沿搜索方向最小化性能函数。,3. 选择下一次的搜索方向:,其中,或,或,因为通常性能指数不是二次的,以下二个方面需要改进: 1. 需要一个一般的过程去确定函数在某个特定方向的极值; 2. 算法在共扼方向迭代过 n 次后,可能要重新设置搜索方向。,4. 如果算法不收敛,继续第步。,区间定位,区间缩小,
5、黄金分割搜索,t=0.618 Set c1 = a1 + (1-t)(b1-a1), Fc=F(c1) d1 = b1 - (1-t)(b1-a1), Fd=F(d1) For k=1,2, . repeat If Fc Fd then Set ak+1 = ak ; bk+1 = dk ; dk+1 = ck c k+1 = a k+1 + (1-t)(b k+1 -a k+1 ) Fd= Fc; Fc=F(c k+1 ) else Set ak+1 = ck ; bk+1 = bk ; ck+1 = dk d k+1 = b k+1 - (1-t)(b k+1 -a k+1 ) Fc= F
6、d; Fd=F(d k+1 ) end end until bk+1 - ak+1 tol,共扼梯度反向传播法(CGBP),w11,1,w21,1,w11,1,w21,1,中间步骤,完整轨迹,Newton方法,如果性能指数是函数平方的和:,则梯度的第 j 个元素是:,矩阵形式,梯度能写成矩阵形式:,其中J是Jacobian矩阵:,Hessian矩阵,Gauss-Newton方法,设S(x)很小,Hessian矩阵近似表示为:,Newton方法成为:,Levenberg-Marquardt(LM)算法,Gauss-Newton方法近似表示Hessian矩阵如下:,这个矩阵可能奇异, 但是可进行如
7、下转换:,如果H的特征值和特征向量是:,那么,G的特征值,对所有i,增加以保证 ,可使G成为正定,所以矩阵G可逆。由此可导出如下LM算法:,mk 的调整,当mk0,LM方法变成Gauss-Newton方法:,当mk, LM方法变成有小的学习速度的最速下降算法:,所以,开始时取小的mk值用Gauss-Newton法加速收敛。如果某一步不能获得较小的F(x)值,那么增加mk值(乘以一个因子 )重复那一步直到F(x)值的减少。F(x)值最终一定会减少,因为我们将在最速下降方向上用很小的步长。,应用到多层网络,多层网络的性能指数是:,误差向量是:,参数向量是:,两个向量的维数是:,Jacobian矩阵
8、,计算Jacobian矩阵,标准BP算法计算公式为:,对于Jacobian矩阵的元素可用下式计算:,使用链规则:,其中敏感度:,是用反向传播方法计算得到。,Marquardt 敏感度,如果定义Marquardt敏感度为:,Jacobian矩阵能如下算得:,权,偏置,敏感度计算,反向传播,初始化,LMBP算法,1. 将所有输入提交网络并计算相应的网络输出和误差。计算所有输入的误差平方和F(x). 2. 计算Jacobian矩阵。初始化敏感度,用反向传播算法递归计算各层的敏感度。将各个单独的矩阵增广到 Marquardt 敏感度中。计算 Jacobian 矩阵的元素。 3. 求得权的改变量 。 4
9、. 用 重复计算误差平方的和。如果新的和小于第1步中计算的和,则用 mk 除以 ,并设 ,转第1步;如果和没有减少,则用 mk 乘以 ,转第3步。 当梯度的模小于给定的值,或误差平方和减少到某个目标误差时,算法被认为收敛。,LMBP计算步骤例,w11,1,w21,1,LMBP 轨迹,w11,1,w21,1,后面内容直接删除就行 资料可以编辑修改使用 资料可以编辑修改使用,主要经营:网络软件设计、图文设计制作、发布广告等 公司秉着以优质的服务对待每一位客户,做到让客户满意!,致力于数据挖掘,合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类模板等方方面面,打造全网一站式需求,感谢您的观看和下载,The user can demonstrate on a projector or computer, or print the presentation and make it into a film to be used in a wider field,