logo资料库

多层感知器三种学习算法的比较.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
3 文章编号 : 1673 - 047X (2008) 01 - 0001 - 03 多层感知器三种学习算法的比较 何渊淘 ,邓  伟 (苏州大学计算机科学与技术学院 ,江苏 苏州 215006) 第 28卷第 1期 2008年 2月 苏  州  大  学  学  报 (工  科  版 ) JOURNAL OF SUZHOU UN IVERSITY( ENGINEER ING SC IENCE ED ITION) Vol 28 No. 1 Feb. 2008 摘  要 : 多层感知器是一种多层前馈神经网络 ,常用的快速训练算法有共轭梯度法 、拟牛顿法 。通 过模式分类实验对这两种算法和 BP算法进行比较 ,并由试验数据得出这几种算法的复杂性 、可靠 性 ,以及由算法产生的多层感知器的泛化能力 。 关键词 : 多层感知器 ;反向传播算法 ;共轭梯度法 ;拟牛顿法 中图分类号 : TP183    文献标识码 : A 0 引  言 20世纪 80年代 , Rumelhard等人提出了多层感知器反向传播 (Back Propagation, BP)算法 ,较好地解决了 多层感知器的训练问题 ,使得对神经网络的研究再次进入了一个高潮 。在此后的一段时间 ,人们把优化理论 用于多层感知器 ,提出了一些新的训练算法 ,常用的有共轭梯度法 、拟牛顿法 。本文通过模式分类实验对多层 感知器的这三种学习算法进行了比较 ,得出了这三种算法的复杂性和可靠性 ,以及三种算法产生的多层感知 器的泛化能力的差别 。 1 基于优化理论的两种训练算法 多层感知器是由多层神经元组成的前馈神经网络 。 图 1为一单隐层的多层感知器 ,其输入为 X = [ X1 X2… Xm ],输出为 Y = [ Y1 Y2…Yn ],每层的权值为 W 1, W 2。 1. 1 共轭梯度法 共轭方向的计算公式为 S ( n + 1) = - g ( n + 1) +β( n + 1) ×S ( n) β( n) = ( - g ( n + 1) ) T ×( g ( n) - g ( n + 1) ) g ( n) T ×g ( n) ( 1) ( 2) 算法详细步骤为 : ( 1) 初始化神经网络权值 w ( 0) 。 ( 2) 用 BP算法计算出 g ( 0) ,并置 s (0) = r( 0) = g (0) 。 ( 3) 在第 n步 ,沿着 s ( 0)方向进行线性搜索 ,找到在该方向最小化误差函数的 η( n) 。 ( 4) 更新权值 w ( n + 1) =w ( n) +η( n) ×s ( n) 。 图 1 多层感知器 ( 5) 计算 β( n + 1) =max{ rT ( n + 1) ×( r( n + 1) - r( n) ) rT ( n) ×r( n) , 0}。 收稿日期 : 2007 - 09 - 11 作者简介 : 何渊淘 (1983 - ) ,男 ,硕士研究生 ,主要研究方向为神经网络 。 基金项目 : 国家自然科学基金资助项目 (编号 60572074) 。
  2         苏州大学学报 (工科版 ) 第 28卷 ( 6) 如果此时网络的误差小于设定的误差 ,则停止训练 ,否则转跳到步骤 ( 3)继续执行 。 1. 2 拟牛顿法 拟牛顿法通过引入性能函数二阶导数的信息来加速网络的训练速度 , 其赫森矩阵拟矩阵的递归计算公 式为 γ( n) = g ( n + 1) - g ( n) σ ( n) =w ( n + 1) - w ( n) γ( n) T ×S ( n) ×γ( n) σ ( n) T ×γ( n) S ( n + 1) = S ( n) + ( 1 + ) × σ ( n) ×σ ( n) T σ ( n) T ×γ( n)     - ( σ ( n) T ×γ( n) σ ( n) ×γ( n) ×S ( n) + S ( n) ×γ( n) ×σ ( n) T ) ( 3) ( 4) ( 5) 算法详细步骤为 : ( 1) 初始化 S,使其为正定矩阵 。 ( 2) 在第 k步 ,计算出 Δw ( n) = - S ( n) ×g ( n) 。对 Δw ( n)方向进行线性搜索 ,找出使误差函数 f (w )最 小的 η( n) ,并对权值进行修改 , w ( n + 1) =w ( n) +η( n) ×Δw ( n) 。 ( 3)用 BP算法计算当前的梯度 g ( n + 1) ,计算 γ( n) = g ( n + 1) - g ( n)和 σ ( n) =w ( n + 1) - w ( n) 。 ( 4) 用公式 ( 5)更新 S 矩阵 。 ( 5) 如果此时误差函数的结果小于既定误差 ,则算法结束 ,否则转跳到 ( 2)继续执行 。 2 两种快速训练算法和 BP算法的分类实验 试验数据由两个二维高斯分布产生 , 每类包含 2 000个样本点 , 见图 2。 u1 = ( 0 0) T ,δ2 1 = 1, u2 = (2 0) T ,δ2 2 = 4。 实验得出两个隐层神经元的多层感知器效果较好 , 下面用该结构的 神经网络把这几种算法作比较 。当网络训练结束后 , 用两类二维高斯分 布各生成 50 000个样本点进行分类测试 , 得到如表 1所示的训练误差与 测试误差 。 算法 BP算法 共轭梯度法 拟牛顿法 算法 BP算法 共轭梯度法 拟牛顿法 表 1 回合数为 100次的误差 训练误差 / % 测试误差 / % 41. 2 28. 46 27. 63 51. 40 39. 75 38. 69 表 2 回合数为 500次的误差 训练误差 / % 测试误差 / % 27. 60 26. 96 26. 94 38. 82 37. 35 38. 75 这两种算法和 BP算法的误差曲线见图 3。 由图 3可知 ,拟牛顿法和共轭梯度法极大地加快了 神经网络的训练速度 ,在训练次数为 150回合的时候 ,网 络趋近稳定状态 。 为了进一步验证共轭梯度法和拟牛顿法的快速收敛 特性 ,在下面的试验中使用 Iris数据集 。该数据集共有 150组样本 ,在实验中被随机分为数目相等的两类 ,分别 图 2 两类二维高斯分布样本点  图 3 三种算法的误差曲线
2   第 1期     何渊淘 ,邓  伟 :多层感知器三种学习算法的比较 3     用来训练和测试 ,试验中选用了两个隐层神经元的多层感知器 。从表 3可以看出当训练回合数为 60次时 ,共 轭梯度法和拟牛顿法已经收敛到稳定状态 ,而 BP算法则要到 500回合才能达到近似的分类正确率 。 表 3  Ir is数据分类误差 训练回合数 BP算法误差 / % 共轭梯度法误差 / % 拟牛顿法误差 / % 20 38. 67 5. 33 4 60 13. 33 2. 67 2. 67 100 12 2. 6 2. 67 150 5. 33 2. 6 2. 67 500 2. 66 2. 6 2. 67   在算法的空间耗费上 , BP算法在进行迭代运算时每次只存储性能函数当前的梯度和上一次的权值调整 量 ,共轭梯度法要存储本次和上一次迭代的共轭方向 ,其空间耗费相近 。而拟牛顿法在每次迭代运行时不但 要存储当前的梯度和上一次迭代的梯度 ,同时还要存储一个赫森矩阵的逆矩阵 ,耗费的空间要比另外两种算 法大得多 。在时间上共轭梯度法和拟牛顿法在每次迭代时要线性搜索性能函数的最小值来确定权值调整量 , 这使得算法耗费大量的时间而且有很多不确定因素 。对于共轭梯度法 ,根据 R. Fetcher的分析 ,当误差函数 不是二次函数时每次得出的共轭方向并不一定是误差函数下降的方向 ,所以算法必须周期性地将共轭方向设 定为梯度方向 ,使该算法的可靠性和有效性降低 。拟牛顿法要有效且可靠得多 ,但拟牛顿法每次都要计算和 存储赫森矩阵的逆矩阵 。对于一些规模较大的神经网络 ,空间的耗费使得用拟牛顿法变得不现实 。 3 结  论 多层感知器广泛应用于模式识别领域 ,在解决具体问题时 ,选择一个合适的训练算法仍是一个值得考虑 的问题 。文章中把基于优化理论的两种算法和 BP算法在实验中作了比较 ,从中得出共轭梯度法和拟牛顿法 极大加速了多层感知器的训练速度 ,并取得了较好的效果 。但拟牛顿法面临着算法复杂度过高的问题 ,共轭 梯度法面临着可靠性的问题 ,这些问题仍然值得去研究 。 参 考 文 献 [ 1 ] Simon Haykin. Neural Networks A Comp rehensive Foundation[M ]. 北京 :清华大学出版社 , 2001. [ 2 ] Martin T Hagan, Howard B Demuth,Mark H Beale. Neural Network Design[M ]. 北京 :机械工业出版社 , 2002. [ 3 ] 魏海坤. 神经网络结构设计的理论与方法 [M ]. 北京 :国防工业出版社 , 2006. [ 4 ] Fletcher R. Practical methods of op tim ization[M ]. NewYork: W iley, 1991. [ 5 ] David Kincaid,W ard Chene. 数值分析 [M ]. 北京 :机械工业出版社 , 2005. The Com pare Between Three Tra in ing A lgor ighm s of M ultilayer Perceptorn s ( College of Com puter Science and Technology, S uzhou U n iversity, S uzhou 215006, Ch ina) HE Yuan tao, DENG W ei Abstract: Multilayer Percep trons is a kind of multilayer feed conjugate grads method and q gorighm s through classifer experiment. Key words: multilayer percep tron; back p ropagation; conjugate grads; q forward network, it has two fast training algorighm – newton method. This paper compare the training speed, time and space cost of those al new ton
免费论文查重:http://free.paperyy.com 3亿免费文献下载:http://www.ixueshu.com 超值论文自动降重:http://www.paperyy.com/reduce_repetition PPT免费模版下载:http://ppt.ixueshu.com ------------------------------------------------------------------------------- 阅读此文的还阅读了: 1. 多层感知器三种学习算法的比较 2. 如何学习生活算法之一——从细节到算法 3. 分布式入侵检测系统的学习机制与检测算法 4. 同为乡愁,风格各异——《乡愁》诗的比较与学习探究 5. 排序算法研究 6. 基于RBF网络的几种学习算法 7. 《算法导论(原书第2版)》Introduction to Algorithms 8. 一种快速的单层感知器网络学习算法 9. 基于C语言实现的若干排序算法和分析 10. 高中数学与初中数学的比较学习初探 11. 高考中的算法问题 12. 新课标下"算法初步"教学的"惑"与"获" 13. 基于动态神经网络的感应电机控制系统 14. 时空序列的阶与递归神经网络的学习能力 15. 算法学习中要注意的几个问题 16. 防火墙策略不一致性检测算法
17. 信息学竞赛解题过程研究 18. 织物疵点特征提取主要算法比较 19. 反向误差传播的学习策略 20. 不同地形下DEM的坡度坡向算法比较 21. 一种基于U—D分解卡尔曼滤波多层感知器学习算法 22. 多层感知器的加速算法 23. 基于BP算法的多层感知器设计 24. 数据挖掘中的决策树算法比较研究 25. 三种不同内固定方法治疗锁骨骨折的比较 26. 复基带信号的几种载频偏估计算法比较 27. 翻译在英语教学中的地位和作用 28. 一种改进的感知器算法 29. 输电线路故障定位各种算法综合比较 30. Turbo码译码算法的比较性分析 31. NFI-AMS学习算法的收敛性分析 32. 关于重复词句提取的两种算法分析——基于Suffix Tree和重复序列两种算法的实验结果比较 33. 基于空间分割算法的自适应多层感知器网络 34. 智能学习技术及其应用 35. 前馈神经网络的特性分析与应用 36. 多层感知器的加速算法 37. 试论法语、英语冠词的异同 38. 一种基于U-D分解卡尔曼滤波多层感知器学习算法 39. 算法初步题型举例 40. 人工神经网络几种学习算法的对比 41. 算法语句课本例习题探析 42. 上市公司财务困境预警比较分析——基于Logistic回归和多层感知器的方法 43. 路线方案的比较和组合算法研究 44. 人体脸谱的自动检测方法初探 45. 算法与程序框图考向分析 46. 促进学习感悟习得算法经验 47. 算法的教学方法例谈 48. 针对特定场合的图像恢复算法实验研究 49. 一种改进的堆排序并行算法的实现 50. 三种经典作业调度算法适应性比较
分享到:
收藏