1 / 19
文档名称:

BP神经网络详细讲解.doc

格式:doc   大小:172KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

BP神经网络详细讲解.doc

上传人:hh思密达 2024/6/26 文件大小:172 KB

下载得到文件列表

BP神经网络详细讲解.doc

相关文档

文档介绍

文档介绍:该【BP神经网络详细讲解 】是由【hh思密达】上传分享,文档一共【19】页,该文档可以免费在线阅读,需要了解更多关于【BP神经网络详细讲解 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。PS:这篇介绍神经网络是很具体的,有一步一步的推导公式!神经网络是DL(深度学****的基础。假如对神经网络已经有所了解,可以干脆跳到“三、BP算法的执行步骤“部分,算法框架清楚明白。另外,假如对NN很感爱好,也可以参阅最终两篇参考博文,也很不错!学****是神经网络一种最重要也最令人注目的特点。在神经网络的发展进程中,学****算法的探讨有着非常重要的地位。目前,人们所提出的神经网络模型都是和学****算法相应的。所以,有时人们并不去祈求对模型和算法进行严格的定义或区分。。不过,有时人们也称算法为模型。自从40年头Hebb提出的学****规则以来,人们相继提出了各种各样的学****算法。其中以在1986年Rumelhart等提出的误差反向传播法,即BP(errorBackPropagation)法影响最为广泛。直到今日,BP算法仍旧是自动限制上最重要、应用最多的有效算法。,对外部环境供应的模式样本进行学****训练,并能存储这种模式,则称为感知器;对外部环境有适应实力,能自动提取外部环境变更特征,则称为认知器。神经网络在学****中,一般分为有老师和无老师学****两种。感知器采纳有老师信号进行学****而认知器则采纳无老师信号学****的。在主要神经网络如BP网络,Hopfield网络,ART网络和Kohonen网络中;BP网络和Hopfield网络是须要老师信号才能进行学****的;而ART网络和Kohonen网络则无需老师信号就可以学****所谓老师信号,就是在神经网络学****中由外部供应的模式样本信号。一、感知器的学****结构感知器的学****是神经网络最典型的学****目前,在限制上应用的是多层前馈网络,这是一种感知器模型,学****算法是BP法,故是有老师学****算法。一个有老师的学****系统可以用图1—7表示。这种学****系统分成三个部分:输入部,训练部和输出部。图1-7?神经网络学****系统框图输入部接收外来的输入样本X,由训练部进行网络的权系数W调整,然后由输出部输出结果。在这个过程中,期望的输出信号可以作为老师信号输入,由该老师信号与实际输出进行比较,产生的误差去限制修改权系数W。学****机构可用图1—8所示的结构表示。在图中,Xl?,X2?,…,Xn?,是输入样本信号,W1?,W2?,…,Wn?是权系数。输入样本信号Xi?可以取离散值“0”或“1”。输入样本信号通过权系数作用,在u产生输出结果∑Wi?Xi?,即有:u=∑Wi?Xi?=W1?X1?+W2?X2?+…+Wn?Xn再把期望输出信号Y(t)和u进行比较,从而产生误差信号e。即权值调整机构依据误差e去对学****系统的权系数进行修改,修改方向应使误差e变小,不断进行下去,使到误差e为零,这时实际输出值u和期望输出值Y(t)完全一样,则学****过程结束。神经网络的学****一般须要多次重复训练,使误差值渐渐向零趋近,最终到达零。则这时才会使输出与期望一样。故而神经网络的学****是消耗肯定时期的,有的学****过程要重复许多次,甚至达万次级。缘由在于神经网络的权系数W有许多重量W1?,W2?,----Wn?;也即是一个多参数修改系统。系统的参数的调整就必定耗时耗量。目前,提高神经网络的学****速度,削减学****重复次数是非常重要的探讨课题,也是实时限制中的关键问题。二、感知器的学****算法感知器是有单层计算单元的神经网络,由线性元件及阀值元件组成。感知器如图1-9所示。图1-9??感知器结构感知器的数学模型:(1-12)其中:f[.]是阶跃函数,并且有(1-13)?θ是阀值。感知器的最大作用就是可以对输入的样本分类,故它可作分类器,感知器对输入信号的分类如下:(1-14)即是,当感知器的输出为1时,输入样本称为A类;输出为-1时,输入样本称为B类。从上可知感知器的分类边界是:(1-15)?在输入样本只有两个重量X1,X2时,则有分类边界条件:(1-16)?即????W1?X1?+W2?X2?-θ=0??????(1-17)也可写成(1-18)这时的分类状况如固1—10所示。感知器的学****算法目的在于找寻恰当的权系数w=(,…,Wn),使系统对一个特定的样本x=(xt,x2,…,xn)熊产生期望值d。当x分类为A类时,期望值d=1;X为B类时,d=-1。为了便利说明感知器学****算法,把阀值θ?并人权系数w中,同时,样本x也相应增加一个重量xn+1?。故令:Wn+1?=-θ,Xn+1?=1?????(1-19)则感知器的输出可表示为:(1-20)感知器学****算法步骤如下:=(W1?.W2?,…,Wn?,Wn+1?)的各个重量置一个较小的零随机值,但Wn+1?=-θ?。并记为Wl?(0),W2?(0),…,Wn?(0),同时有Wn+1(0)=-θ?。这里Wi?(t)为t时刻从第i个输入上的权系数,i=1,2,…,n。Wn+1?(t)为t时刻时的阀值。图1-=(X1?,X2?,…,Xn+1?)以及它的期望输出d。期望输出值d在样本的类属不同时取值不同。假如x是A类,则取d=1,假如x是B类,则取-1。期望输出d也即是老师信号。=d—Y(t)??????(1-21)=1,2,…,n,n+1?????(1-22)其中,η称为权重变更率,0<η≤1在式(1—22)中,?(t)的稳定;的取值也不能太小,太小则会使Wi?(t)的求取过程收敛速度太慢。当实际输出和期望值d相同时有:Wi?(t+1)=Wi?(t),始终执行到一切样本均稳定为止。从上面式(1—14)可知,感知器实质是一个分类器,它的这种分类是和二值逻辑相应的。因此,感知器可以用于实现逻辑函数。下面对感知器实现逻辑函数的状况作一些介绍。例:用感知器实现逻辑函数X1?VX2?的真值:X10011X20101X1?VX20111以X1VX2=1为A类,以X1VX2=0为B类,则有方程组(1-23)?即有:(1-24)从式(1—24)有:W1?≥θ,W2?≥θ令W1?=1,W2?=2则有:?θ?≤1取???θ=:X1+X2-=0,分类状况如图1—11所示。图1-11?逻辑函数X1?VX2?,学****的目的是在于修改网络中的权系数,使到网络对于所输入的模式样本能正确分类。当学****结束时,也即神经网络能正确分类时,明显权系数就反映了同类输人模式样本的共同特征。换句话讲,权系数就是存储了的输人模式。由于权系数是分散存在的,故神经网络自然而然就有分布存储的特点。前面的感知器的传递函数是阶跃函数,所以,它可以用作分类器。前面一节所讲的感知器学****算法因其传递函数的简洁而存在局限性。感知器学****算法相当简洁,并且当函数线性可分时保证收敛。但它也存在问题:即函数不是线性可分时,则求不出结果;另外,不能推广到一般前馈网络中。为了克服存在的问题,所以人们提出另一种算法——梯度算法(也即是LMS法)。为了能实现梯度算法,故把神经元的激发函数改为可微分函数,例如Sigmoid函数,非对称Sigmoid函数为f(X)=1/(1+e-x?),对称Sigmoid函数f(X)=(1-e-x?)/(1+e-x?);而不采纳式(1—13)的阶跃函数。对于给定的样本集Xi?(i=1,2,,n),梯度法的目的是找寻权系数W*?,使得f[W*.?Xi?]与期望输出Yi尽可能接近。设误差e采纳下式表示:(1-25)其中,Yi?=f〔W*?·Xi?]是对应第i个样本Xi?的实时输出Yi?是对应第i个样本Xi?的期望输出。要使误差e最小,可先求取e的梯度:(对每一个样本的期望与输出值求导)(1-26)其中:(1-27)令?Uk?=W.?Xk?,则有:(1-28)?即有:(1-29)?最终有按负梯度方向修改权系数W的修改规则:(Wk+1=Wk+ΔW)(1-30)?也可写成:(1-31)