2012计算智能-6.神经网络

上传人:woxinch****an2018 文档编号:45330891 上传时间:2018-06-15 格式:PPT 页数:26 大小:1.66MB
返回 下载 相关 举报
2012计算智能-6.神经网络_第1页
第1页 / 共26页
2012计算智能-6.神经网络_第2页
第2页 / 共26页
2012计算智能-6.神经网络_第3页
第3页 / 共26页
2012计算智能-6.神经网络_第4页
第4页 / 共26页
2012计算智能-6.神经网络_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《2012计算智能-6.神经网络》由会员分享,可在线阅读,更多相关《2012计算智能-6.神经网络(26页珍藏版)》请在金锄头文库上搜索。

1、 神经网络通过感知器算法我们可知:感知器模型存在着根本缺陷, 即它只能完成线性可分的模式分类。我们很容易的想到:串联多个神经元是否能完成非线性模 式分类呢?有一个人站出来回答了这个问题:不能。这个人就是:明斯基神经网络马文明斯基(Marvin Lee Minsky, 1927年8月9日)生于纽约市,1944年- 1945年服役于美国海军。1954年于普林斯顿大学获得数学博士学 位。在数学系做研究生时,明斯基与同 学构建了第一台基于模拟突出增强原理 的随机连线网络学习机器(SNARC), 被称为第一台神经网络计算机。2. 自己是第一台神经网络计算机的制造者,却险些葬送 了神经网络的前途。1. 由

2、于搞的太偏门,险些无法毕业。趣事:神经网络原文如下: 尽管它有严重的局限性,感知器展示了它自身的研究价值 。它有很多吸引人的优点:它的线性,迷人的学习法则 ,作为一类并行计算范例的清晰的简单性。没有任何理 由认为这 些优点能带到多层感知器中去。依据我们的直 觉判断,即使推广到多层系统也不会有好的结果。但是 ,我们认为证 明(或否定)这一点是一个很重要的需要 研究的问题。1969年,他和佩波特的名著感知机证明了Rosenblatt感 知机解决非线性问题能力薄弱,连XOR逻辑分类都做不 到,只能作线性划分。更重要的是,他将关于单层感知器 局限性的结论推广到了多层感知器。神经网络神经网络研究进入低谷

3、期,一直持续了将近20年。神经网络的反击:1988年,赛本柯(Cybenko)等证明:具有两个隐层的BP网 络可以实现任何有界连续函数。1989年又证明:单隐层 BP网络可以实现任何有界连续函数 。明斯基对多层感知器的“判决”被彻底推翻我想说两点: 1. 不要随便预言科学的未来。好像就从来没准过。 2. 不要太迷信大师。多层前馈神经网络结构输入层隐含层输出层W1W2x2x1xny2y1ym说明1. 信号只能向前传播-前馈 2. 含有一个输入层和输出层,含有多个隐含 层3. 每层之间的连接都有权值 4. 每层节点数目可以不同多层前馈神经网络具有单个隐含层的网络已经具备非线性分类能力,因此, 常见

4、的神经网络为3层:输入层、隐含层、输出层输入矢量: x1,x2, , xix2x1xiwijwjk ijkjk输入层节点数目为i 输入层第i个节点输出为隐含层节点数目为j 隐层第j个节点输出为输出层节点数目为k 输出层第k个节点输出为隐含层阈值为j,输出层为k输入层到隐层权值为wij,隐层到 输出层权值为wjk多层前馈神经网络工作过程:x2x1xiwijwjk ijkjkf为激励函数(转移函数)激励函数神经网络常用的激励函数:(1) Sigmoid函数:10.5 xy0(0 f(x) 1)Sigmoid函数为一单调递增连续函数,且处处可导,其导数为:激励函数(2) 双曲正切函数:( -1 f(

5、x) 1 ) 1-1xy0导数为:Sigmoid函数通过下式能够映射到(-1,1)范围:误差函数用期望输出与实际输出的方差作为相应的误差测度tk为第k个样本的期望输出,yk为第k个样本通过神经网络计 算的实际输出。N为参与训练的样本总数如果输出向量的维数为m,则:tk,i为第k个样本第i维的期望输出,yk,i为第k个样本通过神经 网络计算出的第i维实际输出。神经网络的训练通过感知器的学习我们知道,如果需要感知器对问题进行 分类,必须首先需要训练感知器。同样,我们也可以想到:作为感知器的扩展,神经网络也 需要训练才能对问题进行分类。感知器的训练算法:Delta学习神经网络训练算法:误差逆向传播算

6、法(BP算法)感知器调整的参数:权值w和阈值神经网络调整的参数:所有神经元的权值w和阈值BP算法BP算法主要分为两个阶段:1. 向前计算阶段2. 向后计算阶段(逆向误差修正计算阶段)输入信号通过输入层经隐层逐层处理并计算出每个节点的 实际输出值。逐层计算实际输出和期望输出之间的误差,并以此误差来 修正权值。由于BP算法是多层前馈神经网络最常用的训练算法,因 此,多层前馈神经网络也被称为BP神经网络。BP算法-向前计算阶段x2x1xiwijwjk ijkjk(1) 输入一个学习样本(XK,TK), k 表示样本集中的第k个样本。(2) 计算隐层节点输出(3) 计算输出层节点输出BP算法-向后计算

7、阶段(1) 隐含层到输出层权值调整单个神经元可视为感知器,根据感 知器学习算法:由于神经网网络神经元有sigmoid激励函数,所以误差k修正为 :且所以 :jkwjkkkBP算法-向后计算阶段隐含层到输出层权值调整公式为 :(2) 输入层到隐含层权值调整由于隐层节点j有k个输出,且每个输出的误差为k,所以:输入层到隐含层同样有激励函数,误差调整为:wjkjkwj1wi2ij12kjBP算法-向后计算阶段权值修正量:输入层到隐含层权值调整公式为 :wjkjkwj1wi2ij12kj学习结束取一学习样本做为输入信号中间层节点输出的计算输出层节点输出的计算输出层节点误差的计算中间层节点误差的计算中间

8、层和输出层间权值的更新,输出层节点阈值更新输入层和中间层间权值的更新,中间层节点阈值更新全部学习样本取完?误差E小于误差上限?YYYNNW和的初始化开始向前计算阶段向后计算阶段学习次数达到?NW和的初始化对每个学习样本计算误差修正值缓存区更新权值和阈值的更新全部学习样本取完?NY一括修正部分程序流程举例例1:下图给出了一个多层前馈神经网络。设学习率为0.9 ,该网络的初始权值和阈值如下表所示,第一个样本为X = 1, 0, 1,通过BP算法学习样本。x1x2x3w14w15w24w25w34w35w46w56456 1010.2-0.30.40.1-0.50.2-0.3-0.2-0.40.20

9、.1(1) 向前计算:逐层计算节点输出x1x2x3w14w15w24w25w34w35w46w56456 1010.2-0.30.40.1-0.50.2-0.3-0.2-0.40.20.1节点4 :节点5 :节点6 :(2) 向后计算:逐层计算误差x1x2x3w14w15w24w25w34w35w46w56456 1010.2-0.30.40.1-0.50.2-0.3-0.2-0.40.20.1节点6 :节点4 :节点5 :(2) 向后计算:修正权值、阈值x1x2x3w14w15w24w25w34w35w46w56456 1010.2-0.30.40.1-0.50.2-0.3-0.2-0.40

10、.20.1节点6权值、阈值:节点4权值、阈值:(2) 向后计算:修正权值、阈值x1x2x3w14w15w24w25w34w35w46w56456 1010.2-0.30.40.1-0.50.2-0.3-0.2-0.40.20.1节点5权值、阈值:XOR问题 XORXOR逻辑逻辑 x1 x2 x1 XOR x2 000011101110x1 x2 x1 XOR x2 output0000.0082810110.9934461010.9931121100.006403测试训练后的网络:x2x135wijwjk4网络模型注:训练误差上限为0.00010.5为两类分界线class0110几个问题的讨论网络瘫痪问题 在训练中,权可能变得很大,这会使神经元的网络输出变得 很大,从而又使得其激活函数的导函数在此点上的取值很小 。根据相应式子,此时的训练步长会变得非常小,进而将导 致训练速度降得非常低,最终导致网络停止收敛 。收敛速度问题 局部极小问题 逃离 统计方法;Wasserman,1986将Cauchy训练与BP算法 结合起来,可以在保证训练 速度不被降低的情况下,找到全 局极小点。 几个问题的讨论步长问题 所谓步长,指的就是权值调整量w步长太小,收敛就非常慢 步长太大,可能会导致网络的瘫痪 自适应步长,使得权修改量能随着网络的训练而不断变化。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号