神经网络原理及应用课件_第1页
神经网络原理及应用课件_第2页
神经网络原理及应用课件_第3页
神经网络原理及应用课件_第4页
神经网络原理及应用课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、BP神经网络原理及应用数学建模工作室房恩岳2012.11.07Contents神经网络概述BP神经网络应用实例在matlab中的实现BP 网络模型改进神经网络简介什么是神经网络?人类的神经网络神经网络(NNs)它是一种模拟动物神经网络行为特征,进行分布式并行信息处理的算法。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。神经网络基础知识 构成:大量简单的基本元件神经元相互连接 工作原理:模拟生物的神经处理信息的方式 功能:进行信息的并行处理和非线性转化特点:比较轻松地实现非线性映射过程 具有大规模的计算能力神经网络的本质神经网络的本质就是利用计算机语

2、言模拟人类大脑做决定的过程做决定距离味道价格神经元结构模型x1x2xjx3xnyixj为输入信号, 为阈值, 表示与神经元 xj 连接的权值 yi表示输出值判断 是否大于阀值什么是阀值?临界值。比如有一头驴,往它身上压稻草,一根一根地压,当压到N根时,还没有被压倒,又压了一根,倒了,这时所有压在驴身上的稻草的多少,就是压倒这头驴的阈值。神经网络是模仿大脑的神经元,当外界刺激达到一定的阀值时,神经元才会受刺激,影响下一个神经元。系统本身/黑盒子知道不知道y=x2机场输入:x输出:y几种代表性的网络模型单层前向神经网络线性网络阶跃网络多层前向神经网络(反推学习规则即BP神经网络)Elman网络、H

3、opfield网络、双向联想记忆网络、自组织竞争网络等等神经网络能干什么? 运用这些网络模型可实现函数逼近、数据聚类、模式分类、优化计算等功能 。因此,神经网络广泛应用于人工智能、自动控制、机器人、统计学等领域的信息处理中。虽然神经网络的应用很广,但是在具体的使用过程中到底应当选择哪种网络结构比较合适是值得考虑的。这就需要我们对各种神经网络结构有一个较全面的认识BP(Back-Propagation)神经网络BP 神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的

4、学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)隐层(hide layer)和输出层(output layer)BP神经网络特点:多层前馈神经网络,信号向前传播,误差向后传播。结构:输入层输出层中间层ijk输入层输出层中间层ijk输出层:输入输出传递函数阈值型线性型S型传递函数(激活函数)logsig(S型函数):MATLAB按此函数计算:调用格式:A=logsig(N)如:n=-10:0.1:10 ;a=logsig(n)plot(n,a) grid on图形如下:tansig(双曲正切S型传递函数):

5、调用格式:A=tansig(n)如:n=-10:0.1:10 a=tansig(n)plot(n,a) grid on 如右图所示BP神经网络原理基本BP算法包括两个方面:信号的前向传播和误差的反向传播。即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行。利用输出后的误差来估计输出层的直接前一层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。 BP神经网络工作流程1.网络初始化:根据训练数据确定网络的输入神经元数n,隐含神经元数l,输出神经元数m,初始化各层神经元之间的连接权值 和 ,初始化隐含层和输出层的阈值 a

6、和b,给定学习速率和神经元传递函数。2.隐含层输出计算 :根据输入向量X,输入层和隐含层连接权值 以及隐含层阈值a,计算隐含层输出H 3.输出层输出计算。根据隐含层输出的H,连接权值 和阈值b,计算BP神经网络的预测输出O.4.误差计算根据预测输出O和期望输出Y计算网络预测误差e5.权值更新根据网络误差更新网络权值 ,6.阈值更新,根据网络误差网络e,神经元阈值a,b7.判断算法迭代是否结束,若没有结束返回步骤2BP标准算法步骤网络结构输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元变量定义输入向量:隐含层输入向量:隐含层输出向量:输出层输入向量:输出层输出向量:期望输出向量:BP标

7、准算法步骤变量定义输入层与中间层的连接权值:隐含层与输出层的连接权值:隐含层各神经元的阈值:输出层各神经元的阈值:样本数据个数:激活函数:误差函数:BP标准算法步骤1. 网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值 和最大学习次数M。2. 随机选取一个输入样本及对应期望输出 BP标准算法步骤3.计算隐含层和输出层各神经元的输入和输出BP标准算法步骤4.利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数。 BP标准算法步骤5. 利用隐含层到输出层的连接权值、输出层的输出和隐含层的输出,计算误差函数对隐含层各神经元的偏导数。 BP标准

8、算法步骤BP标准算法步骤6. 利用输出层各神经元的和隐含层各神经元的输出来修正连接权值。 BP标准算法步骤7. 利用隐含层各神经元的和输入层各神经元的输入修正连接权。BP标准算法步骤 8. 计算全局误差9. 判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。 梯度下降法情况一、直观表达 当误差对权值的偏导数大于零时,权值调整量为负,实际输出大于期望输出,权值向减少方向调整,使得实际输出与期望输出的差减少。whoe0,此时who0BP标准算法直观解释情况二、直观表达当误差对权值的偏导数小于

9、零时,权值调整量为正,实际输出少于期望输出,权值向增大方向调整,使得实际输出与期望输出的差减少。e0whoBP标准算法直观解释应用实例分类识别数据预测医学诊断蠓虫的分类识别思路1、触角长和翼长作为输入信息,分别记x1,x2 目标输出:(1,0) 、(0,1)。 Af类记为 (1,0),Apf类记为(0,1)。输出层有两个神经元输入层输出层中间层iho2、通过已知样本训练出合适的权值使输出为(0,1)或(1,0)。3、将待区分的蠓虫数据输入网络,求值。权值求法:向后传播法理想输出 Af类(1,0),Apf类(0,1)记为 则有误差:使得E(w)最小的 作为所需的权值运用神经网络进行预测例:现给出

10、一药品商店一年当中12个月的药品销售量(单位:箱)如下: 训练一个BP网络,用当前的所有数据预测下一个月 的药品销售量。 抛开神经网络,对于预测问题我们会首先想到线性拟合的方法首先我们看一下这些数据的离散分布图但线性拟合有它的局限性,从图中可以明显看出月份与药品销量不存在线性关系,对于离散程度特别高的数据,它们不存在线性关系,所以用线性拟合做出来的误差会很大对于预测问题我们还可以用灰色系统、时间序列来预测思路二我们用前三个月的销售量预测下一个月的销售量,也就是用1-3月的销售量预测第4个月的销售量,用2-4个月的销售量预测第5个月的销售量,如此循环下去,直到用9-11月预测12月份的销售量。这

11、样训练BP神经网络后,就可以用10-12月的数据预测来年一月的销售量。谵妄的诊断谵妄是由于各种原因引起的急性脑器质性综合症,其特点是急性发病,意识水平变化,病程波动,定向力、注意力、思维、精神运动、行为和情感改变。根据国外1980年以后的有关谵妄研究文献的报道,谵妄的发病率为4%25%。目前对谵妄的发病机制还了解不多,诊断的方式常采用多个指标综合评价。如对老年人谵妄,通常采用检查表的方式确诊,检查表中的11个项目包含:急性起病:病人的精神状况有急性变化的证据吗?注意障碍:患者的注意力难以集中吗?思维混乱:患者的思维是凌乱或是不连贯吗?意识水平的改变:总体上看,您如何评价该患者的意识水平?定向障

12、碍:在会面的任何时间患者存在定向障碍吗?记忆力减退:在面谈时患者表现出记忆方面的问题吗?知觉障碍:患者有知觉障碍的证据吗?精神运动性兴奋:面谈时患者的行为活动有不正常的增加吗?精神运动性迟缓:面谈时患者有运动行为水平的异常减少吗?波动性:患者的精神状况(注意力、思维、定向、记忆力)在面谈前或者在面谈中有波动吗?睡眠-觉醒周期的改变:患者有睡眠-觉醒周期紊乱的证据吗?谵妄的诊断针对以上11个问题,医生对病人进行观察和提问,每项分4个等级打分:不存在1分;轻度存在2分;中度存在3分;严重存在4分。 数据为一个医生对96名测试人员的观察和提问,并通过计分方式记录下来的直观诊断。诊断标准为:22分以上

13、可诊断为谵妄,在量表诊断一列中记为Y(否则记为N)。这样的标准是否合理?谵妄的诊断谵妄的诊断实际上已经知道,前48个数据来自临床诊断的病人,后48个数据来自正常人。可以看出,量表诊断一共出了10例误诊病例,占测试人员的10.4%,这是一个比较高的错误率。现在有神经网络解决这个问题。该如果解决?谵妄的诊断思路1. 将表中140号数据和5996号数据作为学习数据,4158号数据作为检验数据。2. 选用较为简单的2层且隐含层有4个神经元的BP算法神经网络。在Matlab中的实现 newff 创建一个BP网络,其调用格式为:net=newffnet=newff(PR,S1 S2 SN1,TF1 TF2

14、TFN1,BTF,BLF,PF)其中,net=newff :用于在对话框中创建一个BP网络PR :由每组输入(共有R组输入)元素的最大值和最小值组成的R2维的矩阵;Si :第i层神经元的个数,共计N1层TFi:第i层的传递函数,默认为“tansig”BTF:BP网络的训练函数,默认为“trainlm”;BLF:权值和阈值的BP学习算法,默认为“learngdm”PF:网络的性能函数,默认为“mse”train 用于对神经网络进行训练。调用格式为:net,tr,Y,E,Pf,Af=train(NET,P,T,Pi,Ai)其中,NET:待训练的神经网络;P:网络的输入信号;T:网络的目标,默认值为

15、0;Pi:初始的输入延迟,默认为0;Ai:初始的层次延迟,默认为0;net:函数返回值,训练后的神经网络;tr:函数返回值,训练记录(包括步数和性能);Y:函数返回值,神经网络的输出信号;E:函数返回值,神经网络的误差;Pf:函数返回值,最终输入延迟;Af:函数返回值,最终层延迟。常见参数:net.trainParam.show 显示中间结果的周期(25)net.trainParam.lr 整批学习中的学习效率(0.01)net.trainParam.mc 势能学习规则(traingdm)势能率(0.9)net.trainParam.epochs 整批学习迭代次数上限(100)net.trai

16、nParam.goal 最小二乘目标误差设定值(0)神经网络仿真函数sim 调用格式为:Y,Pf,Af,E,perf=sim(net,P,Pi,Ai,T)其中,Y:函数返回值,网络输出;Pf:函数返回值,最终输出延迟;Af:函数返回值,最终的层延迟;E:函数返回值,网络误差;perf:函数返回值,网络性能;net:待仿真的神经网络;P:网络输入;Pi:初始输入延迟,默认为0;Ai:初始的层延迟,默认为0;T:网络目标,默认为0.BP神经网络的改进一、基本BP算法的缺陷二、隐含层的层数与节点数的改进三、用遗传算法优化BP神经网络基本BP算法的缺陷BP算法因其简单、易行、计算量小、并行性强等优点,

17、目前是神经网络训练采用最多也是最成熟的训练算法之一。其算法的实质是求解误差函数的最小值问题,由于它采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权值,因而通常存在以下问题:学习效率低,收敛速度慢易陷入局部极小状态隐含层的层数与节点数的改进BP神经网络的构建必须注意隐含层神经元数的选择。如果隐含层神经元数过少,BP神经网络难以建立复杂的映射关系,网络预测误差较大,如果隐含层神经元数过多,网络学习的时间增加,并且可能出现过拟合的现象,就是把样本中非规律性的内容(如噪声等)也学会记牢,从而出现训练样本准确,但是其他样本预测误差较大。隐含层的层数与节点数的改进那怎么确定隐含层的神经元个数呢?现在还没有什么成熟的定理能确定各层神

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论