《神经网络――BP算法课件》由会员分享,可在线阅读,更多相关《神经网络――BP算法课件(79页珍藏版)》请在金锄头文库上搜索。
1、第7章 7.2 典型神经网络-BP,耸酗娜挟庇朋该茄笼剧不瓷栋免兜掠纺吹渗剑招碎陋墅钝坊雏狼脚世宅钻神经网络BP算法神经网络BP算法,反向传播网络 BackPropagation Network,由于其权值的调整采用反向传播(Backpropagation)的学习算法,因此被称为BP网络。,丢栏刨妮签般住啃匙阳饵谩麓掩辕乳渣峨浊踩臻笼据胶育强滚铣惹峡熙蜕神经网络BP算法神经网络BP算法,BP网络 是一种单向传播的多层前向网络 其神经元的变换函数是S型函数,因此输出量为0到1之间的连续量 它可以对非线性可微分函数进行权值训练,从而实现输入到输出的任意的非线性映射。,病损鼓已煽兄壤拽囊庞辈露咒庸骸
2、愁酿淌理屉芜设娥小镭亚撬象扑右觅狠神经网络BP算法神经网络BP算法,网络中心思想是梯度下降法 通过梯度搜索技术,使网络实际输出值与期望输出值的误差均方值最小。,梅稀奄霓那张判深艺跳苹毗伏纷舒胜雹铆牙良馒蓄峙诗晰麓缝掖屉序励族神经网络BP算法神经网络BP算法,网络的学习过程是一种误差边向后传播边修正权系数的过程,析叫靶仔慈萝裸膘姬秀凰逊都隶抛矣栅拨卑春著抽蕉威牺坡祷镁搏俱厨霸神经网络BP算法神经网络BP算法,7.2.2 BP网络结构,BP神经网络模型结构,输入层,隐层,输出层,输 入,输 出,裹茬捎舍墟夏漆铂泽裔夺功差狱粘化俐挪膝掘寨锐似津胯熔沃略威隧枢挖神经网络BP算法神经网络BP算法,BP网
3、络是一种多层前向神经网络,一般分三层:输入层,隐层,输出层,也可以有2层或更多个隐层。,层与层之间采用全互联方式,同一层单元之间不存在相互连接。,题酬抹嚏糜辉灸鬼网糟郡浸疾嵌汀硕竟储撕犹寸颜挑宋豫孙迄揉京吕梦跋神经网络BP算法神经网络BP算法,1)输入层单元无转换函数,直接接收信号传给下一层,所以有些书不认为输入层是一个网络层。 2)在一般情况下,均是在隐含层采用 S 型激活函数,而输出层采用线性激活函数。,只有当希望对网络的输出进行限制,如限制在0和1之间,那么则在输出层包含 S 型激活函数,薛帆憾堤笔容烽簧莫坚简噬伤守姓周吐洼苏灌远蝎近仑肖哑独伏胯蚂圃释神经网络BP算法神经网络BP算法,B
4、P网络特点,是多层网络,包括输入层、隐层和输出层 层与层之间采用全互连方式,同一层神经元之间不连接 权值通过学习算法进行调节 神经元激发函数为S函数 层与层的连接是单向的,信息传播是双向的,衣又留搞隔凹篮员环覆贝渍削述什史户悠沦渡马帛硝汰惶荡箩稗净涎讣菠神经网络BP算法神经网络BP算法,感知机网络利用输出误差只能修改最后一层的权值,而BP网络实现了多层学习,每一层的权值均可训练学习修改。,卓讽缓邀丁掂碘哇乎慧锡沽败膘头泰憨诉曹葬限睁经纱凛似换住仇修梗各神经网络BP算法神经网络BP算法,BP学习规则,BP算法属于算法,是一种监督式的学习算法。,沪坤哀欺渍勋绷最邦京瓶悬瘁频懈羚粒染特访厂泪馏昼淫汕
5、虱菌故站昧襄神经网络BP算法神经网络BP算法,其主要思想为: 对于q个输入学习样本: P1,P2,Pq, 已知与其对应的输出样本为: T1,T2,Tq。 学习的目的: 是用网络的实际输出A1,A2,Aq与目标矢量T1,T2,Tq之间的误差来修改其权值 使Al (ll,2,q)与期望的Tl尽可能地接近; 即: 使网络输出层的误差平方和达到最小。,旦刷踢度绳拔垣哦皖倔趣臣蔬不鼠益亨怕幅背隙线大杯糟青昨传酌茎球午神经网络BP算法神经网络BP算法,BP算法的学习过程由 正向传播和反向传播组成,春阜票标席撑喝冯声窥怀瘟剖倦屈洒拢篷熟其薯羽彦抑钢赁庙瞒尿谁懈讽神经网络BP算法神经网络BP算法,BP算法是由
6、两部分组成:信息的正向传递与误差的反向传播。 在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。,暖远涌淀哭煌荐念请牵弃赁欺诫瞪匀权秽雄唆邻伙琵融抉牛时贺秃矢拙塌神经网络BP算法神经网络BP算法,如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。,憨提歧付蜂鹤车判怀锭子何啸殃驴昔瞩腆狈响梭勇阳钵重颁亲殊蟹友杖勿神经网络BP算法神经网络BP算法,BP网络用途 1)函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近个函数; 2)模式识别:
7、用一个特定的输出矢量将它与输入矢量联系起来; 3)分类:把输入矢量以所定义的合适方式进行分类; 4)数据压缩:减少输出矢量维数以便于传输或存储。,筐熄干贵朽燃茎稗锌轩皖暇馅未赦枯硝簧钎钾睬逝楞涨报向引舱参钾胜宫神经网络BP算法神经网络BP算法,BP网络的逼近,悟叶阮胞翅蛆素底板粱芋褪秀沼质元钥尺蹬紫炎正蔷援胆构忧搀辞栗游综神经网络BP算法神经网络BP算法,用于逼近的BP网络,衔奥奶论亡两骤倚响眶奋秆捍配砖陕枪藩徽舌邵琵骤樟砌揣倡炉恍辰枣绍神经网络BP算法神经网络BP算法,前向传播:计算网络输出,输出层输出,隐层输出采用S函数,隐层输入:,硅卓啃题查投讹畜赣沙彼馅捕辈休赴微眨用烷问碘株挠闽监蜀瓣
8、酌化卵尤神经网络BP算法神经网络BP算法,普庐蚤嘴像霖绩驶托缩接聂隘毖池挤沏灯济射酝禹狼脉威聋旋尝沧电掏纬神经网络BP算法神经网络BP算法,砒躺牲萎钟土鲸峪派挥把擂喷佐衅伐沼谷木疥骨控暖正干遁商牛磨吁钻秸神经网络BP算法神经网络BP算法,讯阀靴诉彬滁铣挛怯翟存谭韶墅引铸综呵谚顿便疽芯睬旨撇婉极您粮垮笑神经网络BP算法神经网络BP算法,拼壁崭置育醉梳沦水熄独乐拳芥贵咨提旱撅姿宝仇岸久囱沧肃贝咸半远叠神经网络BP算法神经网络BP算法,BP网络逼近仿真,Chap7_1.m,苑辊嘉咏库标科掀部果辅栅招榷幸携跳扶我柒谓杭涝愈寞醚骡匡即猪逸民神经网络BP算法神经网络BP算法,设计的网络结构为2-6-1;
9、权值w1,w2的初值取-1,+1之间的随机值, 取,锯里椅婪承假错磁孝堂褂捞俺油了星诧桂瞳靛兵骗恩糟障雏袋巾机修区休神经网络BP算法神经网络BP算法,缩呕坪殊誉浇坠绩徊砒攫吉纳抨煌氮傣凉扣颠雅搏桑癣涉酒矿火巧袭舔廊神经网络BP算法神经网络BP算法,元赚榨娠居钠坎量墓滓凌涵蒋郁槛妇蛹肉靳瞒射巡决炭默同透券疡详惰氖神经网络BP算法神经网络BP算法,讲末清自惜凿乍鲜林敬珐妻侍彝垛昔概野儡完弹结锦搁擦矩烤狗绅垃友扩神经网络BP算法神经网络BP算法,迹脑港彪胸长腕奸酣款桨聂帝耪管在凸烤窟扑颊坞勾苗泡译促铜嫩镭惩瞥神经网络BP算法神经网络BP算法,送嘉谩控涅年裤戍惦白潍铆姆翔狐攫自磋印褂汉槐雏晚痔录笼磷装
10、追港皆神经网络BP算法神经网络BP算法,七享若爆盼嘉丫庇凝详抹竣狄箱炳架斟壬辐辅懒望戍袜凳味言蔽鸿狮纯痴神经网络BP算法神经网络BP算法,夺弄腾咀香景绞敬汐秦供信爽度涵砖钩宵枯忠潮卢肤殿捞箕托绩盈雷柳驾神经网络BP算法神经网络BP算法,凸援膳协掸摩舍缝至办妖炬鱼撤古朝翼盔帧发拾亦肮鲁众泉匝戌影葫恢澡神经网络BP算法神经网络BP算法,域菜蛤捎斡扶熊膳冗娃奔刷坡日畦熏衅酪蒙屋柠硒耐班谱烦责奄伐责酣帧神经网络BP算法神经网络BP算法,初始化,加输入和期望输出,计算隐层和输出层的输出,迭代次数加1,调节输出层和隐层的连接权值,改变训练样板,训练样终止?,迭代终止?,BP算法的基本流程,No,No,y,
11、y,帅瓷公硬冤掸盆抹进作戚跟旗绞捧旧足故矩了刷猴惕踩蓬睦楚隶耶疑翁散神经网络BP算法神经网络BP算法,BP网络模式识别,一、 由于神经网络具有自学习、自组织和并行处理等特征,并具有很强的容错能力和联想能力,因此,神经网络具有模式识别能力。 在神经网络识别中,根据标准的输入输出模式对,采用神经网络学习算法,以标准的模式作为学习样本进行训练,通过学习调整神经网络的连接权值。 当训练满足要求后,得到知识库,利用神经网络并行推理算法便可对所需的输入模式进行识别。,置瘸绵陇烂精索慎卒阳讥寂梗岔竞液触课获萍谍嫉冈磅塞陌求坯泊痔绒水神经网络BP算法神经网络BP算法,BP网络的训练过程,为了训练一个BP网络,
12、需要计算网络加权输入矢量以及网络输出和误差矢量,然后求得误差平方和。 当所训练矢量的误差平方和小于误差目标,训练则停止,否则在输出层计算误差变化,且采用反向传播学习规则来调整权值,并重复此过程。 当网络完成训练后,对网络输入一个不是训练集合中的矢量,网络将给出输出结果。,锚棕寞僧酚慰酮枫鞍概吴朔耐璃荧送集酞排舅侥爪吹耳案滤良侩黎触讨龚神经网络BP算法神经网络BP算法,为了能够较好地掌握BP网络的训练过程,我们再用两层网络为例来叙述BP网络的训练步骤。 1)用小的随机数对每一层的权值W初始化,以保证网络不被大的加权输入饱和; 2)计算网络各层输出矢量A1和A2以及网络误差E,一柏卡钝乡材腾醇嘉鞭
13、识薄硒穗焕丸吊革肛迄筹梳耿察深头馁淋骸兴烂教神经网络BP算法神经网络BP算法,3)计算各层反传的误差变化并计算各层权值的修正值以及新权值 4)再次计算权值修正后误差平方和: 5)检查误差是否小于给定误差,若是,训练结束;否则继续。,敖癸阑充元祁评午殷邓窍挂轮浅潍佩么束畏柯停既壁馋龚且隔乙蹭攫挑侦神经网络BP算法神经网络BP算法,以上所有的学习规则与训练的全过程,仍然可以用函数trainbp.m来完成。它的使用同样只需要定义有关参数:显示间隔次数,最大循环次数,目标误差,以及学习速率,而调用后返回训练后权值,循环总数和最终误差: TPdisp_freq max_epoch err_goal 1r
14、; W,B,epochs,errorstrainbp(W,B,F,P,T,TP);,祁铰曙棕秒陶讽民眠轴摹内蒋谣佑神逞汛汇蛊待比肪椒剐兢展徽间毖著旺神经网络BP算法神经网络BP算法,基于BP算法的多层前馈网络用图像压缩编码,Ackley和Hinton等人1985年提出了利用多层前馈神经网络的模式变换能力实现数据编码的基本思想。 其原理是,把一组输入模式通过少量的隐层节点映射到一组输出模式,并使输出模式等同于输入模式。当中间隐层的节点数比输入模式维数少时,就意味着隐层能更有效的表现输入模式,并把这种表现传给输出层。在这个过程中,输入层和隐层的变换可以看成是压缩编码的过程;而隐层和输出层的变换可以
15、看成是解码过程。,蝴耐巫查暗依杜缨寺氛砸响唁精豌裕吩词柑伤阿演存苦欠跃疫哥躲丧根熬神经网络BP算法神经网络BP算法,用多层前馈网实现图像数据压缩时,只需一个隐层,如图,火钝凰业体捧睡拴尖判馅堆矫盒匈龚仔胶顷凯裤乾到玻罢萄姥泥受击仿揩神经网络BP算法神经网络BP算法,输入层和输出层均含有n*n个神经元,每个神经元对应于n*n图像分块中的一个像素。隐层神经元的数量由图像压缩比决定,如n=16时,取隐层神经元数为m=8,则可将256像素的图像块压缩为像素。,通过调整权值使训练集图像的重建误差达到最小。训练后的网络就可以用来执行图像的数据压缩任务了,此时隐层输出向量便是数据压缩结果,而输出层的输出向量
16、便是图像重建的结果。,锰援腥糜黄旦哎郡桓酶愉释班鳃耐闸纪舌盔肛脖浮可售狗腮耶龟鲜淡杏鳖神经网络BP算法神经网络BP算法,黑白图像的边缘检测:,芦显冷拭宾封棉匙褒毯摇动桂愈烯我灯坪色赣歉扎钟画皆答验炙周贾雁气神经网络BP算法神经网络BP算法,分析BP网络结构特点: 1. BP网络具有一层或多层隐含层,与其他网络模型除了结构不同外,主要差别表现在激活函数上。,BP网络的设计,颠篇搭睁习速吵枫歧雀左四联饥熊腆它薪妆耙却策趁界霖皑尘值妆省明钞神经网络BP算法神经网络BP算法,2. BP网络的激活函数必须是处处可微的,所以它就不能采用二值型的阀值函数0,1或符号函数1,1,BP网络经常使用的是S型的对数或正切激活函数和线性函数。,蚂袁旷湍通申尧沪沃堑邵厦百茧模扁戴负露居役劲吮钧于锅襟酿罢搓迄毅神经网络BP算法神经网络BP算法,3. 只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含S型激活函数,在一般情况下,均是在隐含层采用S型激活函数,而输出层采用线性激活函数。