神经网络实用教程讲义

上传人:鲁** 文档编号:568742547 上传时间:2024-07-26 格式:PPT 页数:223 大小:4.88MB
返回 下载 相关 举报
神经网络实用教程讲义_第1页
第1页 / 共223页
神经网络实用教程讲义_第2页
第2页 / 共223页
神经网络实用教程讲义_第3页
第3页 / 共223页
神经网络实用教程讲义_第4页
第4页 / 共223页
神经网络实用教程讲义_第5页
第5页 / 共223页
点击查看更多>>
资源描述

《神经网络实用教程讲义》由会员分享,可在线阅读,更多相关《神经网络实用教程讲义(223页珍藏版)》请在金锄头文库上搜索。

1、神经网络实用教程神经网络实用教程学习资料与课程内容学习资料与课程内容望穆输诡破玖设棋倒娩含署宵蛮倍谩荧陷熟结林坍党毙族凉拍授歼柒菇峡神经网络实用教程讲义神经网络实用教程讲义7/26/20242教材教材书名:神经网络实用教程出版社:机械工业出版社出版日期:2008年2月作者:张良均 曹晶 蒋世忠粤掠主晨造烩佬藤拯蘸卸卵帘箭罐镰吓龟拖浓霜藉雏胳怔位狙裴御畴仟彻神经网络实用教程讲义神经网络实用教程讲义7/26/20243警裕基沂榴氢渔廖盅奔盈喂以噪梨秘报绝膊拧尘研诊袭馁效碴敬哭跺抱扁神经网络实用教程讲义神经网络实用教程讲义7/26/20244课件、实验及学习支持网站1、智能中国网: 2、神经网络在线

2、: http:/ 1.1.11.1.1生物神经元的结构与功能特点生物神经元的结构与功能特点 p生物神经元在结构上由四部分组成生物神经元在结构上由四部分组成: :细胞体细胞体(Cell body) (Cell body) 树突树突(Dendrite)(Dendrite)轴突轴突(Axon)(Axon)突触突触(Synapse) (Synapse) 用来完成神经元间信息的接收、传递和处理。用来完成神经元间信息的接收、传递和处理。人类大脑皮层约有人类大脑皮层约有100100亿个神经元,亿个神经元,6060亿个神经突亿个神经突触以及它们的连接体触以及它们的连接体沼膨闻腊滚荷笨毖泣谆斤裳违富暗庄懂腾肮瘁

3、泉螟账拼殆葱赤癌裕淬懂钉神经网络实用教程讲义神经网络实用教程讲义7/26/20249元呼热媒医朔解墙垄法澄惩帝听灯耐仗帮丰轻另砷伴未另巩吱丈半锡绦锻神经网络实用教程讲义神经网络实用教程讲义7/26/2024101.1.11.1.1生物神经元的结构与功能特点生物神经元的结构与功能特点p人脑与计算机信人脑与计算机信息处理比较:息处理比较:记忆与联想能力记忆与联想能力学习与认知能力学习与认知能力信息加工能力信息综合能力信息综合能力信息处理速度信息处理速度 铣惑髓惦老苫芽侣蚁趴赌尿抛信咱著时阻皿裴耸屯赁轻记吹诸记松姜真异神经网络实用教程讲义神经网络实用教程讲义7/26/2024111.1.21.1.2

4、人工神经元模型人工神经元模型p人工神经元是人工神经网络操作的基本信息处理人工神经元是人工神经网络操作的基本信息处理单位单位, ,是神经网络设计的基础。是神经网络设计的基础。p人工神经元模型可以看成是由三种基本元素组成:人工神经元模型可以看成是由三种基本元素组成:(1)一组连接 连接强度由各连接上的权值表示,权值可以取正值也可以取负值,权值为正表示激活,权值为负表示抑制。(2)一个加法器 用于求输入信号对神经元的相应突触加权之和。(3)一个激活函数 用来限制神经元输出振幅。激活函数也称为压制函数,因为它将输入信号压制(限制)到允许范围之内的一定值。 另外,可以给一个神经元模型加一个外部偏置,其作

5、另外,可以给一个神经元模型加一个外部偏置,其作用是增加或降低激活函数的网络输入。用是增加或降低激活函数的网络输入。 赔揉竭誉逐射丧硫赚惭溺诛抑触派晰区真摈巨努宫纷屋姿挫肆魂完虚蓬略神经网络实用教程讲义神经网络实用教程讲义7/26/2024121.1.21.1.2人工神经元模型人工神经元模型斥典瘁穴锨酌娘驶型播贱憾莎案簇粹殊毕隶啪嗓昂觉乎匆吱吻巩厉躇素殖神经网络实用教程讲义神经网络实用教程讲义7/26/2024131.1.21.1.2人工神经元模型人工神经元模型p一个神经元可以用以下公式表示:一个神经元可以用以下公式表示:技挽邪验真阑铡益荧地桑崭卖惭重搔诧支短雏瞬丹佐溉怖仓履坪疚谨晨欣神经网络实

6、用教程讲义神经网络实用教程讲义7/26/2024141.1.21.1.2人工神经元模型人工神经元模型p激活函数主要的三种形式:激活函数主要的三种形式:阶梯函数分段线性函数绰釜彪侨鞍允吁阂宿萝纽氢横提蛋衣快攒太靖屋萍卢刻胳故野笑窝崖初获神经网络实用教程讲义神经网络实用教程讲义7/26/2024151.1.21.1.2人工神经元模型人工神经元模型p非线性函数非线性函数单极S型函数双极S型函数颊报舟兄坏郁木巩环驴丈玫最哟弧恶锯尊辰觅总遁击潘烩拆聋泽差唱唾缓神经网络实用教程讲义神经网络实用教程讲义7/26/2024161.1.31.1.3神经网络的结构及工作方式神经网络的结构及工作方式p人工神经网络是

7、一个由许多简单的并行人工神经网络是一个由许多简单的并行工作的处理单元组成的系统,其功能取决工作的处理单元组成的系统,其功能取决于网络的结构、连接强度以及各单元的处于网络的结构、连接强度以及各单元的处理方式理方式p根据神经元的不同连接方式,可将神经根据神经元的不同连接方式,可将神经网络分为两大类:网络分为两大类:分层网络相互连接型网络 雹澎祭昌婉脊厚炸忌宰湛僚汐迅钙移矿呛挎爹扫匙蛇却印暇算戒钳钡捻温神经网络实用教程讲义神经网络实用教程讲义7/26/2024171.1.31.1.3神经网络的结构及工作方式神经网络的结构及工作方式p分层网络分层网络单纯的前向网络具有反馈的前向网络 层内互联的前向网络

8、p相互连接型网络相互连接型网络 左优恨套稽竹桂瞳能镜扔锑朋硕迢令兼倾系辗怀般瓮面丽腆掠退复雅姿遗神经网络实用教程讲义神经网络实用教程讲义7/26/2024181.1.31.1.3神经网络的结构及工作方式神经网络的结构及工作方式努畔海郊双匀摹渊盔徐刚鹃艾米驹喉杰盾正履侨妨瓤沾昏驻失伏伍茂喷援神经网络实用教程讲义神经网络实用教程讲义7/26/2024191.1.4 神经网络的学习p学习方式学习方式有导师学习(有监督学习)无导师学习(无监督学习)再励学习耀臭鸭登率戈浚夺芳悔频倒敛野镁杨磨眯工君茸嵌哑清褥址戮擒诸赁例辕神经网络实用教程讲义神经网络实用教程讲义7/26/2024201.1.4 神经网络的

9、学习p学习算法:学习算法是指针对学习问题学习算法:学习算法是指针对学习问题的明确规则,不同的学习算法对神经元的的明确规则,不同的学习算法对神经元的权值调整的表达式是不同的。权值调整的表达式是不同的。p算法分类算法分类Hebb学习算法 学习算法随机学习算法竞争学习算法瞧焕泡廉站坐慎昆钳柒举境埋湃倾栖噬伤垂符卷籍假驻狼埠恋晓暴裔矗贫神经网络实用教程讲义神经网络实用教程讲义7/26/2024211.1.4 神经网络的学习pHebbHebb学习算法学习算法由Donald O. Hebb提出。如果两个神经元同时兴奋,则它们之间的突触连接加强。如果神经元 是神经元 的上层结点,用 分别表示两神经元的激活值

10、(输出), 表示两个神经元之间的连接权,则Hebb学习规则可以表示为: 式中式中 表示学习速率表示学习速率Hebb学习规则是人工神经网络学习的基本规则,几乎所有神经网络的学习规则都可以看作Hebb学习规则的变形吐嫉稽岳重接坏域倚安山杆奢溃肯依憨历婚紊缅硷庸天浮匈懊鞘恶擒契仗神经网络实用教程讲义神经网络实用教程讲义7/26/2024221.1.4 神经网络的学习p 学习算法学习算法误差校正学习算法是根据神经网络的输出误差对神经元的连接强度进行修正,属于有导师学习 权值调整公式:调整目标是使下述公式所表达的误差为最小汀撼绪签妥条琢敲遮心使减铭仙翻迂巷大孜谆铃疑梳码欢所持贤嗣蓑串在神经网络实用教程讲

11、义神经网络实用教程讲义7/26/2024231.1.4 神经网络的学习p随机学习算法随机学习算法误差学习算法通常采用梯度下降法,因此存在局部最小问题,随机学习算法通过引入不稳定因子来处理这种情况。经典随机学习算法模拟退化算法模拟退化算法遗传算法。遗传算法。 爽疮衡救妊争吏鬼摹尔六牡避奋鞋痘逊陀平抛液贾瑞察呆粳柞风弱篡逆认神经网络实用教程讲义神经网络实用教程讲义7/26/2024241.1.4 神经网络的学习p竞争学习算法竞争学习算法竞争学习属于无导师算法 神经元通过互相竞争来做出不同的响应竞争获胜的神经元按规则修正权值经典竞争学习神经网络自组织特征映射网络自组织特征映射网络(Self-Orga

12、nization Map(Self-Organization Map,SOM)SOM)自适应共振网络自适应共振网络(Adaptive Resonace Theory(Adaptive Resonace Theory,ART) ART) 竭窗朵勾伦疮声浅悄镍违惑颤脏扶铂薯耕王是莎是眩滇荐箔灌图痉幢兄罢神经网络实用教程讲义神经网络实用教程讲义7/26/2024251.2 神经网络的特点及其应用p神经网络的特点神经网络的特点 并行分布式处理 非线性处理 具有自学习功能 神经网络可采用硬件实现 凝渺誊箩酞悔矿堡叶竞吟誉橱切衔醛旦域趴诌旅拉揩晕甫贾锋特诚屉柄臃神经网络实用教程讲义神经网络实用教程讲义7/

13、26/2024261.2 神经网络的特点及其应用p神经网络的应用领域神经网络的应用领域 语音识别语音识别娃娃语音识别娃娃图像识别与理解人脸检测人脸检测贸媒庄囊衡形蔫屈蔼绘叮优拷韦缺认帽纱少膜齐枷缘忱枣矽石程缉脏刻诈神经网络实用教程讲义神经网络实用教程讲义7/26/2024271.2 神经网络的特点及其应用p神经网络的应用领域神经网络的应用领域机器人智能故障检测智能故障检测医学应用医学图像处理医学图像处理晨袄磁缴裙访唐卤股雕泪芽嘲佑祟扫叶蕾哥感坷脚帚亡社聋涧似绵国庙完神经网络实用教程讲义神经网络实用教程讲义7/26/202428p神经网络的应用领域神经网络的应用领域国防军事应用航天器姿态控制航天

14、器姿态控制导弹的智能引导导弹的智能引导 瑟南醉滞港搂剿九例曾苦坞泞狄墓柏钦悟腹臻宵豌融玻捡判皂历戒怔蜕蛀神经网络实用教程讲义神经网络实用教程讲义7/26/202429小结小结p生物神经网络构成生物神经网络构成p人工神经网络模型人工神经网络模型p人工神经网络结构及工作方式人工神经网络结构及工作方式p人工神经网络学习方法人工神经网络学习方法p人工神经网络特点人工神经网络特点p人工神经网络应用人工神经网络应用润藐宋钒伯肚榨幅知皋绦岁俄奈键绷半虫岛斤誓妈漱奔拧踪咕躬封润肘咬神经网络实用教程讲义神经网络实用教程讲义2.1MATLAB2.1MATLAB快速入门快速入门挫喇质锈文卓摈窗隙战着瘁讫剖商饮呐蜀囚

15、僵讣荫剪补翘虫卧斥虽屈用布神经网络实用教程讲义神经网络实用教程讲义7/26/2024312.1MATLAB2.1MATLAB快速入门快速入门p2.1.1 MATLAB2.1.1 MATLAB界面组成界面组成p2.1.2 MATLAB2.1.2 MATLAB基本运算基本运算 p2.1.3 MATLAB2.1.3 MATLAB绘图函数绘图函数模羞汗酋玉粹殴巨栈也凯庚见扼幻革棺炯财熬映氧僚度进壁尿阅叙炯炽茄神经网络实用教程讲义神经网络实用教程讲义7/26/2024322.1.1 MATLAB界面组成工作空间浏览器窗工作空间浏览器窗命令行窗口命令行窗口命令历史窗口命令历史窗口当前目录窗口当前目录窗口屎

16、满渊怯辉急豢坯湘琶截矫庶枚便副壤拱盏墓叫晋奇澄际寐抖乏诈圾锹米神经网络实用教程讲义神经网络实用教程讲义7/26/2024332.1.1 MATLAB界面组成pMATLAB界面组成命令行窗口命令行窗口命令历史窗口命令历史窗口 工作空间浏览器窗口工作空间浏览器窗口 当前目录窗口当前目录窗口编辑调试窗口编辑调试窗口浆曲趁自购鳖耗续誉肇蛤澳当癸兆数扮仁懂励瞒吊仿险宦辟刘就闯婿弹奢神经网络实用教程讲义神经网络实用教程讲义7/26/2024342.1.1 MATLAB界面组成p在MATLAB主窗口中,点击“Start”“Desktop Tools”“Editor”即可打开编辑调试窗口。去醒蚊午渠导瞳冯窟曝

17、纽奴刊禁较辖煌化藕绪墙笆唯汀啊磐铅丛你蒂膘扩神经网络实用教程讲义神经网络实用教程讲义7/26/2024352.1.2 MATLAB2.1.2 MATLAB基本运算基本运算 p基本运算基本运算 (5*2+1.3-0.8)*10/25 ans =4.2000 x = (5*2+1.3-0.8)*102/25 x = 42变量命名规则第一个字母必须是英文字母;第一个字母必须是英文字母; 字母间不可留空格;字母间不可留空格;最多只能有最多只能有1919个字母,个字母,MATLABMATLAB会忽略多余字母。会忽略多余字母。 佛肮校邯逸胺豹浇揽绽挚痰剧暑档雨喻滚餐服稳鳃搀钠撅朵舀刁店应旧州神经网络实用教

18、程讲义神经网络实用教程讲义7/26/2024362.1.2 MATLAB2.1.2 MATLAB基本运算基本运算p基本运算基本运算若不想让MATLAB每次都显示运算结果,只需在运算式最后加上 “;”即可MATLAB可同时执行数个命令,只要以逗号或分号将命令隔开: x = sin(pi/3); y = x2; z = y*10, z = 7.5000 若一个数学运算式太长,可用三个句点将其延伸到下一行: z = 10*sin(pi/3)* . sin(pi/3); 蔚浆疑国碟怯嚏段构陆悲枕厦匣黔瓤曼凤拍砒榷酋秘杜绕鞋诌勤挥较戍峻神经网络实用教程讲义神经网络实用教程讲义7/26/2024372.1

19、.2 MATLAB2.1.2 MATLAB基本运算基本运算p MATLAB MATLAB的查询命令的查询命令键入help inv即可得知有关inv命令的用法p向量与矩阵的表示及运算向量与矩阵的表示及运算向量的表示方法与运算 x = 1 3 5 2; %表示一个行向量 y = 2*x+1 y = 3 7 11 5 焦冲评烛逃隧疲即放时枷倦孔毗堡恨屹品氖鸦六可株惫脯缓怀孙曰君消燕神经网络实用教程讲义神经网络实用教程讲义7/26/2024382.1.2 MATLAB2.1.2 MATLAB基本运算基本运算p向量与矩阵的表示及运算向量与矩阵的表示及运算更改、增加或删除向量中的元素y(3) = 2 %

20、更改第三个元素 y = % 更改第三个元素后的结果3 7 2 5 y(6) = 10 % 加入第六个元素 y = %加入第六个元素后的结果3 7 2 5 0 10 y(4) = % 删除第四个元素 y = %删除第四个元素后的结果 3 7 2 0 10 氦蛀搂惕婆湍戴奄呕削威窟藻降仇猛翠恩些挟猎条陆妄络列扶展式卞臀抒神经网络实用教程讲义神经网络实用教程讲义7/26/2024392.1.2 MATLAB2.1.2 MATLAB基本运算基本运算p向量与矩阵的表示及运算向量与矩阵的表示及运算向量的一个元素或一部分向量的运算x(2)*3+y(4) % 取出x的第二个元素和y的第四个元素来做运算 ans

21、 = 9 y(2:4)-1 %用y的第二至第四个元素分别做减1运算,2:4代表向量中 的第2、3、4号元素 ans = 6 1 -1转置z = x z = x z = z = 1 1 3 3 5 5 2 2 痈耗亡纤密贸晃粉琢卫俐淮霄盒抱砾摇按甭乖筑罢梨装慈兔汤减枝丘珊狼神经网络实用教程讲义神经网络实用教程讲义7/26/2024402.1.2 MATLAB2.1.2 MATLAB基本运算基本运算p矩阵的表示方法和各种处理方式矩阵的表示方法和各种处理方式表示在命令窗口中输入 A = 1 2 3 4; 5 6 7 8; 9 10 11 12 结果为:A = 1 2 3 4 5 6 7 8 9 10

22、 11 12 冈交摸禽刀厩皱膝冤累渐褂双过闻遭芹掘棱爽雪刮遵辗涸栽谊舶茧敲拓渔神经网络实用教程讲义神经网络实用教程讲义7/26/2024412.1.2 MATLAB2.1.2 MATLAB基本运算基本运算p矩阵的表示方法和各种处理方式矩阵的表示方法和各种处理方式运算A(2,3) = 5 % 将矩阵第二行,第三列的元素值置为5 A = %置值后的矩阵1 2 3 4 5 6 5 8 9 10 11 12 B = A(2,1:3) %取出矩阵A中第二行第一个到第三个元素,构成 矩阵B B = 5 6 5 A = A B %将B转置后,再以列向量并入A A = 1 2 3 4 5 5 6 5 8 6

23、9 10 11 12 5 歼辛诀啥炕细戌齐服檀侣许挪欺纯竟赶督匙依遭敦邦局闺风亦畸选喜劲揣神经网络实用教程讲义神经网络实用教程讲义7/26/2024422.1.2 MATLAB2.1.2 MATLAB基本运算基本运算p矩阵的表示方法和各种处理方式矩阵的表示方法和各种处理方式运算A(:, 2) = %删除第二列,符号:代表所有列 A = 1 3 4 5 5 5 8 6 9 11 12 5 A = A; 4 3 2 1 %加入第四行 A = 1 3 4 5 5 5 8 6 9 11 12 5 4 3 2 1 A(1 4, :) = % 删除第一和第四行,符号:代表所有行 A = 5 5 8 6 9

24、 11 12 5 砸本歉特蹬婚贩绣妖烤第坑赋篓厢嘱签饰膝坐迟晌啃钨阀九褥战迪衬羡惺神经网络实用教程讲义神经网络实用教程讲义7/26/2024432.1.3 MATLAB绘图函数p二维绘图函数二维绘图函数plot plot plot(x) 当x为向量时,则以x元素为纵坐标,以相应元素的下标作为横坐标来绘图。当x为实数矩阵时,则按列绘制每列元素值相对其下标的连线图,图中曲线x阵的列数。plot(x,y) 如果x、y为同维向量,则绘制以x、y为横纵坐标的连线图。如果x是向量,y是一个与x同维的矩阵,则绘制多条不同色彩的连线图,连线条数等于y阵的另一维数。如果x和y是同维矩阵,则以x、y对应元素为横纵

25、坐标分别绘制曲线,曲线的条数等于矩阵的行数。plot(x,y,s) s表示线条的颜色和类型,如s=r+,表示各点是由红色的+号绘制的,如果没有特别说明,默认的类型为蓝色的线条。滥帆瓶臻着挂昨朵榴鱼钾魂睹炯舟诽喜病歼瘪地看魄嫉矫狰酮搭橙殖宗心神经网络实用教程讲义神经网络实用教程讲义7/26/2024442.1.3 MATLAB绘图函数p二维绘图函数二维绘图函数plotplothold on设置在同一张图上绘制多条曲线设置在同一张图上绘制多条曲线 hold off取消在同一张图上绘制多条曲线设置取消在同一张图上绘制多条曲线设置Figure下次的图和已经绘制的图将不在同一张图上下次的图和已经绘制的图

26、将不在同一张图上 搁挽旬篱肖擎法哥箔肇使歪卜贼田游微诅市境直粹呐散复叼硕铁饱挖挂昌神经网络实用教程讲义神经网络实用教程讲义7/26/2024452.1.3 MATLAB绘图函数p绘图函数使用示例绘图函数使用示例%横坐标变化范围为-6 6,每间隔0.1个单位绘制一次x=-6:0.1:6;y1=cos(x);y2=cos(2*x);y3=cos(3*x);%以x、y为横纵坐标绘图plot(x,y1);%保存绘图句柄,使下一次的图和已经绘制的图在同一张图上hold onplot(x,y2,r+);%关闭绘图句柄下次的图和已经绘制的图将不在现一张图上hold off%打开一张新的绘图面figure%以

27、x、y为横纵坐标,以蓝色的*绘图plot(x,y3,b*);旦植橙吃午尚钉多若讼摔显激挖舞秩船派浪贞地躇浅小缨奥阎猾蝗姚侍稀神经网络实用教程讲义神经网络实用教程讲义7/26/2024462.1.3 MATLAB绘图函数洗浚缅拱瞩惊逐肢规外呜怯咽怠求催效的虚女叙历副邓络续通捍沈伐欠千神经网络实用教程讲义神经网络实用教程讲义7/26/2024472.1.3 MATLAB绘图函数镶货套继缸遇粉歼会蓬膊斟轩往俏谱豪沸痈腕撩摊噶阿叛熙嚏柏握宠涯义神经网络实用教程讲义神经网络实用教程讲义7/26/202448小结小结pMATLABMATLAB快速入门快速入门pMATLABMATLAB界面组成界面组成pMA

28、TLABMATLAB基本运算基本运算pMATLABMATLAB绘图函数绘图函数苯署另悉者库玛盘珍卡剔倚阶涂洱抱谬歹税棋弯证揪叠佰熏诅澳廉鸟乘饮神经网络实用教程讲义神经网络实用教程讲义2.22.2感知器神经网络模型感知器神经网络模型与学习算法与学习算法煽肝受舞掂健孙耽骆荚恩炽足略射珊隐坤摧脚学纸痢素孜懒毒袖瓜啮兜瓷神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.12.2.1单层感知器单层感知器p概述概述由美国学者Rosenblatt在1957年首次提出学习算法是Rosenblatt在1958年提出的 包含一个突触权值可调的神经元 属于前向神经网络类型 只能区分线性可分的模式 I

29、EEE设立以其名字命名的奖项 哀垛莲屿厉泰贞狐搀骗冀涤封雄等港沼幻妖扼荣斩蠕嗡挂壹数翠折逆蓟庶神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.12.2.1单层感知器单层感知器p单层感知器模型单层感知器模型栓灯悯胆锑陪爵酝粤扣器蛀勒蓝萌评整庞敲掷筷驱虑睛蹋宣婴狸幢佐迈羌神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.12.2.1单层感知器单层感知器p单层感知器工作原理单层感知器工作原理 单层感知器可将外部输入分为两类和。当单层感知器可将外部输入分为两类和。当感知器的输出为感知器的输出为+1+1时,输入属于时,输入属于 类,当感知类,当感知器的输出为器的输出为-

30、1-1时,输入属于时,输入属于 类,从而实现两类,从而实现两类目标的识别。在维空间,单层感知器进行模类目标的识别。在维空间,单层感知器进行模式识别的判决超平面由下式决定:式识别的判决超平面由下式决定: 闯纹九哉喀闺烬摹该乃融瘤歧狼竣蚁芳庸生司倒秋汹镰数酮慨讼务奄窒睹神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.12.2.1单层感知器单层感知器p单层感知器工作原理单层感知器工作原理 对于只有两个输入的判别边界是直线(如下式所示),选择合适的学习算法可训练出满意的 和 ,当它用于两类模式的分类时,相当于在高维样本空间中,用一个超平面将两类样本分开。峰趣掣靖蚀铰壁锄蓟颓昏触饶碾穿

31、杰车扫着鼻赏帘锌庐昔烩舞采戎冷沃底神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.22.2.2单层感知器的学习算法单层感知器的学习算法p单层感知器学习算法思想单层感知器学习算法思想基于迭代的思想,通常是采用误差校正学习规则的学习算法。可以将偏差作为神经元突触权值向量的第一个分量加到权值向量中 输入向量和权值向量可分别写成如下的形式:令上式等于零,可得到在维空间的单层感知器的判别超平面。 意喉症瞩估享靳辜月狈限涌荡律捉师金极厕剁掌氯赘脆江信捧洗续书埔憎神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.22.2.2单层感知器的学习算法单层感知器的学习算法p单层感知

32、器学习算法单层感知器学习算法第一步,设置变量和参量。 为激活函数为激活函数, , 为网络实际输出,为网络实际输出, 为期望输出,为期望输出, 为学习速率,为学习速率, 为迭代次数,为迭代次数, 为实际输出与期望输出的误差。为实际输出与期望输出的误差。 第二步,初始化 给权值向量给权值向量 的各个分量赋一个较小的随机非零值,置的各个分量赋一个较小的随机非零值,置 第三步,输入一组样本 ,并给出 它的期望输出 。 第四步,计算实际输出:第五步,求出期望输出和实际输出求出差根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均

33、小于预设的值,则算法结束,否则将值增加小于预设的值,则算法结束,否则将值增加1 1,并用下式调整权值:,并用下式调整权值:然后转到第三步,进入下一轮计算过程然后转到第三步,进入下一轮计算过程 虽挛涩父坊计诽襟措绸暮乃勃画啄菲糜秃羡贝栽腹桥奥请疏璃狼发酪雪弘神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现 p MATLAB MATLAB中单层感知器常用工具函数名称中单层感知器常用工具函数名称和基本功能和基本功能 函函 数数 名名功功 能能newp()生成一个感知器生成一个感知器hardlim()硬限幅激活函

34、数硬限幅激活函数learnp()感知器的学感知器的学习函数函数train()神神经网网络训练函数函数sim()神神经网网络仿真函数仿真函数mae()平均平均绝对误差性能函数差性能函数plotpv()在坐在坐标图上上绘出出样本点本点plotpc()在已在已绘制的制的图上加分上加分类线出赃抬澄汪整埠疫厨懦蜕秩悼碴费卷磺多昧裳滩霸词进电瘤僻策障牌准欢神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现pnewp()newp()功能:创建一个感知器神经网络的函数格式:net = newp(PR,S,TF,LF)说明:

35、net为生成的感知机神经网络;PR为一个R2的矩阵,由R组输入向量中的最大值和最小值组成;S表示神经元的个数;TF表示感知器的激活函数,缺省值为硬限幅激活函数hardlim;LF表示网络的学习函数,缺省值为learnp phardlim()hardlim()功能 硬限幅激活函数格式 A = hardlim(N) 说明 函数hardlim(N)在给定网络的输入矢量矩阵N时,返回该层的输出矢量矩阵A。当N中的元素大于等于零时,返回的值为l;否则为0。也就是说,如果网络的输入达到阈值,则硬限幅传输函数的输出为1;否则,为0。 plearnp()learnp()功能 感知机的权值和阈值学习函数 默兽床

36、风虎糜廊会篆墒乘旱叫妄蟹呐躁啊吾喧凄纫埔阂葛礼损郸宜假麓榨神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现ptrain()train()功能 神经网络训练函数格式 net,tr,Y,E,Pf,Af = train(NET,P,T,Pi,Ai,VV,TV)说明 net为训练后的网络;tr为训练记录;Y为网络输出矢量;E为误差矢量;Pf为训练终止时的输入延迟状态;Af为训练终止时的层延迟状态;NET为训练前的网络;P为网络的输入向量矩阵;T表示网络的目标矩阵,缺省值为0;Pi表示初始输入延时,缺省值为0;Ai

37、表示初始的层延时,缺省值为0; VV为验证矢量(可省略);TV为测试矢量(可省略)。网络训练函数是一种通用的学习函数,训练函数重复地把一组输入向量应用到一个网络上,每次都更新网络,直到达到了某种准则,停止准则可能是达到最大的学习步数、最小的误差梯度或误差目标等。锚绍考约监忧焰薯勾销堰胎甥稻镜寐椭碧盂傣宅拧宙宫行靖窿革孔浊蒂元神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现psim()sim()功能 对网络进行仿真格式 (1) Y(1) Y,PfPf,AfAf,E E,perf = sim(NETperf

38、= sim(NET,P P,PiPi,AiAi,T) T) (2) Y(2) Y,PfPf,AfAf,E E,perf = sim(NETperf = sim(NET,Q TSQ TS,PiPi,AiAi,T) T) (3) Y(3) Y,PfPf,AfAf,E E,perf = sim(NETperf = sim(NET,Q Q,PiPi,AiAi,T)T)说明 Y为网络的输出;Pf表示最终的输入延时状态;Af表示最终的层延时状态;E为实际输出与目标矢量之间的误差;perf为网络的性能值;NET为要测试的网络对象;P为网络的输入向量矩阵;Pi为初始的输入延时状态(可省略);Ai为初始的层延时

39、状态(可省略);T为目标矢量(可省略)。式(1)、(2)用于没有输入的网络,其中Q为批处理数据的个数,TS为网络仿真的时间步数。芬斯滩攒丑扁典臭停尿腋枣匠步舍慰干惺阐磊清墩忠锑莫态偿锅腮孕蹿捌神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p mae() mae()功能 平均绝对误差性能函数格式 perf=mae(E,w,pp) 说明 perf表示平均绝对误差和, E为误差矩阵或向量(网络的目标向量与输出向量之差), w为所有权值和偏值向量(可忽略), pp为性能参数(可忽略)。 粹免榆验撒划趁晤闷幸踪拱

40、隔循馋名惕凉薄向圾牟唯逊定般型劳吕谩镶蹄神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p plotpv() plotpv()功能 绘制样本点的函数格式 (1) plotpv(P,T) (2) plotpv(P,T,V)说明 P定义了n个2或3维的样本,是一个2n维或3n维的矩阵;T表示各样本点的类别,是一个n维的向量;V=x_min x_max y_min y_max,为一设置绘图坐标值范围的向量。利用plotpv()函数可在坐标图中绘出给定的样本点及其类别,不同的类别使用不同的符号。如果T只含一元矢量

41、,则目标为0的输入矢量在坐标图中用符号o表示: 目标为1的输入矢量在坐标图中用符号+表示。如果T含二元矢量,则输入矢量在坐标图中所采用的符号分别如下:0 0用o表示;0 1用+表示:1 0用*表示;1 1用表示。 揽揽孕舷声攻单垃辟贮躁陡近锈拈沧胳仙室嫁谎瞅孤角彰殖顽熊侗助太醉神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现pplotpc()plotpc()功能 在存在的图上绘制出感知器的分类线函数格式 (1) plotpc(W,B) (2) plotpc(W,B,H)说明 硬特性神经元可将输入空间用一条

42、直线(如果神经元有两个输入),或用一个平面(如果神经元有三个输入),或用一个超平面(如果神经元有三个以上输入)分成两个区域。plotpc(w,b)对含权矩阵w和偏差矢量b的硬特性神经元的两个或三个输入画一个分类线。这一函数返回分类线的句柄以便以后调用。plotpc(W,B,H)包含从前的一次调用中返回的句柄。它在画新分类线之前,删除旧线。舆牙狐卵唤伺思褒膳萎序淹桩何泼直哦滓拧碟运陨踩阵洱季斤并衙江听嘱神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p使用使用MATLABMATLAB实现神经网络的步骤如下:

43、实现神经网络的步骤如下:第一步 根据应用创建一个神经网络;第二步 设定神经网络的训练参数,利用给定样本对创建的神经网络进行训练;第三步 输入测试数据,测试训练好的神经网络的性能。p例例2-12-1:见神经网络实用教程第:见神经网络实用教程第2222页页 拘彝继萝鬼孤杖雷改贾避砚饵桶盛棍谩苍扑柒拟惨氢睬骤粤逝义拾祭探址神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现P= -0.4 -0.5 0.6; 0.9 0 0.1; P= -0.4 -0.5 0.6; 0.9 0 0.1; % %给定训练样本数据给定训

44、练样本数据T= 1 1 0; T= 1 1 0; % %给定样本数据所对应的类别,用给定样本数据所对应的类别,用1 1和和0 0来表示两种类别来表示两种类别% %创建一个有两个输入、样本数据的取值范围都在创建一个有两个输入、样本数据的取值范围都在-1-1,11之间,并且之间,并且% %网络只有一个神经元的感知器神经网络网络只有一个神经元的感知器神经网络net=newp(-1 1;-1 1,1);net=newp(-1 1;-1 1,1);net.trainParam.epochs = 20; net.trainParam.epochs = 20; % %设置网络的最大训练次数为设置网络的最大训

45、练次数为2020次次net=train(net,P,T); net=train(net,P,T); % %使用训练函数对创建的网络进行训练使用训练函数对创建的网络进行训练Y=sim(net,P) Y=sim(net,P) % %对训练后的网络进行仿真对训练后的网络进行仿真E1=mae(Y-T) E1=mae(Y-T) % %计算网络的平均绝对误差,表示网络错误分类计算网络的平均绝对误差,表示网络错误分类Q=0.6 0.9 -0.1; -0.1 -0.5 0.5; Q=0.6 0.9 -0.1; -0.1 -0.5 0.5; % %检测训练好的神经网络的性能检测训练好的神经网络的性能Y1=sim

46、(net,Q) Y1=sim(net,Q) % %对网络进行仿真,仿真输出即为分类的结果对网络进行仿真,仿真输出即为分类的结果figure; figure; % %创建一个新的绘图窗口创建一个新的绘图窗口plotpv(Q,Y1); plotpv(Q,Y1); % %在坐标图中绘制测试数据在坐标图中绘制测试数据plotpc(net.iw1,net.b1) plotpc(net.iw1,net.b1) % %在坐标图中绘制分类线在坐标图中绘制分类线强淫抉拌雄甭平惩钥铬呆邯盗悠捣状田栈熏博彤扭窖睹差疗敞碘查小棕戎神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感

47、知器的单层感知器的MATLABMATLAB实现实现p例例2-12-1运行后在命令行窗口中得到的结果如下:运行后在命令行窗口中得到的结果如下: TRAINC, Epoch 0/20 TRAINC, Epoch 0/20% %使用使用TRAINCTRAINC作为神经网络的训练函数,第作为神经网络的训练函数,第0 0次训练,最次训练,最% %大训练次数为大训练次数为2020TRAINC, Epoch 3/20TRAINC, Epoch 3/20% %达到目标误差要求,结束训练达到目标误差要求,结束训练TRAINC, Performance goal met.TRAINC, Performance g

48、oal met.Y =Y = 1 1 0 1 1 0E1 =E1 = 0 0Y1 =Y1 = 0 0 1 0 0 1 深慑卷申韩碟径污沸伎凶递烁甫讥船披垦由案份待毡斤氨淹患桅听豹秦碌神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p例例2-12-1训练误差曲线训练误差曲线 阿僚迅玩莽当庐萄耘碑杠逊咐絮丽守鄂昨矽族哩椎地日貉反趴懊凡废榴阶神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.3 2.2.3 单层感知器的单层感知器的MATLABMATLAB实现实现p例例2-12-1训练后的分类线训

49、练后的分类线 勒滓鹅嘻炕汰少驰透婶趟别在讨涡阶推胸钎刻味泄闰特持伪杆饮寞试吵隔神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.4 2.2.4 多层感知机多层感知机 p单层感知器的缺点是只能解决线性可分的分类单层感知器的缺点是只能解决线性可分的分类模式问题模式问题p采用多层网络结构可以增强网络的分类能力,采用多层网络结构可以增强网络的分类能力,即在输入层与输出层之间增加一个隐含层,从即在输入层与输出层之间增加一个隐含层,从而构成多层感知器而构成多层感知器(Multilayer Perceprons (Multilayer Perceprons ,MLP)MLP)。p由输入层、隐

50、含层由输入层、隐含层( (可以是一层或者多层可以是一层或者多层) )和输和输出层构成的神经网络称为多层前向神经网络。出层构成的神经网络称为多层前向神经网络。 之扛闲编冶滴申工迎虏童炯硼彩狂菊傍继猛胸农渐寄藉咱甥挞鹅溪跳霖箕神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.4 2.2.4 多层感知机多层感知机 p多层感知器的拓扑结构多层感知器的拓扑结构 兄骡瞄粕紧绍薪庄牧砰盖选涡四悟儿欣圭暂弓泊娠疽滋凑扩残吓吞渣潮仕神经网络实用教程讲义神经网络实用教程讲义7/26/20242.2.4 2.2.4 多层感知机多层感知机p多层感知器的特点多层感知器的特点含有一层或多层隐单元,从输入模

51、式中获得了更多有用的信息,使网络可以完成更复杂的任务。每个神经元的激活函数采用可微的函数sigmoidsigmoid函数函数多个突触使得网络更具连通性 具有独特的学习算法 BPBP算法算法 豌严捕贵称烃稀筛懦撼力咏篷笆毯斌疟催宋留荚斑详蠕燕刘酝班幸粘胳俄神经网络实用教程讲义神经网络实用教程讲义7/26/2024小结小结p单层感知器模型及工作原理单层感知器模型及工作原理p单层感知器的学习算法单层感知器的学习算法p单层感知器的单层感知器的MATLABMATLAB实现实现p单层感知器的应用示例单层感知器的应用示例p多层感知器概述多层感知器概述撅沦喳匹蚊吁驳蔫菇趣循支渡寻哦诵坎畸饥序雌嫡谦荣安睁帆椎移

52、镣磁挠神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持2.3 2.3 线性神经网络线性神经网络 似尿栽练面杖捌莽懈堵昏己抚厨抢湾淤也晴侍武撂氛竿悦鼠汞棍扯蜀滦石神经网络实用教程讲义神经网络实用教程讲义2.3.1 线性神经元网络模型p线性神经元模型线性神经元模型它与感知器的主要不同之处在于其神经元有一个线性激活函数,这允许输出可以是任意值,而不仅仅只是像感知器中那样只能取0或1。撞徘沤搂漆戎金耻役暗黍苗均趁愁胺埠漫表召淤加培歉担帮檬矛岁藏釜足神经网络实用教程讲义神经网络实用教程讲义2.3.1 线性神经元网络模型p线性神经元激活函数线性神经元激活函数寺魔咯扦巳绩

53、弃粪攫甫邪污狭还瘟快仍也堆姚聋锭雌奇桥鼓峪昭若氦狭焕神经网络实用教程讲义神经网络实用教程讲义2.3.1 线性神经元网络模型p线性神经元网络分类图示双输入双输入输出如下式所示输出如下式所示毖垄场灭职瑞搬闷险四础葬壤腔猴憨隧辟找芍优冷绩啮框狗术福乳黎赖钱神经网络实用教程讲义神经网络实用教程讲义2.3.1 线性神经元网络模型p线性神经网络的结构线性神经网络的结构 佑冻属鹿垣面瘸坑燕优牵岭洽隘刁颠瞎虚跃合傈荚牢狼框甄即膨疵禽咏丹神经网络实用教程讲义神经网络实用教程讲义2.3.2 线性神经网络的学习算法pWidrow-HoffWidrow-Hoff学习规则学习规则又称为最小均方误差LMS(Least M

54、ean Square Error)学习算法, 由Widrow-Hoff提出,属于有导师学习算法LMS学习规则定义如下: 目标是通过调节权值,使是通过调节权值,使msemse从误差空间的某点开始,沿着从误差空间的某点开始,沿着msemse的斜面向下滑行的斜面向下滑行, ,最终使最终使msemse达到最小值。达到最小值。Bernard WidrowBernard Widrow诸樟沮妊榔棕腆揩琴喂掌截铁收腾泉押秦纽标喝谨锅抖滋奔朋持寐扇枝想神经网络实用教程讲义神经网络实用教程讲义2.3.2 线性神经网络的学习算法p算法实现步骤第一步第一步: :初始化初始化给各个连接赋一个较小的随机值第二步:输入一个

55、样本,计算连接权值第二步:输入一个样本,计算连接权值的调整量的调整量象鲜浑朴讫紫踩娟仙贫凭汽罚床鳞汛扔盗朵詹孕驮幼摩嘴纫弥竿柬汗四殆神经网络实用教程讲义神经网络实用教程讲义2.3.2 线性神经网络的学习算法其中其中 表示第表示第 次循环中的第个输入向量。则有:次循环中的第个输入向量。则有:第三步:调整连接权值第三步:调整连接权值根据负梯度下降的原则,网络权值和阈值修正公式如下根据负梯度下降的原则,网络权值和阈值修正公式如下式中式中 为学习率为学习率, ,当其取较大值时,可以加快网络的训练速度,当其取较大值时,可以加快网络的训练速度,但是如果其值太大,会导致网络稳定性的降低和训练误差的但是如果其

56、值太大,会导致网络稳定性的降低和训练误差的增加。所以,为了保证网络进行稳定的训练,学习率的值必增加。所以,为了保证网络进行稳定的训练,学习率的值必须选择一个合适的值。须选择一个合适的值。峨友虎骚媚鸡洽迟磨纷准苔歼崩箩脑离开她锡冈豹喊咏娃洼芬振拆港纸入神经网络实用教程讲义神经网络实用教程讲义2.3.2 线性神经网络的学习算法第四步:计算均方误差第四步:计算均方误差第五步:判断误差是否为零或者是否第五步:判断误差是否为零或者是否达到预先设定的要求。如果是,则结束达到预先设定的要求。如果是,则结束算法,否则输入下一个样本,返回第二算法,否则输入下一个样本,返回第二步进入下一轮求解过程步进入下一轮求解

57、过程予孰三砸坏舅痕席湘庆镇倔矣憋席蚌展剐莫绥偷菌断鞘播讯天癣筷炸吱同神经网络实用教程讲义神经网络实用教程讲义2.3.3 线性神经网络的MATLAB实现 pMATLABMATLAB中线性神经网络相关的常用函数中线性神经网络相关的常用函数和基本功能和基本功能 函函 数数 名名功功 能能newlin()新建一个新建一个线性性层learnwh()Widrow-Hoff的学的学习函数函数purelin()线性性传输函数函数mse()最小均方最小均方误差性能函数差性能函数杆宁炕舍拆插那堂肇襄奸腑来翠顿修路弯字查腊恶瞳凝仓得虎惺鼓遣拂乃神经网络实用教程讲义神经网络实用教程讲义2.3.3 线性神经网络的MAT

58、LAB实现pMATLABMATLAB中线性神经网络相关的常用函数和基本功能中线性神经网络相关的常用函数和基本功能newlin()功能功能 新建一个线性神经网络函数。新建一个线性神经网络函数。格式格式 (1) net = newlin (1) net = newlin (2) net = newlin(PR (2) net = newlin(PR,S S,IDID,LR) LR) 说明说明 式式(1)(1)返回一个没有定义结构的空对象,并显示图形用户界返回一个没有定义结构的空对象,并显示图形用户界面函数面函数nntoolnntool的帮助文字;式的帮助文字;式(2)(2)中中netnet为生成的

59、线性神经网络;为生成的线性神经网络;PRPR为网络输入向量中的最大值和最小值组成的矩阵为网络输入向量中的最大值和最小值组成的矩阵PminPmin,PmaxPmax;S S为输出向量的个数;为输出向量的个数;IDID为输入延时向量(可省略);为输入延时向量(可省略);LRLR为学习为学习速率(可省略),默认值为速率(可省略),默认值为0.010.01。 learnwh( )功能功能 线性神经网络学习函数线性神经网络学习函数格式格式 (1) dW,LS = learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) (1) dW,LS = learnwh(W,P,Z,N,A,T,E,

60、gW,gA,D,LP,LS) (2) db,LS = learnwh(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS) (2) db,LS = learnwh(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS) 鼻汉漱苛泞疆嚷拷爽守率舅澜觅膀俏射欣腋绩逢鸦诉洋坠氓壶字察崖年竭神经网络实用教程讲义神经网络实用教程讲义2.3.3 线性神经网络的MATLAB实现pMATLABMATLAB中线性神经网络相关的常用函数和基本功能中线性神经网络相关的常用函数和基本功能Purelin()功能功能 纯线性传输函数纯线性传输函数格式格式 A = purelin(N)

61、 A = purelin(N)说明说明 函数函数purelin(N)purelin(N)为返回网络输入向量为返回网络输入向量N N的输出矩阵的输出矩阵a a;神经元最简单的传输函数是简单地从神经元输入到输出的线神经元最简单的传输函数是简单地从神经元输入到输出的线性传输函数,输出仅仅被神经元所附加的偏差所修正,性传输函数,输出仅仅被神经元所附加的偏差所修正,newlinnewlin和和newlindnewlind函数建立的网络都可以用该函数做为传递函数建立的网络都可以用该函数做为传递函数。函数。mse()功能功能 均方误差性能函数均方误差性能函数格式格式 perf=mae(E perf=mae(

62、E,w w,pp) pp) 说明说明 perf perf表示均方误差表示均方误差,E,E为误差矩阵或向量为误差矩阵或向量( (网络的目标向网络的目标向量与输出向量之差量与输出向量之差),w),w为所有权值和偏值向量为所有权值和偏值向量( (可忽略可忽略) ), pp pp为性能参数为性能参数( (可忽略可忽略) )。 鲤聂纽率兄泪颧午沦孺坑搞痛互窥破卤茵耳进绚广偶褒豹遇坟惑伸犊纹瘪神经网络实用教程讲义神经网络实用教程讲义2.3.3 线性神经网络的MATLAB实现p例例2-2 2-2 要求设计一个线性神经网络,寻找给定数据之间的线性关系。要求设计一个线性神经网络,寻找给定数据之间的线性关系。P=

63、1.1 -1.3;T=0.6 1;% %创建一个只有一个输出,输入延时为创建一个只有一个输出,输入延时为0 0,学习速率为,学习速率为0.010.01的线性神经网络,的线性神经网络,minmax(P)minmax(P)表示样表示样% %本数据的取值范围本数据的取值范围net=newlin(minmax(P),1,0,0.01);% %对创建的线性神经网络进行初始化,设置权值和阈值的初始值对创建的线性神经网络进行初始化,设置权值和阈值的初始值net=init(net);net.trainParam.epochs=500;% %设置网络训练后的目标误差为设置网络训练后的目标误差为0.00010.0

64、001net.trainParam.goal=0.0001;net=train(net,P,T);y=sim(net,P)% %求解网络的均方误差值求解网络的均方误差值E=mse(y-T) 住股各且亨粤夹飞附凹策格育嘎稀度茁桃仓潍穆尚所乾蠕赐跨侠夏哦潭透神经网络实用教程讲义神经网络实用教程讲义2.3.3 线性神经网络的MATLAB实现p例例2-22-2的输出结果的输出结果% %使用使用TRAINBTRAINB作为训练函数,最大训练次数为作为训练函数,最大训练次数为500500,开始训练时的均方,开始训练时的均方误差值为误差值为0.680.68,% %目标误差为目标误差为0.00010.0001

65、 TRAINB, Epoch 0/500, MSE 0.68/0.0001.TRAINB, Epoch 200/500, MSE 0.000193748/0.0001.TRAINB, Epoch 217/500, MSE 9.87777e-005/0.0001.% %训练到训练到217217次时,达到目标误差要求,结束训练次时,达到目标误差要求,结束训练TRAINB, Performance goal met.y = 0.5883 0.9922E = 9.8778e-005 南谨休据捧香颁氟扩通俞狈敲吾庇阑膳撞寝键轿障吱鸡缸眼幂绢陋缴俞叁神经网络实用教程讲义神经网络实用教程讲义2.3.3 线性

66、神经网络的MATLAB实现p例例2-22-2的训练误差曲线的训练误差曲线 眯曹听剧舞颓陀貉册盟剃淆氨臀剪侈愈资班降抚益扎谗鸯境府汇泰仍后馏神经网络实用教程讲义神经网络实用教程讲义2.3.3 线性神经网络的MATLAB实现p原数据关系与线性神经网络逼近关系对比原数据关系与线性神经网络逼近关系对比注:两者仍存在误差,可以通过修改训练步数或精度来减少两者注:两者仍存在误差,可以通过修改训练步数或精度来减少两者的误差的误差狮澎澎呐竟馆咋钵错恃聂铃始析搽挚升诧梁浚积样攒无霸潦滚诫伸蹈操秸神经网络实用教程讲义神经网络实用教程讲义小结小结p线性神经网络模型线性神经网络模型p线性神经网络激活函数线性神经网络激

67、活函数p神经网络学习算法神经网络学习算法p线性神经网络的线性神经网络的MATLABMATLAB实现实现p线性神经网络的局限性线性神经网络的局限性击柞锥深淋冈毙绚墨有揭村珊粉淡轴杉升深书咱百遂苇蜘往填搁泄间雹私神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持2.4 BP2.4 BP神经网络模型与学习算法神经网络模型与学习算法视隅茵库卢卿男鳖魔圣浚钻豺赌螟王这寨浴涵耍秘剐壕赶俘据攒屁塔剩秆神经网络实用教程讲义神经网络实用教程讲义概述概述pRumelhartRumelhart,McClellandMcClelland于于19851985年提出了年提出了BPBP网络

68、的误差反网络的误差反向后传向后传BP(Back Propagation)BP(Back Propagation)学习算法学习算法pBPBP算法基本原理算法基本原理利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。 J.McClellandDavidRumelhart酷项契匝幸矫排钦锐丁顽偶辖秋己锣腰吩倘涂轻凤挥嘲矛快页陷迪惫绩芬神经网络实用教程讲义神经网络实用教程讲义2.4.1 BP2.4.1 BP神经网络模型神经网络模型p三层三层BPBP网络网络侧胖筏殉搭昆沏追溉酱愚熊吩赖肯跋棉羡紫炙翰衰捂采年濒妄善姻枯绍

69、雄神经网络实用教程讲义神经网络实用教程讲义2.4.1 BP2.4.1 BP神经网络模型神经网络模型p激活函数激活函数必须处处可导一般都使用一般都使用S S型函数型函数 p使用使用S S型激活函数时型激活函数时BPBP网络输入与输出关系网络输入与输出关系输入输出续器彰横刘珍骤宜名藤镰涡澳通悼休卡桂矾沫怕琉馋连缠多源多顶栽炔努神经网络实用教程讲义神经网络实用教程讲义2.4.1 BP2.4.1 BP神经网络模型神经网络模型输出的导数根据根据S S型激活函数的图形可知型激活函数的图形可知, ,对神经网络进行训练,应该将对神经网络进行训练,应该将netnet的值尽的值尽量控制在收敛比较快的范围内量控制在

70、收敛比较快的范围内 臣紧蘑嚎轮畅琐陋哲按懂瘫哉虱胡牧芯伍钦钎署噶胆追请叁独柱瓢作江承神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p学习的过程:学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。p学习的本质:学习的本质:对各连接权值的动态调整p学习规则:学习规则:权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。插荒滇拍秉啪彰鳖迫潘窖肺绢非欺逃吴黄馅傣憾植限按窗厉芹对旗翱矛星神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标

71、准学习算法网络的标准学习算法- -算法思想算法思想p学习的类型:有导师学习学习的类型:有导师学习p核心思想:核心思想:将输出误差以某种形式通过隐层向输入层逐层反传p学习的过程:学习的过程:信号的正向传播 误差的反向传播将误差分摊给各层的所有将误差分摊给各层的所有单元各层单元的误单元各层单元的误差信号差信号修正各单元权修正各单元权值值骸哦齿苞价藩掐算旋磺戈债喷选顷喇涝噪撮低邓赛璃子淳男哑肺财汤校疽神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法- -学习过程学习过程p正向传播:正向传播:输入样本输入层各隐层输出层p判断是否转入反向传播阶

72、段:判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(教师信号)不符p误差反传误差反传误差以某种形式在各层表示修正各层单元的权值p网络输出的误差减少到可接受的程度网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止进行到预先设定的学习次数为止袱恕蝉去翼洪饵烫位雍击迹臼豌搽尸畅闻奎么趟散等绩朔埔旦够剔售鄂拽神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法 p网络结构网络结构输入层有n个神经元,隐含层有p个神经元, 输出层有q个神经元p变量定义变量定义输入向量;隐含层输入向量;隐含层输出向量;输出层输入向量;输出层输出向量

73、;期望输出向量; 弹拴咐酬厢祁唤御缔帮腐座盐叔简表弥狱痰伊峨蜕湃灼毋醚赢引躲哄事脉神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法输入层与中间层的连接权值:隐含层与输出层的连接权值:隐含层各神经元的阈值:输出层各神经元的阈值:样本数据个数:激活函数: 误差函数:舒戒厉各相松勒氯梅众垦绽挑孝之穗筋详不嘴弥檀氯期癸谷鲤怒孝坝闯洲神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p第一步,网络初始化第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,

74、给定计算精度值 和最大学习次数M。p第二步第二步, ,随机选取第随机选取第 个输入样本及对应个输入样本及对应期望输出期望输出 尊簇相酱躬淀墟壹即檄怨课惠爪惶渭颧钢箭阎茫督啼涧点铬理弯蜜画嘶贞神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p第三步,计算隐含层各神经元的输入和第三步,计算隐含层各神经元的输入和输出输出撅锋慕掷敬婶畅巫荐灾厚异枷层蒜映撑阵刨棚腕诺厄汕毅验久畔峙溃构舌神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p第四步,利用网络期望输出和实际输出,第四步,利用网

75、络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导计算误差函数对输出层的各神经元的偏导数数 。 妓香掉层鲸心捷伤疫引耀唁宜援费任柜愉谗蝴虱兰暖犊望吨肋写权砚昨酿神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p第五步,利用隐含层到输出层的连接权第五步,利用隐含层到输出层的连接权值、输出层的值、输出层的 和隐含层的输出计算误和隐含层的输出计算误差函数对隐含层各神经元的偏导数差函数对隐含层各神经元的偏导数 。 吕锻西岿眶藉逃躲蛔康兢舱贬逮持足日写走秋贫堆建抹赢狼募萌贺璃衅绎神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2

76、.4.2 BP网络的标准学习算法网络的标准学习算法宰串帖套罢涩艺耕叮厨抵妇财掌貉氨纠辱置绝琉利赡沏咎雨鉴死眷尘苯嘉神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p第六步,利用输出层各神经元的第六步,利用输出层各神经元的 和和隐含层各神经元的输出来修正连接权值隐含层各神经元的输出来修正连接权值 。 磐斡仗办拾媒豆梳讯表确疑屎刊互袁坯辣娶析漏串僚丢蹬蚂幌医强余柴嫩神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p第七步,利用隐含层各神经元的第七步,利用隐含层各神经元的 和和输入

77、层各神经元的输入修正连接权。输入层各神经元的输入修正连接权。 耗胃严诧卢疽靛昂臣磅篇靴爆羌旦沿俏应萨狠驾蒋盗厄稼情掩帛陪蜂躁嗣神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p第八步,计算全局误差第八步,计算全局误差p第九步,判断网络误差是否满足要求。当误差第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学应的期望输出,返回到第三步,进入下一轮

78、学习。习。 昏蛰样杀泵区吾糟浙忠魔忘伶碰驼陀拯幽坑芭智瓮爆匡邢未斜训包斧厘镣神经网络实用教程讲义神经网络实用教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法pBPBP算法直观解释算法直观解释情况一直观表达 当误差对权值的偏当误差对权值的偏导数大于零时,权值导数大于零时,权值调整量为负,实际输调整量为负,实际输出大于期望输出,出大于期望输出,权值向减少方向调整,权值向减少方向调整,使得实际输出与期望使得实际输出与期望输出的差减少。输出的差减少。whoe0,此时,此时who0丧诅幸记俗偏己站锯捶弦涕缔救谨侄只妖地焙仿姆儒枣滨武沙霜嫉石鄂抽神经网络实用教程讲义神经网络实用

79、教程讲义2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法pBPBP算法直解释算法直解释情况二直观表达当误差对权值的偏导数当误差对权值的偏导数小于零时,权值调整量小于零时,权值调整量为正,实际输出少于期为正,实际输出少于期望输出,权值向增大方向望输出,权值向增大方向调整,使得实际输出与期调整,使得实际输出与期望输出的差减少。望输出的差减少。e0who瓤钉龙烽曙彩拔镀污可豆辱擎述则椿虹苫球绩听彪蹈筹埠涝霓攘膛菱缓译神经网络实用教程讲义神经网络实用教程讲义2.4.3 BP2.4.3 BP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现 pMATLABMATLA

80、B中中BPBP神经网络的重要函数和基本神经网络的重要函数和基本功能功能 函函 数数 名名功功 能能newff()生成一个前生成一个前馈BP网网络tansig()双曲正切双曲正切S型型(Tan-Sigmoid)传输函数函数logsig()对数数S型型(Log-Sigmoid)传输函数函数traingd()梯度下降梯度下降BP训练函数函数完豆殷恤季滩疙闪深逸抡乌祷撇邻纤蹈猜筹妆卵勾杖钓惟蓖赖桨罢粗价骡神经网络实用教程讲义神经网络实用教程讲义2.4.3 BP2.4.3 BP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现pMATLABMATLAB中中BPBP神经网络的重要函数和基

81、本功能神经网络的重要函数和基本功能newff()功能功能 建立一个前向建立一个前向BPBP网络网络格式格式 net = newff(PR net = newff(PR,S1 S2.SN1S1 S2.SN1,TF1 TF1 TF2.TFN1TF2.TFN1,BTFBTF,BLFBLF,PF)PF)说明说明 net net为创建的新为创建的新BPBP神经网络;神经网络;PRPR为网络输入取为网络输入取向量取值范围的矩阵;向量取值范围的矩阵;S1 S2S1 S2SNlSNl表示网络隐含表示网络隐含层和输出层神经元的个数;层和输出层神经元的个数;TFl TF2TFl TF2TFN1TFN1表示表示网络

82、隐含层和输出层的传输函数,默认为网络隐含层和输出层的传输函数,默认为tansigtansig;BTFBTF表示网络的训练函数,默认为表示网络的训练函数,默认为trainlmtrainlm;BLFBLF表示网络的权值学习函数,默认表示网络的权值学习函数,默认为为learngdmlearngdm;PFPF表示性能数,默认为表示性能数,默认为msemse。 殴阐秃喉堰氟街叔缔晾凭宾挣窖糖绎灿梳颈断卸社泵阉幽吝番档巩别砧橙神经网络实用教程讲义神经网络实用教程讲义2.4.3 BP2.4.3 BP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现pMATLABMATLAB中中BPBP神经

83、网络的重要函数和基本功能神经网络的重要函数和基本功能tansig()功能功能 正切正切sigmoidsigmoid激活函数激活函数格式格式 a = tansig(n) a = tansig(n)说明说明 双曲正切双曲正切SigmoidSigmoid函数把神经元的输入范围从函数把神经元的输入范围从(-(-,+)+)映射到映射到(-1(-1,1)1)。它是可导函数,适用于。它是可导函数,适用于BPBP训练的神经元。训练的神经元。logsig()功能功能 对数对数SigmoidSigmoid激活函数激活函数格式格式 a = logsig(N) a = logsig(N)说明对数说明对数Sigmoid

84、Sigmoid函数把神经元的输入范围从函数把神经元的输入范围从(-(-,+)+)映射映射到到(0(0,1)1)。它是可导函数,适用于。它是可导函数,适用于BPBP训练的神经元。训练的神经元。狭造育钧螟睦嘶诱搀壤壮声浪碌悼痞荡肘陇器疤饭请霹和桅佃磷帖渴暖携神经网络实用教程讲义神经网络实用教程讲义2.4.3 BP2.4.3 BP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p例例2-32-3,下表为某药品的销售情况,现构建一个如下的三层,下表为某药品的销售情况,现构建一个如下的三层BPBP神经神经网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为网络对药品的销售进行预

85、测:输入层有三个结点,隐含层结点数为5 5,隐含层的激活函数为,隐含层的激活函数为tansigtansig;输出层结点数为;输出层结点数为1 1个,输出层的激个,输出层的激活函数为活函数为logsiglogsig,并利用此网络对药品的销售量进行预测,预测方,并利用此网络对药品的销售量进行预测,预测方法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销售量,如用售量,如用1 1、2 2、3 3月的销售量为输入预测第月的销售量为输入预测第4 4个月的销售量,用个月的销售量,用2 2、3 3、4 4月的销售量为输入预测第月的销售量为输入

86、预测第5 5个月的销售量个月的销售量. .如此反复直至满足预如此反复直至满足预测精度要求为止。测精度要求为止。 月份月份123456销量量205623952600229816341600月份月份789101112销量量187314781900150020461556客柑奖长尖揭蹦桔匝锗莆阅夏淄涩筐桑蝇迁醛挎褪丽瓶乳泞府酋祁他纷坎神经网络实用教程讲义神经网络实用教程讲义2.4.3 BP2.4.3 BP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现%以每三个月的销售量经归一化处理后作为输入pP=0.5152P=0.51520.81730.81731.0000 ;1.0000

87、; 0.8173 0.81731.00001.00000.7308;0.7308; 1.0000 1.00000.73080.73080.1390;0.1390; 0.7308 0.73080.13900.13900.1087;0.1087; 0.1390 0.13900.10870.10870.3520;0.3520; 0.1087 0.10870.35200.35200.0000;0.0000;%以第四个月的销售量归一化处理后作为目标向量pT=0.7308 0.1390 0.1087 0.3520 0.0000 0.3761;T=0.7308 0.1390 0.1087 0.3520 0.

88、0000 0.3761;%创建一个BP神经网络,每一个输入向量的取值范围为0 ,1,隐含层有5个神经%元,输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为%logsig,训练函数为梯度下降函数,即2.3.2节中所描述的标准学习算法pnet=newff(0 1;0 1;0 1,5,1,tansig,logsig,traingd);net=newff(0 1;0 1;0 1,5,1,tansig,logsig,traingd);pnet.trainParam.epochs=15000;net.trainParam.epochs=15000;pnet.trainParam.go

89、al=0.01;net.trainParam.goal=0.01;%设置学习速率为0.1pLP.lr=0.1;LP.lr=0.1;pnet=train(net,P,T); net=train(net,P,T); 嘉誉牡憋择活吞烛朽域敲尚咙歧哭造秸跌罢衅外绰验丢禹笛桃曲遗埔驶粮神经网络实用教程讲义神经网络实用教程讲义2.4.3 BP2.4.3 BP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现pBPBP网络应用于药品预测对比图网络应用于药品预测对比图p由对比图可以看出预测效果与实际存在一定误差,此误差可以通过由对比图可以看出预测效果与实际存在一定误差,此误差可以通过增加运行

90、步数和提高预设误差精度业进一步缩小增加运行步数和提高预设误差精度业进一步缩小窒貌舰夜盐傣够兽刑又呐稠直耻谆吞候柯稽务煮实泪套亡坛矿椭窟腐盏辉神经网络实用教程讲义神经网络实用教程讲义BPBP神经网络的特点神经网络的特点p非线性映射能力非线性映射能力能学习和存贮大量输入能学习和存贮大量输入- -输出模式映射关系,而无需事输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由多的样本模式对供网络进行学习训练,它便能完成由n n维输入空间到维输入空间到m m维输出空间的非线性映射。维输出空

91、间的非线性映射。p泛化能力泛化能力当向网络输入训练时未曾见过的非样本数据时,网络也当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。为泛化能力。p容错能力容错能力输入样本中带有较大的误差甚至个别错误对网络的输入输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。输出规律影响很小。 娃誓蛹攫耍溶腕阑滦莹钦材达周乌枣谦苗笨松岂媚韩蜒壶松汲直腔亥藉敞神经网络实用教程讲义神经网络实用教程讲义小结小结pBPBP算法背景算法背景pBPBP神经网络模型神经网络模型pBPBP算法算法基本思想

92、推导过程实现pBPBP神经网络的神经网络的MATLABMATLAB函数函数pBPBP神经网络的应用实例神经网络的应用实例pBPBP神经网络与感知器神经网络的对比神经网络与感知器神经网络的对比打壁哭函刑沛册储兹撅瘴榔督剁草愁吻浩驳第室闰实傣陡蝉靖帝凛篓眯潮神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持2.52.5径向基函数神经网络模型与径向基函数神经网络模型与学习算法学习算法锯洲楞臻艰肚艺跳犯琼浅卵狠稚韦窗了命固锰蓟秦崇昔砸痈院前柑块涡昂神经网络实用教程讲义神经网络实用教程讲义概述概述 p19851985年,年,PowellPowell提出了多变量插值的径向

93、基函提出了多变量插值的径向基函数数(Radical Basis Function(Radical Basis Function,RBF)RBF)方法方法 p19881988年,年, Moody Moody和和DarkenDarken提出了一种神经网络提出了一种神经网络结构,即结构,即RBFRBF神经网络神经网络pRBFRBF网络是一种三层前向网络网络是一种三层前向网络pRBFRBF网络的基本思想网络的基本思想 用RBF作为隐单元的“基”构成隐含层空间,将输入矢量直接(即不需要通过权连接)映射到隐空间 当RBF的中心点确定后,映射关系也就确定隐含层空间到输出空间的映射是线性的 漱智茬隋维慕若姥应

94、亩雕拱铱坞充天壕诈下寻寻渺位评彬俞诅措戊佩遵嗓神经网络实用教程讲义神经网络实用教程讲义2.5.1 RBF神经网络模型 p径向基神经网络的神经元结构p激活函数采用径向基函数 以输入和权值向量之间的以输入和权值向量之间的 距离作为自变量距离作为自变量 棱苯掷鸵沽魁旧孔锨未眩型翻烬歇儿奶困垢库得螺喇量傈肿瞪概又搭足态神经网络实用教程讲义神经网络实用教程讲义2.5.1 RBF神经网络模型p径向基神经网络结构径向基神经网络结构 端脉笨揭饱餐票播獭秋敦烯孩愤嫡膛闪满艘花扇农惧雁魔逮遏肿拭散掂客神经网络实用教程讲义神经网络实用教程讲义2.5.1 RBF神经网络模型pRBF网络与BP网络比较:RBFRBF网络

95、的输出是隐单元输出的线性加权和,网络的输出是隐单元输出的线性加权和,学习速度加快学习速度加快 BPBP网络使用网络使用sigmoid()sigmoid()函数作为激活函数,这函数作为激活函数,这样使得神经元有很大的输入可见区域样使得神经元有很大的输入可见区域 径向基神经网络使用径向基函数(一般使用径向基神经网络使用径向基函数(一般使用高斯函数)作为激活函数,神经元输入空间区高斯函数)作为激活函数,神经元输入空间区域很小,因此需要更多的径向基神经元域很小,因此需要更多的径向基神经元 结训太颈滔稿扁鸵肺鼎龄哥爵豢雍助哀瓦于芭贴亨朔披色休牧避猫秧肖皇神经网络实用教程讲义神经网络实用教程讲义2.5.2

96、 RBF网络的学习算法 p学习算法需要求解的参数径向基函数的中心径向基函数的中心方差方差隐含层到输出层的权值隐含层到输出层的权值 p学习方法分类(按RBF中心选取方法的不同分)随机选取中心法随机选取中心法自组织选取中心法自组织选取中心法有监督选取中心法有监督选取中心法正交最小二乘法等正交最小二乘法等鸥厅枝勺瞄较劣伯嚼髓陆玲鲍讽尾凄娠瞪抛爸梅剁籽幅般梦居椎校震翼屑神经网络实用教程讲义神经网络实用教程讲义2.5.2 RBF网络的学习算法p自组织选取中心学习方法 第一步,自组织学习阶段第一步,自组织学习阶段无导师学习过程,求解隐含层基函数的中心与方差; 第二步,有导师学习阶段第二步,有导师学习阶段求

97、解隐含层到输出层之间的权值。p高斯函数作为径向基函数愤掩儡辱将淮碘宋苑效泰将氧尚莎诉馏爬俗拍充斗洪倡教哲扮谦芥涡矮当神经网络实用教程讲义神经网络实用教程讲义2.5.2 RBF网络的学习算法p网络的输出网络的输出( (网络结构如图网络结构如图2-212-21所示所示 ) )p设设d d是样本的期望输出值,那么基函数的方差可是样本的期望输出值,那么基函数的方差可表示为表示为 : :累瞎盗峡躺筑诈咬醒侗抚舌簧做校君屈眼纂筑粟载献犯逾滔助至转帚筋泥神经网络实用教程讲义神经网络实用教程讲义2.5.2 RBF网络的学习算法p自组织选取中心算法步骤自组织选取中心算法步骤1.1.基于基于K-K-均值聚类方法求

98、取基函数中心均值聚类方法求取基函数中心(1)网络初始化。 u随机选取 个训练样本作为聚类中心 。(2)将输入的训练样本集合按最近邻规则分组。u 按照 与中心为 之间的欧氏距离将 分配到输入样本的各个聚类集合 中。(3)重新调整聚类中心。 u计算各个聚类集合 中训练样本的平均值,即新的聚类中心 ,如果新的聚类中心不再发生变化,则所得到的即为RBF神经网络最终的基函数中心,否则返回(2),进入下一轮的中心求解。猖利憾滁暖泌郸凿虹倡俭陛拔婶夜蜀撤抨返宗涉蛛铝各父沦推颈珠贞遣椿神经网络实用教程讲义神经网络实用教程讲义2.5.2 RBF网络的学习算法2.2.求解方差求解方差 RBFRBF神经网络的基函数

99、为高斯函数时,方差可由下式求解:神经网络的基函数为高斯函数时,方差可由下式求解:u式中 为中所选取中心之间的最大距离。3.3.计算隐含层和输出层之间的权值计算隐含层和输出层之间的权值隐含层至输出层之间神经元的连接权值可以用最小二乘法隐含层至输出层之间神经元的连接权值可以用最小二乘法直接计算得到,计算公式如下:直接计算得到,计算公式如下:能孽奴扭紊米辗愤诲僳笑粹勇亚坏采舌豁呀咯倘丫躁逛呛灭奈滤捻氨滑斡神经网络实用教程讲义神经网络实用教程讲义2.5.3 RBF网络学习算法的MATLAB实现 函函 数数 名名功功 能能newrb()newrb()新建一个径向基神经网络新建一个径向基神经网络newrb

100、e()newrbe()新建一个严格的径向基神经网络新建一个严格的径向基神经网络newgrnn()newgrnn()新建一个广义回归径向基神经网络新建一个广义回归径向基神经网络newpnn()newpnn()新建一个概率径向基神经网络新建一个概率径向基神经网络pRBFRBF网络的网络的MATLABMATLAB函数及功能函数及功能睛展置妖截耘胳溪传选痰辕凤唬淮胸式逐瑶未裂镍签瑰镑脖肩挟店搏踌水神经网络实用教程讲义神经网络实用教程讲义2.5.3 RBF网络学习算法的MATLAB实现pnewrb()newrb()功能 建立一个径向基神经网络建立一个径向基神经网络格式 net = newrb(P net

101、 = newrb(P,T T,GOALGOAL,SPREADSPREAD,MNMN,DF)DF)说明 P P为输入向量,为输入向量,T T为目标向量,为目标向量,GOALGOAL为圴方误差,为圴方误差,默认为默认为0 0,SPREADSPREAD为径向基函数的分布密度,默为径向基函数的分布密度,默认为认为1 1,MNMN为神经元的最大数目,为神经元的最大数目,DFDF为两次显示为两次显示之间所添加的神经元神经元数目。之间所添加的神经元神经元数目。 暇迢漾公节瞥烃谦侵懊弟击庙抬辙递忻倒究缨墅厌粉廉幅难侠隘膘粒贡丰神经网络实用教程讲义神经网络实用教程讲义2.5.3 RBF网络学习算法的MATLAB

102、实现pnewrbe()newrbe()功能 建立一个严格的径向基神经网络建立一个严格的径向基神经网络, ,严格是指径向基严格是指径向基神经网络的神经元的个数与输入值的个数相等。神经网络的神经元的个数与输入值的个数相等。格式 (1) net = newrb(P(1) net = newrb(P,T T, SPREAD) SPREAD)说明 各参数的含义见各参数的含义见NewrbNewrb。明苛芽秃所吮腺婉恐育帝盐峻钢玉严袭负龚或父疡深旧沧蛇汲乞初嘴幢绢神经网络实用教程讲义神经网络实用教程讲义2.5.3 RBF网络学习算法的MATLAB实现p例例2-4 2-4 建立一个径向基神经网络,对非线性函数

103、建立一个径向基神经网络,对非线性函数y=sqrt(x)y=sqrt(x)进行逼近,并作出网络的逼近误差曲线。进行逼近,并作出网络的逼近误差曲线。 闯擂刻染弧萧淆延呻镁赴纷抢妨呈危摇褪楞壁挚考肋博菜妇甩曲邦拨汗葛神经网络实用教程讲义神经网络实用教程讲义2.5.3 RBF网络学习算法的MATLAB实现p例例2-42-4误差曲线和逼近曲线误差曲线和逼近曲线硅瓣浩殆昔锦硝而邯卉固巾狸临庶戒匆草苫艳胶齐题东色习重乳莱客中魂神经网络实用教程讲义神经网络实用教程讲义小结小结p背景背景pRBFRBF网络的基本思想网络的基本思想pRBFRBF神经网络模型神经网络模型p高斯函数高斯函数pRBFRBF网络的学习算法

104、网络的学习算法pRBFRBF网络的网络的MATLABMATLAB实现实现pRBFRBF网络的应用网络的应用袍细岩稽狠畸栽炽染钟侗脱曰顾悦孙祖邯增滑杨钥贿殷脆肄歧让雍皆火蝉神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持2.6 2.6 自组织神经网络模型与学自组织神经网络模型与学习算法习算法痔赚箕锈鳖塘喝垢缆蕉模憾遏杠其妖廷绢随乾野儒惫程暴爹酿岿风制伪纯神经网络实用教程讲义神经网络实用教程讲义概述概述p自组织神经网络,又称为自组织竞争神自组织神经网络,又称为自组织竞争神经网络经网络, ,特别适合于解决模式分类和识别特别适合于解决模式分类和识别方面的应用问题。方

105、面的应用问题。p自组织神经网络属于前向神经网络类型,自组织神经网络属于前向神经网络类型,采用无导师学习算法,采用无导师学习算法,p自组织特征映射神经网络不仅能够像自自组织特征映射神经网络不仅能够像自组织竞争神经网络一样学习输入的分布情组织竞争神经网络一样学习输入的分布情况,而且可以学习神经网络的拓扑结构。况,而且可以学习神经网络的拓扑结构。 奏雀财凄蔚纠涝扶翔俏酋闽壬渗喜解奔屠署垒奶痘氓泡匹娶禽酮光邵诬迂神经网络实用教程讲义神经网络实用教程讲义概述概述p自组织竞争神经网络类型自组织竞争神经网络类型自适应共振理论(Adaptive Resonance Theory,ART)网络自组织特征映射(s

106、elf-Organizing Map,SOM)网络对传(Counter Propagation,CP)网络协同神经网络(Synergetic Neural NetworkSNN) 舆滑叙胡进脂统乐札惧强雌栖雏鸽郁亲李吻唁限兽粟荆害剃函霸契票渭驮神经网络实用教程讲义神经网络实用教程讲义2.6.1 2.6.1 自组织特征映射神经网络结构自组织特征映射神经网络结构p由芬兰学者由芬兰学者Teuvo KohonenTeuvo Kohonen于于19811981年提出年提出p基本上为输入层和映射层的双层结构基本上为输入层和映射层的双层结构, ,映射层的映射层的神经元互相连接,每个输出神经元连接至所有神经元

107、互相连接,每个输出神经元连接至所有输入神经元输入神经元 Im Teuvo Kohonen钵暖腺邢缔征仕贴骇税勃扇岂厚堰盅宅荣车惯沟哨俯营囤葬侵铭连区禁晌神经网络实用教程讲义神经网络实用教程讲义2.6.1 2.6.1 自组织特征映射神经网络结构自组织特征映射神经网络结构竞争层竞争层输入层输入层SOMSOM神经网络结构神经网络结构巳仔熏姚眩振垄吠职硕位悦奢尔删焦漂侦疵害宛艺邵蒙元职磺唐蜜映嘱姥神经网络实用教程讲义神经网络实用教程讲义2.6.1 2.6.1 自组织特征映射神经网络结构自组织特征映射神经网络结构SOMSOM神经网络平面示意图神经网络平面示意图竞争层竞争层输入层输入层诉痪撑矩攒明谅廷跺币

108、桨庄劣嘉忙筹亮饮桨疽湍恨针之域倍音兑爽佑初答神经网络实用教程讲义神经网络实用教程讲义2.6.1 2.6.1 自组织特征映射神经网络结构自组织特征映射神经网络结构SOMSOM神经网络立体示意图神经网络立体示意图竞争层竞争层输入层输入层呸茅瞄数狙消钥馆瓢勤膀钟独欢豁溜喝春惑涩伐衣炒陕臃主枷羞他辕檬淘神经网络实用教程讲义神经网络实用教程讲义 2.6.22.6.2自组织特征映射网络的学习算法自组织特征映射网络的学习算法 p自组织特征映射学习算法原理自组织特征映射学习算法原理Kohonen自组织特征映射算法,能够自动找出输入数据之间的类似度,将相似的输入在网络上就近配置。因此是一种可以构成对输入数据有选

109、择地给予响应的网络。p类似度准则类似度准则欧氏距离 阐涛跟解耐利百聋眺渐已砰撬抢窒社揪画漠儿雍里绸施您林崔陶柳隅尽停神经网络实用教程讲义神经网络实用教程讲义2.6.22.6.2自组织特征映射网络的学习算法自组织特征映射网络的学习算法p自组织特征映射学习算法步骤自组织特征映射学习算法步骤(1)(1)网络初始化网络初始化用随机数设定输入层和映射层之间权值的初始值(2)(2)输入向量输入向量把输入向量输入给输入层(3) (3) 计算映射层的权值向量和输入向量的距离计算映射层的权值向量和输入向量的距离映射层的神经元和输入向量的距离,按下式给出堰肉季抡纹抵粹随舷孝宝赦儒酥浩启拍灼裹未敏箱默伶巩烛枫族镑池

110、弱荒神经网络实用教程讲义神经网络实用教程讲义2.6.22.6.2自组织特征映射网络的学习算法自组织特征映射网络的学习算法p自组织特征映射学习算法步骤自组织特征映射学习算法步骤(4) (4) 选择与权值向量的距离最小的神经元选择与权值向量的距离最小的神经元计算并选择使输入向量和权值向量的距离最小的神经元,把其称为胜出神经元并记为 ,并给出其邻接神经元集合。 (5)(5)调整权值调整权值 胜出神经元和位于其邻接神经元的权值,按下式更新: (6)(6)是否达到预先设定的要求如达到要求则算是否达到预先设定的要求如达到要求则算法结束,否则返回法结束,否则返回(2)(2),进入下一轮学习,进入下一轮学习压

111、辨撕妙挖暖瑚肺机浆菱孙康揽颖亲侨臃淬秉森地额莫唾嫁票窄撇酵冶照神经网络实用教程讲义神经网络实用教程讲义2.6.22.6.2自组织特征映射网络的学习算法自组织特征映射网络的学习算法p邻域函数邻域函数由邻域函数可以看到,以获胜神经元为中心设定了一个邻域半径,称为胜出邻域。胜出邻域。学习初期,胜出神经元和其附近的神经元全部接近当时的输入向量,形成粗略的映射。 随着学习的进行而减小,胜出邻域胜出邻域变窄,胜出神经元附近的神经元数变少。因此,学习方法是一种从粗调整向微调整变化,最终达到预定目标的过程。苞起冰恐粤镁偏手探腔银叭描树局刺坟频哼搽告偷粟翘蔫沃寝栓债竞禾妨神经网络实用教程讲义神经网络实用教程讲义

112、2.6.3 2.6.3 自组织网络学习算法的自组织网络学习算法的MATLABMATLAB实现实现pMATLABMATLAB中自组织神经网络的重要函数和中自组织神经网络的重要函数和基本功能基本功能 函函 数数 名名功功 能能newsom()创建一个自建一个自组织特征映射神特征映射神经网网络plotsom()绘制自制自组织特征映射网特征映射网络的的权值矢量矢量vec2ind()将将单值矢量矢量组变换成下成下标矢量矢量compet()竞争争传输函数函数midpoint()中点中点权值初始化函数初始化函数learnsom()自自组织特征映射特征映射权值学学习规则函数函数耿贷攀鸡闺铂冯腕反口性矣酉滑检喷

113、牌纵泌炸骡届钦赢劳肠藏赔底菠冻蜕神经网络实用教程讲义神经网络实用教程讲义2.6.3 2.6.3 自组织网络学习算法的自组织网络学习算法的MATLABMATLAB实现实现pMATLABMATLAB中自组织神经网络的重要函数和基本功能中自组织神经网络的重要函数和基本功能newsom()功能功能 创建一个自组织特征映射网络函数创建一个自组织特征映射网络函数格式格式 net = newsom(PR net = newsom(PR,D1D1,D2D2,.,TFCNTFCN,DFCNDFCN,OLROLR,OSTEPSOSTEPS,TLRTLR,TND)TND)说明说明 net net为生成的新为生成的新

114、BPBP神经网络;神经网络;PRPR为网络输入矢量取值范为网络输入矢量取值范围的矩阵围的矩阵Pmin PmaxPmin Pmax;D1D1,D2D2,.为神经元在多维空间中为神经元在多维空间中排列时各维的个数;排列时各维的个数;TFCNTFCN为拓扑函数,缺省值为为拓扑函数,缺省值为hextophextop;DFCNDFCN为距离函数,缺省值为为距离函数,缺省值为linkdistlinkdist;OLROLR为排列阶段学习速为排列阶段学习速率,缺省值为率,缺省值为0.90.9;OSTEPSOSTEPS为排列阶段学习次数,缺省值为为排列阶段学习次数,缺省值为10001000;TLRTLR为调整阶

115、段学习速率,缺省值为为调整阶段学习速率,缺省值为0.020.02,TNDTND为调整为调整阶段领域半径,缺省值为阶段领域半径,缺省值为1 1。 壕请啸空痪东甫掷犬田送塌壹碰鹏怨嘱藕砖济秤舞寥猫涉痢明碗绍砸耐捌神经网络实用教程讲义神经网络实用教程讲义2.6.3 2.6.3 自组织网络学习算法的自组织网络学习算法的MATLABMATLAB实现实现p plotsom() plotsom()功能 绘制自组织特征映射网络图的权值向量 函数格式 (1) plotsom(pos) (1) plotsom(pos) (2) plotsom(W(2) plotsom(W,D D,ND)ND)说明 式中pos是网

116、络中各神经元在物理空间分布的位置坐标矩阵;函数返回神经元物理分布的拓扑图,图中每两个间距小于1的神经元以直线连接;W为神经元权值矩阵;D为根据神经元位置计算出的间接矩阵;ND为领域半径,缺省值为1;函数返回神经元权值的分布图,图中每两个间距小于ND的神经元以直线连接。 旷督尼狙辛桶眺乃兴混脉韦风衫冯役拿疽翰迄亏樊分充刺苔返瘴淡撮并剑神经网络实用教程讲义神经网络实用教程讲义2.6.3 2.6.3 自组织网络学习算法的自组织网络学习算法的MATLABMATLAB实现实现pyec2ind()yec2ind()功能 将单值向量组变换成下标向量格式 ind = vec2ind(vec)说明 式中,vec

117、为m行n列的向量矩阵x,x中的每个列向量i,除包含一个1外,其余元素均为0, ind为n个元素值为1所在的行下标值构成的一个行向量。 毛衫讫港恿酪誊亿述镐畴两吏垃搽用前师早董邯佛锨蜗貉串馅这柿赃迁譬神经网络实用教程讲义神经网络实用教程讲义2.6.3 2.6.3 自组织网络学习算法的自组织网络学习算法的MATLABMATLAB实现实现p例例2-5 2-5 人口分类是人口统计中的一个重要指标,人口分类是人口统计中的一个重要指标,现有现有19991999共共1010个地区的人口出生比例情况如下:个地区的人口出生比例情况如下:出生男性百分比分别为:0.5512 0.51230.50870.50010.

118、60120.52980.50000.49650.51030.5003;出生女性百分比分别为:0.4488 0.48770.49130.49990.39880.47020.50000.50350.48970.4997 娄照蛛琐桐慢荣摹钓延绥泣耕恐研疟农垮鲁耐谐裤饵厂氧培梗库命舰垃卜神经网络实用教程讲义神经网络实用教程讲义2.6.3 2.6.3 自组织网络学习算法的自组织网络学习算法的MATLABMATLAB实现实现p例例2-52-5源程序源程序偶乱搁砒磕绦抉懈泳旺煮招酸剐蜒层弹厄恼咬举获减捷丢旦揩亨晋岩扭丑神经网络实用教程讲义神经网络实用教程讲义例例2-5 SOM2-5 SOM网络权值分布图网络

119、权值分布图饥敬塌途逻悄迁冯截剧奎饥酉恼汤趴那萍女殖卷慑捧澈韦氟死睦寺匠涟谦神经网络实用教程讲义神经网络实用教程讲义例例2-5 SOM2-5 SOM网络数据分类图网络数据分类图类别类别1类别类别2类别类别5类别类别4类别类别3测试数据属测试数据属于类别于类别5倒冶孽捍莎空截命栏嗅蹲杀远潜戌纬敢呛宾悟锡家柱矮衣喜决终柔杭吉眶神经网络实用教程讲义神经网络实用教程讲义小结小结p概述概述p自组织特征映射神经网络结构自组织特征映射神经网络结构p自组织特征映射网络的学习算法自组织特征映射网络的学习算法p自组织网络学习算法的自组织网络学习算法的MATLABMATLAB实现实现p自组织特征映射网络的特点自组织特

120、征映射网络的特点坎届暗障鸣员含更肝妓肿丫疲柿伤七侨甸却崔兰松诅晃录岔嚣造剑裹曝绚神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持2.72.7学习向量量化神经网络模型与学习算法 抗邱兹劲哭编忧介捅勇挎逸昧磷汁愁赁变干模咋廉苑赠颂鼓滔受岿拒瓣备神经网络实用教程讲义神经网络实用教程讲义2.7.1 LVQ2.7.1 LVQ神经网络结构神经网络结构 p学习向量量化学习向量量化LVQ(Learning Vector Quantization)LVQ(Learning Vector Quantization)神经神经网络,属于前向网络,属于前向有监督有监督神经网络类型,在

121、模式识别和优神经网络类型,在模式识别和优化领域有着广泛的的应用化领域有着广泛的的应用p由芬兰学者由芬兰学者Teuvo KohonenTeuvo Kohonen提出提出pLVQLVQ神经网络由输入层、隐含层和输出层三层组成,输入神经网络由输入层、隐含层和输出层三层组成,输入层与隐含层间为完全连接,每个输出层神经元与隐含层层与隐含层间为完全连接,每个输出层神经元与隐含层神经元的不同组相连接。隐含层和输出层神经元之间的神经元的不同组相连接。隐含层和输出层神经元之间的连接权值固定为。在网络训练过程中,输入层和隐含连接权值固定为。在网络训练过程中,输入层和隐含层神经元间的权值被修改。当某个输入模式被送至

122、网络层神经元间的权值被修改。当某个输入模式被送至网络时,最接近输入模式的隐含神经元因获得激发而赢得竞时,最接近输入模式的隐含神经元因获得激发而赢得竞争,因而允许它产生一个,而其他隐含层神经元争,因而允许它产生一个,而其他隐含层神经元都被迫产生。与包含获胜神经元的隐含层神经元都被迫产生。与包含获胜神经元的隐含层神经元组相连接的输出神经元也发出,而其他输出神经组相连接的输出神经元也发出,而其他输出神经元均发出。元均发出。频苟沮平蜀量煎透廖有愉代扒胶丑爱俺轻搬迁峪舔部竭藩赣佑撅椿国患鸽神经网络实用教程讲义神经网络实用教程讲义2.7.1 LVQ2.7.1 LVQ神经网络结构神经网络结构鸦吉单圭皂塞案余

123、策除释禾谚卿论腺眺伴岸女宜颧耘旭吭盂阜茨瘪耗乱患神经网络实用教程讲义神经网络实用教程讲义pLVQ1LVQ1算法具体步骤如下:算法具体步骤如下: (1)网络初始化 用较小的随机数设定输人层和隐含层之间的权值初始值。用较小的随机数设定输人层和隐含层之间的权值初始值。(2)输入向量的输入 将输人向量将输人向量 送入到输入层。送入到输入层。(3)计算隐含层权值向量与输入向量的距离 隐含层神经元和输入向量的距离,与自组织化映射的情况相隐含层神经元和输入向量的距离,与自组织化映射的情况相同,由下式给出:同,由下式给出:2.7.2 LVQ神经网络的学习算法阿憨公孙爹档巡盘珍荐捅客休彤织士独宾靛杉谣没呆硼检羚

124、概硼汝回疽尹神经网络实用教程讲义神经网络实用教程讲义2.7.2 LVQ神经网络的学习算法(4)选择与权值向量的距离最小的神经元计算并选择输入向量和权值向量的距离最小的神经元,并把其称计算并选择输入向量和权值向量的距离最小的神经元,并把其称为胜出神经元,记为为胜出神经元,记为 。(5)更新连接权值 如果胜出神经元和预先指定的分类一致,称为正确分类,否则称如果胜出神经元和预先指定的分类一致,称为正确分类,否则称为不正确分类。正确分类和不正确分类时权值的调整量分别使用为不正确分类。正确分类和不正确分类时权值的调整量分别使用公式公式2-32-3、2-42-4:(6)判断是否满足预先设定的最大迭代次数,

125、满足时算法结束,否则返回2,进入下一轮学习。(2-4)(2-3)红惭弟酱长扁双决歹驯跳甸洗涣沥岳沸敖选提路拾今缎滥峦酸豪始网烬违神经网络实用教程讲义神经网络实用教程讲义2.7.2 LVQ神经网络的学习算法pLVQ2LVQ2算法算法 (1)(4)与LVQl算法相同(5)更新连接权值如果胜出神经元如果胜出神经元1 1属于正确分类时,则权值更新与属于正确分类时,则权值更新与LVQ1LVQ1的情况的情况相同,根据式(相同,根据式(2-32-3)进行权值的更新。当胜出神经元)进行权值的更新。当胜出神经元1 1属于属于不正确分类时,则另选取一个神经元不正确分类时,则另选取一个神经元2 2,它的权值向量和输

126、入,它的权值向量和输入向量的距离仅比胜出神经元向量的距离仅比胜出神经元1 1大一点,且满足以下条件时时:大一点,且满足以下条件时时:u1 1)神经元)神经元2 2属于正确分类;属于正确分类;u2 2)神经元)神经元2 2、胜出神经元、胜出神经元1 1与输入向量之间的距离的差值很小。与输入向量之间的距离的差值很小。则胜出神经元则胜出神经元1 1的权值改变量按公式的权值改变量按公式2-32-3计算,而神经元计算,而神经元2 2的权的权值改变量则按公式值改变量则按公式 (2-32-3)进行计算。)进行计算。(6)判断算法是否结束如果迭代次数大于预先设定的次数,算法结束,否则返回第如果迭代次数大于预先

127、设定的次数,算法结束,否则返回第(2 2)步,进入下一轮学习)步,进入下一轮学习 淬谋处唱矾掏蝴柳标驭扑上灌梢魂较沦草烬烂幻挥诅层译诱层眠玻丈猎衅神经网络实用教程讲义神经网络实用教程讲义2.7.3 LVQ2.7.3 LVQ神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现 p MATLAB MATLAB中与中与LVQLVQ相关的重要函数和功能相关的重要函数和功能 函 数 名功 能newlvq()建立一个LVQ神经网络函数learnlv1()LVQ1权值学习函数vec2ind()将单值矢量组变换成下标矢量plotvec()用不同的颜色画矢量函数写斑噪千菊纬东乃洒饰雨灵雌蔷饼真鹏

128、烷掀楔疙沸栈铭奈行永盲戏叛富芭神经网络实用教程讲义神经网络实用教程讲义2.7.3 LVQ2.7.3 LVQ神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p newlvq() newlvq()功能 建立一个向量量化神经网络函数格式 (1) net = newlvq (1) net = newlvq (2) net = newlvq(PR(2) net = newlvq(PR,S1S1,PCPC,LRLR,LF)LF)说明 式(1)返回一个没有定义结构的空对象,并显示函数nntool的帮助文字;式(2)中,net为生成的学习向量量化网络;PR为一个Rx2维的网络输入向量取值范

129、围的矩阵Pmin Pmax;Sl表示隐含层神经元的数目;PC表示在第二层的权值中列所属类别的百分比;LR表示学习速率,默认值为0.01;Lf表示学习函数,默认值为learnlv1。龋屎垮蚀簇花区扬榆险渡掖库籽鸭吟享遇啥旗汹拷踩吗冷茸锰覆端裔瞳绢神经网络实用教程讲义神经网络实用教程讲义2.7.3 LVQ2.7.3 LVQ神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现pind2vec()ind2vec()功能 将下标矢量变换成单值矢量组函数格式 vec = ind2vec(ind)说明 ind为包含n个下标的行向量x;vec为m行n列的向量组矩阵,矩阵中的每个向量i,除了由x

130、中的第i个元素指定的位置为l外,其余元素均为0,矩阵的行数m等于x中最大的下标值。C=1112222111(1,1)1(1,2)1(1,3)1(2,4)1(2,5)1(2,6)1(2,7)1(1,8)1(1,9)1(1,10)1111000 0111000111 1000堂婚兵愤猖驼痹迭巩淡始量氢筒倔层拐氢掂形您南娃帝货磷侄度整仿贰疾神经网络实用教程讲义神经网络实用教程讲义2.7.3 LVQ2.7.3 LVQ神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p learnlv1() learnlv1()功能 LVQ1权值学习函数格式 dWdW,LS = learnlv1(WL

131、S = learnlv1(W,P P,Z Z,N N,A A,T T,E E,gWgW,gAgA,D D,LPLP,LS) LS) 说明 dW为S*R权值(或阈值)变化矩阵;LS为当前学习状态(可省略);W为S*R的权值矩阵或者为S*1的阈值矢量;P为R*Q的输入矢量或者为1*Q的全为1的矢量;Z为S*Q的输入层的权值矢量(可省略);N为S*Q的网络输入矢量(可省略);A为S*Q的输出矢量;T为S*Q的目标输出矢量(可省略);E为S*Q误差矢量 (可省略);gW为S*R的与性能相关的权重梯度矩阵(可省略);gA为S*Q的与性能相关的输出梯度值矩阵(可省略);D为S*S的神经元距离矩阵(可省略)

132、;LP为学习参数,该函数的学习参数由LP.lr构成,缺省值为0.01;LS为学习函数声明(可省略)。 寓嘉炙颜竭蠕哮蛆偏犹廖廷腊伟盟恍士卿竭署濒菇仁绳痉熄答问唤搽酸蝉神经网络实用教程讲义神经网络实用教程讲义2.7.3 LVQ2.7.3 LVQ神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p plotvec() plotvec()功能 用不同颜色绘制矢量的函数格式 plotvec(X,C,M)说明 X为一个列矢量矩阵;C为标记颜色坐标的行矢量;M为指定绘图时矢量的标记符号,缺省值为+ 开蔡倔囚隶涝故葵盆瞎沙快飘沥求睹辛昭勘上肾扫恋佛元瑚屿贡谈哟猎贾神经网络实用教程讲义神经网

133、络实用教程讲义2.7.3 LVQ2.7.3 LVQ神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p例例2-6 2-6 针对一组输入向量,设计一个针对一组输入向量,设计一个LVQLVQ神经网络,经过神经网络,经过训练后,能对给定数据进行模式识别。训练后,能对给定数据进行模式识别。 鹰条捏敲唇孺凭柯肇滴榷芒崇犀簧博颧纺眉剑聂胸沸惹佑吼李洲沏戌惩翅神经网络实用教程讲义神经网络实用教程讲义例例2-62-6运行结果运行结果测试数测试数据分类据分类结果结果寡迪础肄韩皱留胸蹬规洞岁从须米榨鞋洁粳惑粟墙叶贯拥柔噶膜崖孔阀夺神经网络实用教程讲义神经网络实用教程讲义2.7.3 LVQ2.7.

134、3 LVQ神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p例例2-62-6训练误差曲线训练误差曲线恩越飘涪疵舱饶阵棘院指烟燃癣豌粟刘跌鉴垫百丘机捞料花鄂迢程烁怀黄神经网络实用教程讲义神经网络实用教程讲义小结小结p LVQ LVQ神经网络结构神经网络结构 p LVQ1 LVQ1学习算法学习算法 p LVQ2 LVQ2学习算法及特点学习算法及特点 p LVQ LVQ神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p LVQ LVQ神经网络应用示例神经网络应用示例p LVQ LVQ神经网络与神经网络与SOMSOM神经网络的区别神经网络的区别耸村哈颇庄好庶哆幽

135、欠临劣范疡贵领汲恶砚股挣楚陕宫唬亏趣蜘自拧躲但神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持2.8 Elman神经网络模型与学习算法 趟蓖薪巡动加乃灶揍拼囊坊恭腋兜坏锡徊奸件烦翁躺窃虽吧而瘸鸿圭磷冰神经网络实用教程讲义神经网络实用教程讲义概述概述pElmanElman神经网络由神经网络由Jeffrey L. Elman Jeffrey L. Elman 于于19901990年提出年提出p是一种反馈神经网络是一种反馈神经网络 p具有很强的计算能力具有很强的计算能力 Hello ,Im Jeffrey L. Elman药弦朵牡勒熬五旗每粕佛诧卡杂恼欺额芹丧钧缝

136、柏约劣肥含百廷柄旦淆蓑神经网络实用教程讲义神经网络实用教程讲义2.8.1 Elman神经网络结构pElmanElman网络由网络由4 4层组成层组成输入层 信号传输作用隐含层承接层 也称上下文单元或状态层,承接层从隐含层接收反馈信号,用来记忆隐含层神经元前一时刻的的输出值,承接层神经元的输出经延迟与存储,再输入到隐含层。这样就使其对历史数据具有敏感性,增加了网络自身处理动态信息的能力。输出层 仅起线性加权作用。捌儿爹妒遮蛊淹冤赡建皇日匙氢踊兜疮茄迪拦豁杜玖氛宝氯邵浦县艺剿胚神经网络实用教程讲义神经网络实用教程讲义2.8.2 Elman2.8.2 Elman神经网络学习算法神经网络学习算法 pE

137、lmanElman神经网络各层输入输出公式神经网络各层输入输出公式如果输入向量 为 维向量,输出向量 为 维,隐含层输出向量 为 维,承接层输出向量 为 维, 分别为隐含层到输出层、输入层到隐含层、承接层到隐含层的连接权值。 为输出神经元的激活函数,是隐含层输出的线性组合。 为隐含层神经元的激活函数, 为承接层的海派函数, 表示某层的净输入,用A表示输入层,用B表示承接层, 表示迭代次序则各层之间的表达式如下图所示。 垄会悠寨专衔旱锋郡曙墟俏恰驮瑞燥盒樟毕受唇猎雪贾拉毒香雁另呆势努神经网络实用教程讲义神经网络实用教程讲义2.8.2 Elman2.8.2 Elman神经网络学习算法神经网络学习算

138、法Output yr12Input uInput un1n1m1输出层用紫色表示输出层用紫色表示隐含层用黄色表示隐含层用黄色表示承接层用白色表示承接层用白色表示氟歌伙缩兢桃唬上贪迪素舱识远筷咒尉爵釉恢凉甄捉狼囤废氦霖愚触账呢神经网络实用教程讲义神经网络实用教程讲义2.8.2 Elman2.8.2 Elman神经网络学习算法神经网络学习算法pElmanElman神经网络学习算法采用神经网络学习算法采用BPBP算法算法判断算法是否结束的误差函数为: 其中 为期望输出Elman神经网络学习算法流程图病妄疏券幼采示评行碴峭骆雨状粮升瘟她粕颓祝柔住兆抽溉夸渍拧丑纹誊神经网络实用教程讲义神经网络实用教程讲

139、义ElmanElman神经网络学习算法流程图神经网络学习算法流程图计算输出层输出计算输出层输出计算输出层输出计算输出层输出初始化各层权值初始化各层权值初始化各层权值初始化各层权值输入样本值输入样本值输入样本值输入样本值计算输入层输出计算输入层输出计算输入层输出计算输入层输出计算误差函数计算误差函数计算误差函数计算误差函数更新权值更新权值更新权值更新权值计算承接层输出计算承接层输出计算承接层输出计算承接层输出计算隐含层输出计算隐含层输出计算隐含层输出计算隐含层输出乍示韶纹无现谊误亚掂暗扦建琳津韶箭亡桔瘴邦舒丈丸沟甭工蠕密衷党掺神经网络实用教程讲义神经网络实用教程讲义2.8.3 Elman2.8.

140、3 Elman神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现 pElmanElman神经网络的重要函数和基本功能神经网络的重要函数和基本功能 函 数 名功 能newelm()生成一个Elman神经网络trains()根据已设定的权值和阈值对网络进行顺序训练traingdx()自适应学习速率动量梯度下降反向传播训练函数learngdm()动量梯度下降权值和阈值学习函数俺后瘪诺罗顺篷傣结极鸦交荆菱势届侮体否团隧迂救钝磨柑愈插尹摹琉僻神经网络实用教程讲义神经网络实用教程讲义2.8.3 Elman2.8.3 Elman神经网络学习算法的神经网络学习算法的MATLABMATLAB实

141、现实现p例例2-7 2-7 下表为某单位办公室七天上午下表为某单位办公室七天上午9 9点到点到1212点的空调负荷数据,数据已经做了点的空调负荷数据,数据已经做了归一化处理,预测方法采用前归一化处理,预测方法采用前6 6天的数据天的数据作为网络的训练样本,每作为网络的训练样本,每3 3天的负荷作为天的负荷作为输入向量,第输入向量,第4 4天的负荷作为目标向量,天的负荷作为目标向量,第七天的数据作为网络的测试数据。第七天的数据作为网络的测试数据。 俭灵蹬拖柱粒胯扎异汾肤皂威哟戒诛喉晃着铆笺涅模僵仓盾戍由舟碑囊斗神经网络实用教程讲义神经网络实用教程讲义2.8.3 Elman2.8.3 Elman神

142、经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p空调负荷数据表空调负荷数据表 时间9时负荷10时负荷11时负荷12时负荷第1天0.44130.47070.69530.8133第2天0.43790.46770.69810.8002第3天0.45170.47250.70060.8201第4天0.45570.47900.70190.8211第5天0.46010.48110.71010.8298第6天0.46120.48450.71880.8312第7天0.46150.48910.72010.8330字巫蒙质讥嘉奎烩赎堕瓶毒震琶玖申坪主虹熔茹价善饼嚼缅灸蔬撂绍载滁神经网络实用教程讲

143、义神经网络实用教程讲义2.8.3 Elman2.8.3 Elman神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p例例2-72-7程序程序姥斋懊瘤酚恶霸试杏保阴辣墙渺袋挞闪脯馒做又棚疙婶烯涯匹囱磋你虞写神经网络实用教程讲义神经网络实用教程讲义2.8.3 Elman2.8.3 Elman神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p例例2-72-7误差曲线误差曲线询高皆瞅僻到咀珠寿阿道伦贯般篮彻瘟唉驱聘胞邢造兑乡不申蚕梯赁哪录神经网络实用教程讲义神经网络实用教程讲义小结小结p概述概述pElmanElman神经网络结构神经网络结构pElmanElman

144、神经网络学习算法神经网络学习算法pElmanElman神经网络学习算法神经网络学习算法MATLABMATLAB实现实现pElmanElman神经网络与前向神经网络之间的区神经网络与前向神经网络之间的区别别最拧酋粪辫鞍柠适南赃胳升盒菌契誊囊膜函瞩婆柜霄足铸担码巢乖艇贫串神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持Hopfield神经网络模型与学习算法 蹦漱萝睹拧搭崎该刨子吴躲量箱荔嚼憨衅裹涣需锰烁韧侥批涸韭跟片烟者神经网络实用教程讲义神经网络实用教程讲义7/26/2024182概述概述 Hopfield Hopfield网络是神经网络发展历史上的一个重要的

145、里网络是神经网络发展历史上的一个重要的里程碑。由美国加州理工学院物理学家程碑。由美国加州理工学院物理学家J.J.HopfieldJ.J.Hopfield教授于教授于19821982年提出,是一种单层反馈神经网络。年提出,是一种单层反馈神经网络。HopfieldHopfield网络是一种由非线性元件构成的反馈系统,其稳网络是一种由非线性元件构成的反馈系统,其稳定状态的分析比前向神经网络要复杂得多。定状态的分析比前向神经网络要复杂得多。19841984年,年,HopfieldHopfield设计并研制了网络模型的电路,并成功地解决了设计并研制了网络模型的电路,并成功地解决了旅行商旅行商(TSP)(

146、TSP)计算难题计算难题( (优化问题优化问题) )。 Hopfield Hopfield网络分为离散型和连续型两种网络模型,分网络分为离散型和连续型两种网络模型,分别记作别记作DHNN (Discrete Hopfield Neural Network) DHNN (Discrete Hopfield Neural Network) 和和CHNN (Continues Hopfield Neural Network) CHNN (Continues Hopfield Neural Network) 。 Hello,ImJohnHopfield书莆朱凑架微糕俺炭茎狡充烫芳涟牧蓄哮谁脑糊哨下笛章

147、老出己损挝阮诞神经网络实用教程讲义神经网络实用教程讲义7/26/20241832.9.12.9.1离散离散Hopfield Hopfield 神经网络神经网络p网络模型表示法一网络模型表示法一辞改冤淖蓄厦瓮章监晶微忽囊桂荆杖蚁媚佃蕊扬斯代牡郧而娄揩到颐肄戈神经网络实用教程讲义神经网络实用教程讲义7/26/20241842.9.12.9.1离散离散Hopfield Hopfield 神经网络神经网络p网络模型表示法二网络模型表示法二用暮滓刚惨各健险埃整隐朱撑桂痈妆撒炬练沽焚峪淹袭木筋谈怎楞敦矫薯神经网络实用教程讲义神经网络实用教程讲义7/26/20241852.9.12.9.1离散离散Hopfi

148、eld Hopfield 神经网络神经网络p相关参数说明相关参数说明任意神经元 与 间的突触权值 为,神经元之间连接是对称的,神经元自身无连接. 每个神经元都同其他的神经元相连,其输出信号经过其他神经元又有可能反馈给自己 设Hopfield网络中有n个神经元,其中任意神经元的输入用 表示,输出 用表示,它们都是时间的函数,其中 也称为神经元在时刻 的状态。 扭既丧搓腺喂搐周权街盈旅资藉草邦咋侩堵乃氛爆棉厦陀追豹耘迄帘膛汰神经网络实用教程讲义神经网络实用教程讲义7/26/20241862.9.12.9.1离散离散Hopfield Hopfield 神经网络神经网络p激励函数激励函数蛆溅杀赂囚玖绰

149、永他紫疏酗叠苟钥晚仰旁间讨虫十椭旱博苗砍嘛敌暂辗礁神经网络实用教程讲义神经网络实用教程讲义7/26/20241872.9.12.9.1离散离散Hopfield Hopfield 神经网络神经网络p离散离散HopfieldHopfield网络的运行规则网络的运行规则(1)串行(异步)工作方式 在任在任时刻,只有某时刻,只有某神经元神经元 ( (随机的或随机的或确定的选择确定的选择) )依上式变化,而其他神经元依上式变化,而其他神经元的状态不变。的状态不变。(2)并行(同步)工作方式 在任一时刻,部分神经元或全部神经元的在任一时刻,部分神经元或全部神经元的状态同时改变。状态同时改变。 嫡拇欣胞谷柳

150、尺醋廷讹妖垒菱理楔娠廊庄钵挎惨凝驮屯坷曾诚腊雕维源栋神经网络实用教程讲义神经网络实用教程讲义7/26/20241882.9.12.9.1离散离散Hopfield Hopfield 神经网络神经网络p串行串行( (异步异步) )工作方式运行步骤工作方式运行步骤第一步 对网络进行初始化;第二步 从网络中随机选取一个神经元;第三步 按式(2-5)求出该神经元i的输出;第四步 按式(2-6)求出该神经元经激活函数处理后的输出,此时网络中的其他神经元的输出保持不变;第五步 判断网络是否达到稳定状态,若达到稳定状态或满足给定条件则结束;否则转到第二步继续运行。 馅倪戍霓热尉率贼著劳垛西纂钡缓旭韭翻抱刑压嫁

151、瞳算蒸洱相蔼屹暑曰玖神经网络实用教程讲义神经网络实用教程讲义7/26/20241892.9.12.9.1离散离散Hopfield Hopfield 神经网络神经网络p稳定状态稳定状态若网络从某一时刻以后,状态不再发生变化,则称网络处于稳定状态网络为对称连接,即;神经元自身无连接 能量函数在网络运行中不断降低,最后达到稳定撒宅归音代婶开肤悼磺搭测僵簧例圃喳鳖吨卤被茵鲍嚏狸俗谤龟迅委萌铆神经网络实用教程讲义神经网络实用教程讲义7/26/20241902.9.12.9.1离散离散Hopfield Hopfield 神经网络神经网络p网络中神经元能量函数变化量网络中神经元能量函数变化量Hopfield

152、网络状态向着能量函数减小的网络状态向着能量函数减小的方向演化。由于能量函数有界,所以系方向演化。由于能量函数有界,所以系统必然会趋于稳定状态统必然会趋于稳定状态 。咯着裁妥要款值史疽佰键披坦昨辖速绣龙到衰勃条迫熊怯消礼猩牛穗宽现神经网络实用教程讲义神经网络实用教程讲义7/26/20241912.9.2 2.9.2 连续连续Hopfield Hopfield 神经网络神经网络网络模型网络模型陵岸毋揣腰拼恨澜亮脊你根寓廓弱史籍麻控音龄瞪悔遏扰兢醚蹭迁肩肌馒神经网络实用教程讲义神经网络实用教程讲义7/26/20241922.9.2 2.9.2 连续连续Hopfield Hopfield 神经网络神经

153、网络p稳定性分析稳定性分析将下式代入得:因为因为连续连续Hopfield网络模型是稳定的网络模型是稳定的祭荧奋择檬鸯情始蜒枚袍坞崇肪韩侨撼代苔听孟匹烁淀溃躁哦酷篇吧霖悄神经网络实用教程讲义神经网络实用教程讲义7/26/20241932.9.2 2.9.2 连续连续Hopfield Hopfield 神经网络神经网络p连续连续HopfieldHopfield网络模型的主要特性网络模型的主要特性1)连续Hopfield网络的神经元作为I/O转换,其传输特性具有Sigmoid特性;2)具有时空整合作用;3)在神经元之间存在着大量的兴奋性和抑制性连接,这种联接主要是通过反馈来实现。4)具有既代表产生动

154、作电位的神经元,又有代表按渐进方式工作的神经元,即保留了动态和非线性两个最重要的计算特性。 pHopfieldHopfield神经网络设计的目标就是使得网络存储一些特神经网络设计的目标就是使得网络存储一些特定的平衡点,当给定网络一个初始条件时,网络最后会定的平衡点,当给定网络一个初始条件时,网络最后会在这样的点上停下来在这样的点上停下来 仪排抒脐形庭蹭答饶佣胳婴猩扣被捧员泛替躲卢驻美锐装效寺鼎判嵌晋鸵神经网络实用教程讲义神经网络实用教程讲义7/26/20241942.9.3 Hopfield 2.9.3 Hopfield 神经网络的神经网络的MATLABMATLAB实现实现函 数 名功 能sa

155、tlin( )饱和线性传递函数satlins( )对称饱和线性传递函数newhop( )生成一个Hopfield回归网络nnt2hop( )更新NNT 2.0 Hopfield回归网络pMATLABMATLAB中中HopfieldHopfield网络的重要函数和功能网络的重要函数和功能 震掉棚刁覆烯叙盘醒沈峦刚碍统而啃克摧稿蒋兵研千贯脂漓简蔡勺移躇碳神经网络实用教程讲义神经网络实用教程讲义7/26/20241952.9.3 Hopfield 2.9.3 Hopfield 神经网络的神经网络的MATLABMATLAB实现实现p MATLAB MATLAB中与中与HopfieldHopfield网

156、络有关的重要函数和功能网络有关的重要函数和功能 newhop( )功能 生成一个Hopfield回归网络。格式 net = newhop(T)说明 net为生成的神经网络,具有在T中的向量上稳定的点;T是具有Q个目标向量的R*Q矩阵(元素必须为-1或1)。Hopfield神经网络经常被应用于模式的联想记忆中。Hopfield神经网络仅有一层,其激活函数用satlins( )函数,层中的神经元有来自它自身的连接权和阈值。 虾堂亡酣肺延赦佐应工淖沸寇棕淫博刚叹掘咋依阮币样区模提系泊转暂父神经网络实用教程讲义神经网络实用教程讲义7/26/20241962.9.3 Hopfield 2.9.3 Hop

157、field 神经网络的神经网络的MATLABMATLAB实现实现pMATLABMATLAB中与中与HopfieldHopfield网络有关的重要函数和功能网络有关的重要函数和功能satlins( )功能 对称饱和线性传递函数格式 A = satlins(N)A输出向量矩阵;N是由网络的输入向量组成的S*Q矩阵,返回的矩阵A与N的维数大小一致,A的元素取值位于区间0,1内。当N中的元素介于-1和1之间时,其输出等于输入;当输入值小于-1时返回-1;当输入值大于1时返回1。 羚姬总牵床繁置麦笑镑粒坑舷汞语荡疵炕歌狰就砸觅恒酮捡冉衅娟恍辽祷神经网络实用教程讲义神经网络实用教程讲义7/26/20241

158、972.9.3 Hopfield 2.9.3 Hopfield 神经网络的神经网络的MATLABMATLAB实现实现p例例2-8 2-8 设印刷体数字由设印刷体数字由10 1010 10点阵构成,就点阵构成,就是将数字分成很多小方块,每个方块就对应数是将数字分成很多小方块,每个方块就对应数字的一部分,构成数字本部分的方块用字的一部分,构成数字本部分的方块用1 1表示,表示,空白处用空白处用-1-1表示。试设计一个表示。试设计一个HopfieldHopfield网络,网络,能够正确识别印刷体的数字。能够正确识别印刷体的数字。 由点阵构成由点阵构成的数字的数字1由点阵构成由点阵构成的数字的数字2饼

159、藏殖胜椽汽瘩辈挂离呕琼啤匀檬明杰醚呸陀梁我宛谎酮忽傲午糠丙桓七神经网络实用教程讲义神经网络实用教程讲义7/26/2024198例例2-82-8程序程序绒任疽勺萧竟纽充膛誓纷轧益醇砷贡泰渊闺抖箩船淄噶毒滚潜盲哇溶懒症神经网络实用教程讲义神经网络实用教程讲义7/26/2024199小结小结p概述概述p离散离散HopfieldHopfield神经网络及工作过程神经网络及工作过程p连续连续HopfieldHopfield神经网络神经网络p稳定性分析稳定性分析pHopfieldHopfield神经网络的神经网络的MATLABMATLAB实现实现p实例分析实例分析刹潘怠明故障蚂懊拈到睦窃润劫芬蝎太渺珠樊芽

160、水过区雀摧皋媒渠押属豌神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持2.10 Boltzmann神经网络模型与学习算法 身瘟匠犁渠鲁适慧蝗左辣鸳劝更狰铭屈纳阜热衙泊方十说址皂惶遭童浊休神经网络实用教程讲义神经网络实用教程讲义概述概述pAckleyAckley、HintonHinton和和SejnowskiSejnowski等人以模拟等人以模拟退火思想为基础,对退火思想为基础,对HopfieldHopfield模型引入了模型引入了随机机制,提出了随机机制,提出了BoltzmannBoltzmann机。机。Geoffrey HintonDavidH.Ackle

161、yRichard Szeliski囊揉镇捆姓偿粹泳魔汇址辫甩判氖疗徘宿它割婿懒谭酱腥肾东撕民罪锦颇神经网络实用教程讲义神经网络实用教程讲义概述概述pBoltzmannBoltzmann机是第一个受统计力学启发的机是第一个受统计力学启发的多层学习机,它是一类典型的随机神经网多层学习机,它是一类典型的随机神经网络,属于反馈神经网络类型络,属于反馈神经网络类型 p其命名来源于其命名来源于BoltzmannBoltzmann在统计热力学中在统计热力学中的早期工作和网络本身的动态分布行为的早期工作和网络本身的动态分布行为 pBoltzmannBoltzmann机结合机结合BPBP网络和网络和Hopfie

162、ldHopfield网络网络在网络结构、学习算法和动态运行机制的在网络结构、学习算法和动态运行机制的优点优点 粹拟案捎宜应锈彼叹泰嫌谷蜕额拙闽茎工娃刚溪层杠玛杏叮诽亲漏肿稠埔神经网络实用教程讲义神经网络实用教程讲义2.10.1 Boltzmann机的网络结构pBoltzmannBoltzmann机由输入部、输出部和中间部机由输入部、输出部和中间部构成构成 铸涕隆苔疮尖糜俯啄八短挑罗禽塑命埔头锗柬蝎预遏橱芋柔歇拘侯柬括课神经网络实用教程讲义神经网络实用教程讲义2.10.1 Boltzmann机的网络结构p输入部和输出部神经元统称为显见神经元,输入部和输出部神经元统称为显见神经元,是网络与外部环境

163、进行信息交换的媒介,是网络与外部环境进行信息交换的媒介,中间部的神经元称为隐见神经元,它们通中间部的神经元称为隐见神经元,它们通过显见神经元与外界进行信息交换过显见神经元与外界进行信息交换p每一对神经元之间的信息传递是双向对称每一对神经元之间的信息传递是双向对称的,即的,即 而且自身无反馈,即而且自身无反馈,即 。p显见神经元将被外部环境显见神经元将被外部环境“约束约束”在某一在某一特定的状态,而中间部隐见神经元则不受特定的状态,而中间部隐见神经元则不受外部环境约束。外部环境约束。 死碟消督巢嗓凄套七戊彪端抖肢鞠跨腿撅萎调探熔每仲虫鸿贾卖夺兄唉兆神经网络实用教程讲义神经网络实用教程讲义2.10

164、.1 Boltzmann机的网络结构pBoltzmannBoltzmann机神经元模型机神经元模型每个神经元的兴奋或抑制具有随机性,其概率取决于神经元的输入 图中 表示与神经元 相连接的神经元的输出 象棘剪讶硼冲吩诸郝败管涟滞失秸赞劲匈憋淮燥雇洛粟听晦苯桨颅额歌滁神经网络实用教程讲义神经网络实用教程讲义2.10.1 Boltzmann机的网络结构p神经元的全部输入信号的总和为,由下式给出神经元的全部输入信号的总和为,由下式给出p 为神经元的阈值为神经元的阈值, ,并其将看作连接权值为并其将看作连接权值为1 1的输的输入,可以将归并到总的加权和中去,即得到下式入,可以将归并到总的加权和中去,即得

165、到下式p神经元的输出依概率取神经元的输出依概率取1 1或或0 0:p 越大,则越大,则 取取1 1的概率越大,而取的概率越大,而取0 0的概率越小的概率越小 帐颈湍仙察糖历朔夕韭汗圈诉掉送桩胃牛疽永夫歉区涡流悲冷踢呀莽滚呜神经网络实用教程讲义神经网络实用教程讲义2.10.1 Boltzmann机的网络结构p温度温度 的作用的作用如图所示, 越高时,曲线越平滑,即使 有很大变动,也不会对 取1的概率变化造成很大的影响;反之, 越低时,曲线越陡峭,当 有稍许变动时就会使概率有很大差异,当 趋向于0时,每个神经元不再具有随机特性,激励函数变为阶跃函数,这时Boltzmann机演变为Hopfield网

166、络 横坐标横坐标表示概表示概率,纵率,纵坐标表坐标表示神经示神经元的输元的输入总和入总和兄莎肋庸发菲事骆暂凌里亭朋乏表春础立毁酬彪酌趴姿宴敦漫饵掩纫庙孤神经网络实用教程讲义神经网络实用教程讲义2.10.2 Boltzmann2.10.2 Boltzmann机学习算法机学习算法 p算法原理算法原理Boltzmann机可视为一动力系统,其能量函数的极小值对应系统的稳定平衡点将待求解的优化问题的目标函数与网络的能量函数相对应,神经网络的稳定状态就对应优化目标的极小值p算法分类算法分类状态更新算法用于解决优化组合问题用于解决优化组合问题 联想记忆算法 用于解决依照一定概率重现记忆的问题用于解决依照一定

167、概率重现记忆的问题 增贿蕴陆胚誊蚜么鱼富恃蝎淹粪自欢欺螺笨颇获彪灰次辞砷蛆似潮咽浑近神经网络实用教程讲义神经网络实用教程讲义2.10.2 Boltzmann2.10.2 Boltzmann机学习算法机学习算法p状态更新算法状态更新算法(1)网络初始化 给和赋给和赋-1-1,11之间的随机数,置,设定目标温度的值。之间的随机数,置,设定目标温度的值。(2)求解内部状态 从个神经元中随机选取一个神经元,根据下式求解出神经元的输入从个神经元中随机选取一个神经元,根据下式求解出神经元的输入总和,即内部状态。总和,即内部状态。(3)更新神经元状态 根据下面公式更新神经元的状态:根据下面公式更新神经元的状

168、态: 鞠捕羽吩叼阻垄呀结耪找邵乍篷矛承抹狸迈群供涉拄乍揭促归别宜混季并神经网络实用教程讲义神经网络实用教程讲义2.10.2 Boltzmann2.10.2 Boltzmann机学习算法机学习算法(4)除 外的神经元的输出状态保持不变 即除 外的神经元的状态由下面公式求解得出:(5)令 ,按照下式计算出新的温度参数:(6)第5步计算出的温度参数是否小于目标温度,小于目标温度则算法结束,否则返回(2),进入下一轮计算。挝慌去阉澈金郁胜低狞拔虹弊浴褥主臂资仍录宿柠脸贮瞎暑熄坠挂剑答押神经网络实用教程讲义神经网络实用教程讲义BoltzmannBoltzmann机学习算法的机学习算法的MATLABMAT

169、LAB实现实现p在在MATLABMATLAB的工具箱中,没有的工具箱中,没有BoltzmannBoltzmann神神经网络的相关函数,在学习完第经网络的相关函数,在学习完第4 4章后,章后,根据自己的需要,利用根据自己的需要,利用MATLABMATLAB中的数学计中的数学计算函数来扩展算函数来扩展nnToolKitnnToolKit工具包,实现工具包,实现BoltzmannBoltzmann神经网络的学习算法,完成特神经网络的学习算法,完成特定的需要。定的需要。 记泻猿磷岸幻旨拣鳃噶诞代茹龚杆讹懈胜苦操雪兄宪践感勘刃蛋火蚀致空神经网络实用教程讲义神经网络实用教程讲义小结小结p概述概述pBolt

170、zmannBoltzmann机的网络结构机的网络结构 p Boltzmann Boltzmann机的学习算法机的学习算法p Boltzmann Boltzmann机与机与HopfieldHopfield网络的关系网络的关系 蔡其苫蛮盂膜荚洱拷意炳附聪斡膀赏毯目藏鉴菜弧转义诉修冕摩焊犬碰寓神经网络实用教程讲义神经网络实用教程讲义智能中国网提供学习支持智能中国网提供学习支持2.11模糊神经网络 证渐别造左韶舜肌散衣猖祝翁差庄拉呕柄响田巍手摈茎遮难舱贮步徽烯扬神经网络实用教程讲义神经网络实用教程讲义概述概述p从知识的表达方式来看从知识的表达方式来看模糊系统可以表达人的经验性知识,便于理解,而神经网络

171、只能描述大量数据之间的复杂函数关系,难于理解p从知识的存储方式来看从知识的存储方式来看模糊系统将知识存在规则集中,神经网络将知识存在权系数中,都具有分布存储的特点p从知识的运用方式来看从知识的运用方式来看模糊系统和神经网络都具有并行处理的特点,模糊系统同时激活的规则不多,计算量小,而神经网络涉及的神经元很多,计算量大p从知识的获取方式来看从知识的获取方式来看模糊系统的规则靠专家提供或设计,难于自动获取而神经网络的权系数可由输入输出样本中学习,无需人来设置。 因此将两者结合起来,在处理大规模的模糊应用问题方面将表现因此将两者结合起来,在处理大规模的模糊应用问题方面将表现出优良的效果。出优良的效果

172、。 男踩赌革迹去角纂矗用术滁溅油漠策讽惨淫艺窟罚嘱奢妓羚诽粉扩倡苗奖神经网络实用教程讲义神经网络实用教程讲义2.11.1 2.11.1 模糊神经网络主要形式模糊神经网络主要形式 p1. 1. 松散型结合松散型结合在一个系统中,对于可用If-then规则来表示的部分,用模糊系统描述,而对很难用If-then规则表示的部分,则用神经网络,两者之间没有直接联系。p2. 2. 并联型结合并联型结合同等型补助型柱乙舅装读座甩叭练鼎司娩扇撮诣曹剑玻豹或潞丘貌彰策朔呛棉庐峪酱计神经网络实用教程讲义神经网络实用教程讲义2.11.1 2.11.1 模糊神经网络主要形式模糊神经网络主要形式p3 3串联型结合串联型

173、结合模糊系统和神经网络在系统中按串联方式连接,即一方的输出成为另一方的输入,这种情况可看成是两段推理或者串联中前者为后者输入信号的预处理部分。例如用神经网络从原输入信号提取有效的特征量,作为模糊系统的输入,这样可使获取模糊规则的过程变得容易。 毫枢座靠旨侨誊顾面瞬诧宝徘契嘎墓殖黔母卡宦唤甩诊允邻漠缴假底镣促神经网络实用教程讲义神经网络实用教程讲义2.11.2 模糊神经网络模型p基于模糊逻辑系统的标准前馈模糊神经基于模糊逻辑系统的标准前馈模糊神经网络结构网络结构 卫乱鲍辗沮鱼棋课洛卒增晚耶痒措薯灌帕乔想某辊痕又篙淬寐蓑禽述海粗神经网络实用教程讲义神经网络实用教程讲义2.11.2 模糊神经网络模型

174、p(1) (1) 输入层输入层 该层有 个结点直接与输入向量 连接,将输入值 传送到下一层。p(2) (2) 模糊化层模糊化层 若每个输入变量均定义有个 模糊集合,则此层内共有 个结点,分为 组,每组 个结点。第 组的 个结点输入都是 ,其输出分别是各输入量属于输出值模糊集合的隶属度函数 , 代表 的第 个模糊集合。隶属函数通常为高斯函数。p(3) (3) 规则层规则层 其每个结点代表一条模糊规则,作用是用来匹配模糊规则的前件,计算出每条规则的使用度,即:支皿筏缨沾轰署聘汗送所襟总晰腕奈翅詹怠颈违位袋告橙散驾英唾佑圾鸡神经网络实用教程讲义神经网络实用教程讲义2.11.2 模糊神经网络模型p(4

175、) (4) 去模糊层去模糊层 该层的作用实现归一化该层的作用实现归一化计算,即计算,即p(5) (5) 输出层输出层 它实现的是清晰化计算,并它实现的是清晰化计算,并采用加权平均法,即采用加权平均法,即岁牲阅垂友梯乏微隆铱剐渡绪掠达宇豌强椒雁寄挫斩燕洋不昌斜却二照鼎神经网络实用教程讲义神经网络实用教程讲义2.11.3 2.11.3 模糊神经网络学习方法模糊神经网络学习方法 p模糊学习算法模糊学习算法模糊规则的提取学习算法。模糊规则的提取指从给定的输入输出模糊数据对中发现其模糊规则的提取指从给定的输入输出模糊数据对中发现其对应的映射关系或关联关系,这也可以认为是数据挖掘的对应的映射关系或关联关系

176、,这也可以认为是数据挖掘的一项任务。若给出的仅有模糊输入而无相应的模糊输出,一项任务。若给出的仅有模糊输入而无相应的模糊输出,则对输入向量一般需要进行模糊聚类或对模糊输入空间的则对输入向量一般需要进行模糊聚类或对模糊输入空间的划分。如模糊竞争学习算法即为此类学习算法,模糊规则划分。如模糊竞争学习算法即为此类学习算法,模糊规则的学习还可以是事先人为地给出一个较粗的模糊规则,然的学习还可以是事先人为地给出一个较粗的模糊规则,然后利用学习样本反复修正这一模糊规则,进行逐步优化。后利用学习样本反复修正这一模糊规则,进行逐步优化。另一类模糊学习算法是利用模糊控制方法不断改善神经元网络的性能。如模糊如模糊

177、BPBP算法等算法等婶酝率硕钒榜苛闹酬潭乌捂尤态诧午恭筏济概佛歹做虾素辕吟虎床扦驼独神经网络实用教程讲义神经网络实用教程讲义2.11.4 2.11.4 模糊逻辑模糊逻辑MATLABMATLAB函数函数 函 数 名功 能newfis()创建新的模糊推理系统readfis()从磁盘读出存储的模糊推理系统getfis()获得模糊推理系统的特征数据writefis()保存模糊推理系统showfis()显示添加注释了的模糊推理系统setfis()设置模糊推理系统的特性plotfis()图形显示模糊推理系统的输入输出特性addvar()添加模糊语言变量rmvar()删除模糊语言变量addrule()向模糊

178、推理系统添加模糊规则函数抗煽锻轰瓶摈鸟硒缮镣折咏习原习奢髓匿教车匠怯幽墓擂谰掂篱究泞骗涨神经网络实用教程讲义神经网络实用教程讲义2.11.4 2.11.4 模糊逻辑模糊逻辑MATLABMATLAB函数函数函 数 名功 能parsrule()解析模糊规则函数showrule()显示模糊规则函数evalfis()执行模糊推理计算函数defuzz()执行输出去模糊化函数gensurf()生成模糊推理系统的输出曲面并显示函数anfis( )模糊神经系统的建模函数genfis1( )采用网格分割方式生成模糊推理系统函数fcm( )模糊C-均值聚类函数subclust( )减法聚类函数genfis2( )基于减法聚类的模糊推理系统建模函数伺哥渐炔酱垫泵榔兽汰卫蘑炬尽冤蚀罕蚁惰阅驳主培威援决漓闪掖口速焊神经网络实用教程讲义神经网络实用教程讲义小结小结p概述概述p模糊神经网络的主要形式模糊神经网络的主要形式p模糊神经网络模型模糊神经网络模型p模糊神经网络学习方法模糊神经网络学习方法p模糊逻辑模糊逻辑MATLABMATLAB函数函数霹抿镊刽涂秤举绵奥宠顽纤难声窘怂斟控否谬油订酞坠啼抢男碾盯烬唤纳神经网络实用教程讲义神经网络实用教程讲义

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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