当前位置:首页 » 操作系统 » bp算法的应用

bp算法的应用

发布时间: 2022-04-30 22:50:05

㈠ BP神经网络(误差反传网络)

虽然每个人工神经元很简单,但是只要把多个人工

神经元按一定方式连接起来就构成了一个能处理复杂信息的神经网络。采用BP算法的多层前馈网络是目前应用最广泛的神经网络,称之为BP神经网络。它的最大功能就是能映射复杂的非线性函数关系。

对于已知的模型空间和数据空间,我们知道某个模型和他对应的数据,但是无法写出它们之间的函数关系式,但是如果有大量的一一对应的模型和数据样本集合,利用BP神经网络可以模拟(映射)它们之间的函数关系。

一个三层BP网络如图8.11所示,分为输入层、隐层、输出层。它是最常用的BP网络。理论分析证明三层网络已经能够表达任意复杂的连续函数关系了。只有在映射不连续函数时(如锯齿波)才需要两个隐层[8]

图8.11中,X=(x1,…,xi,…,xn)T为输入向量,如加入x0=-1,可以为隐层神经元引入阀值;隐层输出向量为:Y=(y1,…,yi,…,ym)T,如加入y0=-1,可以为输出层神经元引入阀值;输出层输出向量为:O=(o1,…,oi,…,ol)T;输入层到隐层之间的权值矩阵用V表示,V=(V1,…,Vj,…,Vl)T,其中列向量Vj表示隐层第j个神经元的权值向量;隐层到输出层之间的权值矩阵用W表示,W=(W1,…,Wk,…,Wl)T

其中列向量Wk表示输出层第k个神经元的权值向量。

图8.11 三层BP网络[8]

BP算法的基本思想是:预先给定一一对应的输入输出样本集。学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经过各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播。将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有神经元,获得各层的误差信号,用它们可以对各层的神经元的权值进行调整(关于如何修改权值参见韩立群着作[8]),循环不断地利用输入输出样本集进行权值调整,以使所有输入样本的输出误差都减小到满意的精度。这个过程就称为网络的学习训练过程。当网络训练完毕后,它相当于映射(表达)了输入输出样本之间的函数关系。

在地球物理勘探中,正演过程可以表示为如下函数:

d=f(m) (8.31)

它的反函数为

m=f-1(d) (8.32)

如果能够获得这个反函数,那么就解决了反演问题。一般来说,难以写出这个反函数,但是我们可以用BP神经网络来映射这个反函数m=f-1(d)。对于地球物理反问题,如果把观测数据当作输入数据,模型参数当作输出数据,事先在模型空间随机产生大量样本进行正演计算,获得对应的观测数据样本,利用它们对BP网络进行训练,则训练好的网络就相当于是地球物理数据方程的反函数。可以用它进行反演,输入观测数据,网络就会输出它所对应的模型。

BP神经网络在能够进行反演之前需要进行学习训练。训练需要大量的样本,产生这些样本需要大量的正演计算,此外在学习训练过程也需要大量的时间。但是BP神经网络一旦训练完毕,在反演中的计算时间可以忽略。

要想使BP神经网络比较好地映射函数关系,需要有全面代表性的样本,但是由于模型空间的无限性,难以获得全面代表性的样本集合。用这样的样本训练出来的BP网络,只能反映样本所在的较小范围数据空间和较小范围模型空间的函数关系。对于超出它们的观测数据就无法正确反演。目前BP神经网络在一维反演有较多应用,在二维、三维反演应用较少,原因就是难以产生全面代表性的样本空间。

㈡ 多层前馈网络模型及BP算法

多层前馈网中,以单隐层网的应用最为普遍,如图6.1所示。习惯上将其称为三层前馈网或三层感知器,所谓三层即输入层、隐层和输出层。

图6.1 三层前馈神经网络结构

Fig.6.1 BP neural network structure

三层前馈网中,输入向量为X=(x1,x2,…,xi,…,xn)T,如加入x0=-1,可为输出层神经元引入阈值;隐层输出向量为Y=(y1,y2,…,yl,…,ym)T,如加入y0=-1,可为输出层神经元引入阈值;输出层输出向量为O=(o1,o2,…,ok,…,ol)T。输入层到隐层之间的权值阵用V表示,V=(V1,V2,…,Vj,…,Vm),其中列向量Vj为隐层第j个神经元对应的权向量;隐层到输出层之间的权值矩阵用W 表示,W=(W1,W2,…,Wk,…,Wl),其中列向量Wk为输出层第k个神经元对应的权向量。下面分析各层信号之间的数学关系。

输出层:

ok=f(netk)k=1,2,…,ι(6-1)

煤层开采顶板导水裂隙带高度预测理论与方法

隐层:

yj=f(netj)j=1,2,…,m(6-3)

煤层开采顶板导水裂隙带高度预测理论与方法

以上两式中,转移函数f(x)均为单极性Sigmoid函数

煤层开采顶板导水裂隙带高度预测理论与方法

f(x)具有连续、可导的特点,且有

煤层开采顶板导水裂隙带高度预测理论与方法

根据应用需要,也可以采用双极性Sigmoid函数(或称双曲线正切函数)

煤层开采顶板导水裂隙带高度预测理论与方法

式6-1~式6-6共同构成了三层前馈网的数学模型。

BP学习算法中按以下方法调整其权重与误差:

当网络输出与期望输出不相等时,存在输出误差E,定义如下:

煤层开采顶板导水裂隙带高度预测理论与方法

将以上误差定义式展开到隐层,

煤层开采顶板导水裂隙带高度预测理论与方法

进一步展开到输入层,

煤层开采顶板导水裂隙带高度预测理论与方法

由上式可以看出,网络输入误差是各层权值ωjk、υij的函数,因此调整权值可改变误差E。

显然,调整权值的原则是使误差不断减小,因此权值的调整量与误差的负梯度成正比,即

煤层开采顶板导水裂隙带高度预测理论与方法

煤层开采顶板导水裂隙带高度预测理论与方法

式中负号表示梯度下降,常数η∈(0,1)表示比例系数,在训练中反映了学习速率。可以看出BP法属于δ学习规则类,这类算法常被称为误差的梯度下降(GradientDescent)算法。

㈢ BP神经算法是什么能给点既通俗易懂又比较详细的回答吗

BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。

BP神经网络算法是在BP神经网络现有算法的基础上提出的,是通过任意选定一组权值,将给定的目标输出直接作为线性方程的代数和来建立线性方程组,解得待求权,不存在传统方法的局部极小及收敛速度慢的问题,且更易理解。
1 传统的BP算法简述
BP算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。具体步骤如下: (1)初始化,随机给定各连接权[w],[v]及阀值θi,rt。 (2)由给定的输入输出模式对计算隐层、输出层各单元输出 bj=f(■wijai-θj) ct=f(■vjtbj-rt) 式中:bj为隐层第j个神经元实际输出;ct为输出层第t个神经元的实际输出;wij为输入层至隐层的连接权;vjt为隐层至输出层的连接权。 dtk=(ytk-ct)ct(1-ct) ejk=[■dtvjt] bj(1-bj) 式中:dtk为输出层的校正误差;ejk为隐层的校正误差。 (3)计算新的连接权及阀值,计算公式如下: vjt(n+1)=vjt(n)+?琢dtkbj wij(n+1)=wij(n)+?茁ejkaik rt(n+1)=rt(n)+?琢dtk θj(n+1)=θj(n)+?茁ejk 式中:?琢,?茁为学习系数(0<?琢<1,0<?茁<1)。 (4)选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。 传统的BP算法,实质上是把一组样本输入/输出问题转化为一个非线性优化问题,并通过负梯度下降算法,利用迭代运算求解权值问题的一种学习方法,但其收敛速度慢且容易陷入局部极小,为此提出了一种新的算法,即高斯消元法。
2 改进的BP网络算法
2.1 改进算法概述 此前有人提出:任意选定一组自由权,通过对传递函数建立线性方程组,解得待求权。本文在此基础上将给定的目标输出直接作为线性方程等式代数和来建立线性方程组,不再通过对传递函数求逆来计算神经元的净输出,简化了运算步骤。没有采用误差反馈原理,因此用此法训练出来的神经网络结果与传统算法是等效的。其基本思想是:由所给的输入、输出模式对通过作用于神经网络来建立线性方程组,运用高斯消元法解线性方程组来求得未知权值,而未采用传统BP网络的非线性函数误差反馈寻优的思想。 2.2 改进算法的具体步骤 对给定的样本模式对,随机选定一组自由权,作为输出层和隐含层之间固定权值,通过传递函数计算隐层的实际输出,再将输出层与隐层间的权值作为待求量,直接将目标输出作为等式的右边建立方程组来求解。 现定义如下符号(见图1):x (p)输入层的输入矢量;y (p)输入层输入为x (p)时输出层的实际输出矢量;t (p)目标输出矢量;n,m,r分别为输入层、隐层和输出层神经元个数;W为隐层与输入层间的权矩阵;V为输出层与隐层间的权矩阵。具体步骤如下: (1)随机给定隐层和输入层间神经元的初始权值wij。 (2)由给定的样本输入xi(p)计算出隐层的实际输出aj(p)。为方便起见将图1网络中的阀值写入连接权中去,令:隐层阀值θj=wnj,x(n)=-1,则: aj(p)=f(■wijxi(p)) (j=1,2…m-1)。 (3)计算输出层与隐层间的权值vjr。以输出层的第r个神经元为对象,由给定的输出目标值tr(p)作为等式的多项式值建立方程,用线性方程组表示为: a0(1)v1r+a1(1)v2r+…+am(1)vmr=tr(1)a0(2)v1r+a1(2)v2r+…+am(2)vmr=tr(2) ……a0(p)v1r+a1(p)v2r+…+am(p)vmr=tr(p) 简写为: Av=T 为了使该方程组有唯一解,方程矩阵A为非奇异矩阵,其秩等于其增广矩阵的秩,即:r(A)=r(A┊B),且方程的个数等于未知数的个数,故取m=p,此时方程组的唯一解为: Vr=[v0r,v2r,…vmr](r=0,1,2…m-1) (4)重复第三步就可以求出输出层m个神经元的权值,以求的输出层的权矩阵加上随机固定的隐层与输入层的权值就等于神经网络最后训练的权矩阵。
3 计算机运算实例
现以神经网络最简单的XOR问题用VC编程运算进行比较(取神经网络结构为2-4-1型),传统算法和改进BP算法的误差(取动量因子α=0.001 5,步长η=1.653)

㈣ BP算法首先要解决哪两个问题

BP算法就是反向传播的神经网络算法,这个算法很多问题

随便举两个来:
如果网络够深,会出现梯度消失的问题
在最优化的时候,容易掉入局部极小值,而不是最小值

㈤ BP学习算法是什么类型的学习算法它主要有哪些不足

BP算法是由学习过程由信号的正向传播与误差的反向传播两个过程组成。由于多层前馈网络的训练经常采用误差反向传播算法,人们也常把将多层前馈网络直接称为BP网络。

虽然BP算法得到广泛的应用,但它也存在不足,其主要表现在训练过程不确定上,具体如下。

1,训练时间较长。对于某些特殊的问题,运行时间可能需要几个小时甚至更长,这主要是因为学习率太小所致,可以采用自适应的学习率加以改进。

2,完全不能训练。训练时由于权值调整过大使激活函数达到饱和,从而使网络权值的调节几乎停滞。为避免这种情况,一是选取较小的初始权值,二是采用较小的学习率。

3,易陷入局部极小值。BP算法可以使网络权值收敛到一个最终解,但它并不能保证所求为误差超平面的全局最优解,也可能是一个局部极小值。

这主要是因为BP算法所采用的是梯度下降法,训练是从某一起始点开始沿误差函数的斜面逐渐达到误差的最小值,故不同的起始点可能导致不同的极小值产生,即得到不同的最优解。如果训练结果未达到预定精度,常常采用多层网络和较多的神经元,以使训练结果的精度进一步提高,但与此同时也增加了网络的复杂性与训练时间。

4,“喜新厌旧”。训练过程中,学习新样本时有遗忘旧样本的趋势。

(5)bp算法的应用扩展阅读:

BP算法最早由Werbos于1974年提出,1985年Rumelhart等人发展了该理论。BP网络采用有指导的学习方式,其学习包括以下4个过程。

1,组成输入模式由输入层经过隐含层向输出层的“模式顺传播”过程。

2,网络的期望输出与实际输出之差的误差信号由输出层经过隐含层逐层休整连接权的“误差逆传播”过程。

3,由“模式顺传播”与“误差逆传播”的反复进行的网络“记忆训练”过程。

4,网络趋向收敛即网络的总体误差趋向极小值的“学习收敛”过程。

㈥ bp算法是什么

误差反向传播算法:

BP算法的基本思想是,学习过程包括两个过程:信号前向传播和误差后向传播。

(1)前向传播:输入样本->输入层->各隐层(处理)->输出层。

(2)错误反向传播:输出错误(某种形式)->隐藏层(逐层)->输入层。

BP算法基本介绍:

多层隐含层前馈网络可以极大地提高神经网络的分类能力,但长期以来一直没有提出解决权值调整问题的博弈算法。

1986年,Rumelhart和McCelland领导的科学家团队出版了《并行分布式处理》一书,详细分析了具有非线性连续传递函数的多层前馈网络的误差反向比例(BP)算法,实现了Minsky关于多层网络的思想。由于误差的反向传播算法常用于多层前馈网络的训练,人们常直接称多层前馈网络为BP网络。

㈦ 什么是BP神经网络

BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成;正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符,则将误差作为调整信号逐层反向回传,对神经元之间的连接权矩阵做出处理,使误差减小。经反复学习,最终使误差减小到可接受的范围。具体步骤如下:
1、从训练集中取出某一样本,把信息输入网络中。
2、通过各节点间的连接情况正向逐层处理后,得到神经网络的实际输出。
3、计算网络实际输出与期望输出的误差。
4、将误差逐层反向回传至之前各层,并按一定原则将误差信号加载到连接权值上,使整个神经网络的连接权值向误差减小的方向转化。
5、対训练集中每一个输入—输出样本对重复以上步骤,直到整个训练样本集的误差减小到符合要求为止。

㈧ 什么是BP算法

bp算法,即反向传播方法,是用来训练前向网络的一种普遍算法

㈨ BP算法的介绍

BP算法,误差反向传播(Error Back Propagation, BP)算法。BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。由于多层前馈网络的训练经常采用误差反向传播算法,人们也常把将多层前馈网络直接称为BP网络。

热点内容
win10怎么关闭登录密码 发布:2024-10-05 11:09:55 浏览:934
降温解压器 发布:2024-10-05 10:54:15 浏览:420
轧钢压缩空气 发布:2024-10-05 10:54:10 浏览:184
京东微信密码是多少 发布:2024-10-05 10:28:48 浏览:486
粘连算法 发布:2024-10-05 10:10:45 浏览:647
php监控进程 发布:2024-10-05 09:37:06 浏览:51
企业密信怎么找回服务器代码 发布:2024-10-05 09:33:19 浏览:229
怎么用电脑开mc服务器 发布:2024-10-05 09:25:01 浏览:409
linux目录乱码 发布:2024-10-05 09:24:24 浏览:173
欧姆龙plc有密码如何传送 发布:2024-10-05 09:24:24 浏览:336