导航:首页 > 网络营销 > bp神经网络有哪些成功的应用

bp神经网络有哪些成功的应用

发布时间:2023-01-17 17:41:46

什么是BP神经网络

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

㈡ 神经网络简述

机器学习中谈论的神经网络是指“神经网络学习”,或者说,是机器学习和神经网络这两个学科领域的交叉部分[1]。

在这里,神经网络更多的是指计算机科学家模拟人类大脑结构和智能行为,发明的一类算法的统称。

神经网络是众多优秀仿生算法中的一种,读书时曾接触过蚁群优化算法,曾惊讶于其强大之处,但神经网络的强大,显然蚁群优化还不能望其项背。

A、起源与第一次高潮。有人认为,神经网络的最早讨论,源于现代计算机科学的先驱——阿兰.图灵在1948年的论文中描述的“B型组织机器”[2]。二十世纪50年代出现了以感知机、Adaling为代表的一系列成功,这是神经网络发展的第一个高潮[1]。

B、第一次低谷。1969年,马文.明斯基出版《感知机》一书,书中论断直接将神经网络打入冷宫,导致神经网络十多年的“冰河期”。值得一提的是,在这期间的1974年,哈佛大学Paul Webos发明BP算法,但当时未受到应有的重视[1]。

C、第二次高潮。1983年,加州理工学院的物理学家John Hopfield利用神经网络,在旅行商问题上获得当时最好结果,引起轰动;Rumelhart等人重新发明了BP算法,BP算法迅速走红,掀起神经网络第二次高潮[1]。

D、第二次低谷。二十世纪90年代中期,统计学习理论和支持向量机兴起,较之于这些算法,神经网络的理论基础不清晰等缺点更加凸显,神经网络研究进入第二次低谷[1]。

E、深度学习的崛起。2010年前后,随着计算能力的提升和大数据的涌现,以神经网络为基础的“深度学习”崛起,科技巨头公司谷歌、Facebook、网络投入巨资研发,神经网络迎来第三次高潮[1]。2016年3月9日至15日,Google人工智能程序AlphaGo对阵韩国围棋世界冠军李世乭,以4:1大比分获胜,比众多专家预言早了十年。这次比赛,迅速在全世界经济、科研、计算机产业各领域掀起人工智能和深度学习的热烈讨论。

F、展望。从几个方面讨论一下。

1)、近期在Google AlphaGo掀起的热潮中,民众的热情与期待最大,甚至有少许恐慌情绪;计算机产业和互联网产业热情也非常巨大,对未来充满期待,各大巨头公司对其投入大量资源;学术界的反应倒是比较冷静的。学术界的冷静,是因为神经网络和深度神经网络的理论基础还没有出现长足的进步,其缺点还没有根本改善。这也从另一个角度说明了深度神经网络理论进步的空间很大。

2)、"当代神经网络是基于我们上世纪六十年代掌握的脑知识。"关于人类大脑的科学与知识正在爆炸式增长。[3]世界上很多学术团队正在基于大脑机制新的认知建立新的模型[3]。我个人对此报乐观态度,从以往的仿生算法来看,经过亿万年进化的自然界对科技发展的促进从来没有停止过。

3)、还说AlphaGo,它并不是理论和算法的突破,而是基于已有算法的工程精品。AlhphaGo的工作,为深度学习的应用提供了非常广阔的想象空间。分布式技术提供了巨大而廉价的计算能力,巨量数据的积累提供了丰富的训练样本,深度学习开始腾飞,这才刚刚开始。

一直沿用至今的,是McChlloch和Pitts在1943年依据脑神经信号传输结构抽象出的简单模型,所以也被称作”M-P神经元模型“。

其中,

f函数像一般形如下图的函数,既考虑阶跃性,又考虑光滑可导性。

实际常用如下公式,因形如S,故被称作sigmoid函数。

把很多个这样的神经元按一定层次连接起来,就得到了神经网络。

两层神经元组成,输入层接收外界输入信号,输出层是M-P神经元(只有输出层是)。

感知机的数学模型和单个M-P神经元的数学模型是一样的,如因为输入层只需接收输入信号,不是M-P神经元。

感知机只有输出层神经元是B-P神经元,学习能力非常有限。对于现行可分问题,可以证明学习过程一定会收敛。而对于非线性问题,感知机是无能为力的。

BP神经网络全称叫作误差逆传播(Error Propagation)神经网络,一般是指基于误差逆传播算法的多层前馈神经网络。这里为了不占篇幅,BP神经网络将起篇另述。

BP算法是迄今最为成功的神经网络学习算法,也是最有代表性的神经网络学习算法。BP算法不仅用于多层前馈神经网络,还用于其他类型神经网络的训练。

RBF网络全程径向基函数(Radial Basis Function)网络,是一种单隐层前馈神经网络,其与BP网络最大的不同是采用径向基函数作为隐层神经元激活函数。

卷积神经网络(Convolutional neural networks,简称CNNs)是一种深度学习的前馈神经网络,在大型图片处理中取得巨大成功。卷积神经网络将起篇另述。

循环神经网络(Recurrent Neural Networks,RNNs)与传统的FNNs不同,RNNs引入定向循环,能够处理那些输入之间前后关联的问题。RNNs已经在众多自然语言处理(Natural Language Processing, NLP)中取得了巨大成功以及广泛应用[5]。RNNs将起篇另述。[5]

[1]、《机器学习》,周志华着

[2]、《模式识别(第二版)》,Richard O.Duda等着,李宏东等译

[3]、《揭秘IARPA项目:解码大脑算法或将彻底改变机器学习》,Emily Singerz着,机器之心编译出品

[4]、图片来源于互联网

[5]、 循环神经网络(RNN, Recurrent Neural Networks)介绍

㈢ bp神经网络

BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。

人工神经网络首先要以一定的学习准则进行学习,然后才能工作。现以人工神经网络对手写“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。

所以网络学习的准则应该是:如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。

如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。

如图所示拓扑结构的单隐层前馈网络,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)和输出层。它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,构成具有层次结构的前馈型神经网络系统。单计算层前馈神经网络只能求解线性可分问题,能够求解非线性问题的网络必须是具有隐层的多层神经网络。
神经网络的研究内容相当广泛,反映了多学科交叉技术领域的特点。主要的研究工作集中在以下几个方面:

(1)生物原型研究。从生理学、心理学、解剖学、脑科学、病理学等生物科学方面研究神经细胞、神经网络、神经系统的生物原型结构及其功能机理。

(2)建立理论模型。根据生物原型的研究,建立神经元、神经网络的理论模型。其中包括概念模型、知识模型、物理化学模型、数学模型等。

(3)网络模型与算法研究。在理论模型研究的基础上构作具体的神经网络模型,以实现计算机模拟或准备制作硬件,包括网络学习算法的研究。这方面的工作也称为技术模型研究。

(4)人工神经网络应用系统。在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构作专家系统、制成机器人等等。

纵观当代新兴科学技术的发展历史,人类在征服宇宙空间、基本粒子,生命起源等科学技术领域的进程中历经了崎岖不平的道路。我们也会看到,探索人脑功能和神经网络的研究将伴随着重重困难的克服而日新月异。
神经网络可以用作分类、聚类、预测等。神经网络需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。在你的问题中,首先要找到某些问题的一些特征,以及对应的评价数据,用这些数据来训练神经网络。

虽然BP网络得到了广泛的应用,但自身也存在一些缺陷和不足,主要包括以下几个方面的问题。

首先,由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进。

其次,BP算法可以使权值收敛到某个值,但并不保证其为误差平面的全局最小值,这是因为采用梯度下降法可能产生一个局部最小值。对于这个问题,可以采用附加动量法来解决。

再次,网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。

最后,网络的学习和记忆具有不稳定性。也就是说,如果增加了学习样本,训练好的网络就需要从头开始训练,对于以前的权值和阈值是没有记忆的。但是可以将预测、分类或聚类做的比较好的权值保存。

㈣ 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模型

一、BP模型概述

误差逆传播(Error Back-Propagation)神经网络模型简称为BP(Back-Propagation)网络模型。

Pall Werbas博士于1974年在他的博士论文中提出了误差逆传播学习算法。完整提出并被广泛接受误差逆传播学习算法的是以Rumelhart和McCelland为首的科学家小组。他们在1986年出版“Parallel Distributed Processing,Explorations in the Microstructure of Cognition”(《并行分布信息处理》)一书中,对误差逆传播学习算法进行了详尽的分析与介绍,并对这一算法的潜在能力进行了深入探讨。

BP网络是一种具有3层或3层以上的阶层型神经网络。上、下层之间各神经元实现全连接,即下层的每一个神经元与上层的每一个神经元都实现权连接,而每一层各神经元之间无连接。网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,神经元的激活值从输入层经各隐含层向输出层传播,在输出层的各神经元获得网络的输入响应。在这之后,按减小期望输出与实际输出的误差的方向,从输入层经各隐含层逐层修正各连接权,最后回到输入层,故得名“误差逆传播学习算法”。随着这种误差逆传播修正的不断进行,网络对输入模式响应的正确率也不断提高。

BP网络主要应用于以下几个方面:

1)函数逼近:用输入模式与相应的期望输出模式学习一个网络逼近一个函数;

2)模式识别:用一个特定的期望输出模式将它与输入模式联系起来;

3)分类:把输入模式以所定义的合适方式进行分类;

4)数据压缩:减少输出矢量的维数以便于传输或存储。

在人工神经网络的实际应用中,80%~90%的人工神经网络模型采用BP网络或它的变化形式,它也是前向网络的核心部分,体现了人工神经网络最精华的部分。

二、BP模型原理

下面以三层BP网络为例,说明学习和应用的原理。

1.数据定义

P对学习模式(xp,dp),p=1,2,…,P;

输入模式矩阵X[N][P]=(x1,x2,…,xP);

目标模式矩阵d[M][P]=(d1,d2,…,dP)。

三层BP网络结构

输入层神经元节点数S0=N,i=1,2,…,S0;

隐含层神经元节点数S1,j=1,2,…,S1;

神经元激活函数f1[S1];

权值矩阵W1[S1][S0];

偏差向量b1[S1]。

输出层神经元节点数S2=M,k=1,2,…,S2;

神经元激活函数f2[S2];

权值矩阵W2[S2][S1];

偏差向量b2[S2]。

学习参数

目标误差ϵ;

初始权更新值Δ0

最大权更新值Δmax

权更新值增大倍数η+

权更新值减小倍数η-

2.误差函数定义

对第p个输入模式的误差的计算公式为

中国矿产资源评价新技术与评价新模型

y2kp为BP网的计算输出。

3.BP网络学习公式推导

BP网络学习公式推导的指导思想是,对网络的权值W、偏差b修正,使误差函数沿负梯度方向下降,直到网络输出误差精度达到目标精度要求,学习结束。

各层输出计算公式

输入层

y0i=xi,i=1,2,…,S0;

隐含层

中国矿产资源评价新技术与评价新模型

y1j=f1(z1j),

j=1,2,…,S1;

输出层

中国矿产资源评价新技术与评价新模型

y2k=f2(z2k),

k=1,2,…,S2。

输出节点的误差公式

中国矿产资源评价新技术与评价新模型

对输出层节点的梯度公式推导

中国矿产资源评价新技术与评价新模型

E是多个y2m的函数,但只有一个y2k与wkj有关,各y2m间相互独立。

其中

中国矿产资源评价新技术与评价新模型

中国矿产资源评价新技术与评价新模型

设输出层节点误差为

δ2k=(dk-y2k)·f2′(z2k),

中国矿产资源评价新技术与评价新模型

同理可得

中国矿产资源评价新技术与评价新模型

对隐含层节点的梯度公式推导

中国矿产资源评价新技术与评价新模型

E是多个y2k的函数,针对某一个w1ji,对应一个y1j,它与所有的y2k有关。因此,上式只存在对k的求和,其中

中国矿产资源评价新技术与评价新模型

中国矿产资源评价新技术与评价新模型

设隐含层节点误差为

中国矿产资源评价新技术与评价新模型

中国矿产资源评价新技术与评价新模型

同理可得

中国矿产资源评价新技术与评价新模型

4.采用弹性BP算法(RPROP)计算权值W、偏差b的修正值ΔW,Δb

1993年德国 Martin Riedmiller和Heinrich Braun 在他们的论文“A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm”中,提出Resilient Backpropagation算法——弹性BP算法(RPROP)。这种方法试图消除梯度的大小对权步的有害影响,因此,只有梯度的符号被认为表示权更新的方向。

权改变的大小仅仅由权专门的“更新值”

确定

中国矿产资源评价新技术与评价新模型

其中

表示在模式集的所有模式(批学习)上求和的梯度信息,(t)表示t时刻或第t次学习。

权更新遵循规则:如果导数是正(增加误差),这个权由它的更新值减少。如果导数是负,更新值增加。

中国矿产资源评价新技术与评价新模型

RPROP算法是根据局部梯度信息实现权步的直接修改。对于每个权,我们引入它的

各自的更新值

,它独自确定权更新值的大小。这是基于符号相关的自适应过程,它基

于在误差函数E上的局部梯度信息,按照以下的学习规则更新

中国矿产资源评价新技术与评价新模型

其中0<η-<1<η+

在每个时刻,如果目标函数的梯度改变它的符号,它表示最后的更新太大,更新值

应由权更新值减小倍数因子η-得到减少;如果目标函数的梯度保持它的符号,更新值应由权更新值增大倍数因子η+得到增大。

为了减少自由地可调参数的数目,增大倍数因子η+和减小倍数因子η被设置到固定值

η+=1.2,

η-=0.5,

这两个值在大量的实践中得到了很好的效果。

RPROP算法采用了两个参数:初始权更新值Δ0和最大权更新值Δmax

当学习开始时,所有的更新值被设置为初始值Δ0,因为它直接确定了前面权步的大小,它应该按照权自身的初值进行选择,例如,Δ0=0.1(默认设置)。

为了使权不至于变得太大,设置最大权更新值限制Δmax,默认上界设置为

Δmax=50.0。

在很多实验中,发现通过设置最大权更新值Δmax到相当小的值,例如

Δmax=1.0。

我们可能达到误差减小的平滑性能。

5.计算修正权值W、偏差b

第t次学习,权值W、偏差b的的修正公式

W(t)=W(t-1)+ΔW(t)

b(t)=b(t-1)+Δb(t)

其中,t为学习次数。

6.BP网络学习成功结束条件每次学习累积误差平方和

中国矿产资源评价新技术与评价新模型

每次学习平均误差

中国矿产资源评价新技术与评价新模型

当平均误差MSE<ε,BP网络学习成功结束。

7.BP网络应用预测

在应用BP网络时,提供网络输入给输入层,应用给定的BP网络及BP网络学习得到的权值W、偏差b,网络输入经过从输入层经各隐含层向输出层的“顺传播”过程,计算出BP网的预测输出。

8.神经元激活函数f

线性函数

f(x)=x,

f′(x)=1,

f(x)的输入范围(-∞,+∞),输出范围(-∞,+∞)。

一般用于输出层,可使网络输出任何值。

S型函数S(x)

中国矿产资源评价新技术与评价新模型

f(x)的输入范围(-∞,+∞),输出范围(0,1)。

f′(x)=f(x)[1-f(x)],

f′(x)的输入范围(-∞,+∞),输出范围(0,

]。

一般用于隐含层,可使范围(-∞,+∞)的输入,变成(0,1)的网络输出,对较大的输入,放大系数较小;而对较小的输入,放大系数较大,所以可用来处理和逼近非线性的输入/输出关系。

在用于模式识别时,可用于输出层,产生逼近于0或1的二值输出。

双曲正切S型函数

中国矿产资源评价新技术与评价新模型

f(x)的输入范围(-∞,+∞),输出范围(-1,1)。

f′(x)=1-f(x)·f(x),

f′(x)的输入范围(-∞,+∞),输出范围(0,1]。

一般用于隐含层,可使范围(-∞,+∞)的输入,变成(-1,1)的网络输出,对较大的输入,放大系数较小;而对较小的输入,放大系数较大,所以可用来处理和逼近非线性的输入/输出关系。

阶梯函数

类型1

中国矿产资源评价新技术与评价新模型

f(x)的输入范围(-∞,+∞),输出范围{0,1}。

f′(x)=0。

类型2

中国矿产资源评价新技术与评价新模型

f(x)的输入范围(-∞,+∞),输出范围{-1,1}。

f′(x)=0。

斜坡函数

类型1

中国矿产资源评价新技术与评价新模型

f(x)的输入范围(-∞,+∞),输出范围[0,1]。

中国矿产资源评价新技术与评价新模型

f′(x)的输入范围(-∞,+∞),输出范围{0,1}。

类型2

中国矿产资源评价新技术与评价新模型

f(x)的输入范围(-∞,+∞),输出范围[-1,1]。

中国矿产资源评价新技术与评价新模型

f′(x)的输入范围(-∞,+∞),输出范围{0,1}。

三、总体算法

1.三层BP网络(含输入层,隐含层,输出层)权值W、偏差b初始化总体算法

(1)输入参数X[N][P],S0,S1,f1[S1],S2,f2[S2];

(2)计算输入模式X[N][P]各个变量的最大值,最小值矩阵 Xmax[N],Xmin[N];

(3)隐含层的权值W1,偏差b1初始化。

情形1:隐含层激活函数f( )都是双曲正切S型函数

1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];

2)计算输入模式X的每个变量的范围均值向量Xmid[N];

3)计算W,b的幅度因子Wmag

4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];

5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];

6)计算W[S1][S0],b[S1];

7)计算隐含层的初始化权值W1[S1][S0];

8)计算隐含层的初始化偏差b1[S1];

9))输出W1[S1][S0],b1[S1]。

情形2:隐含层激活函数f( )都是S型函数

1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];

2)计算输入模式X的每个变量的范围均值向量Xmid[N];

3)计算W,b的幅度因子Wmag;

4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];

5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];

6)计算W[S1][S0],b[S1];

7)计算隐含层的初始化权值W1[S1][S0];

8)计算隐含层的初始化偏差b1[S1];

9)输出W1[S1][S0],b1[S1]。

情形3:隐含层激活函数f( )为其他函数的情形

1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];

2)计算输入模式X的每个变量的范围均值向量Xmid[N];

3)计算W,b的幅度因子Wmag

4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];

5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];

6)计算W[S1][S0],b[S1];

7)计算隐含层的初始化权值W1[S1][S0];

8)计算隐含层的初始化偏差b1[S1];

9)输出W1[S1][S0],b1[S1]。

(4)输出层的权值W2,偏差b2初始化

1)产生[-1,1]之间均匀分布的S2×S1维随机数矩阵W2[S2][S1];

2)产生[-1,1]之间均匀分布的S2×1维随机数矩阵b2[S2];

3)输出W2[S2][S1],b2[S2]。

2.应用弹性BP算法(RPROP)学习三层BP网络(含输入层,隐含层,输出层)权值W、偏差b总体算法

函数:Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)

(1)输入参数

P对模式(xp,dp),p=1,2,…,P;

三层BP网络结构;

学习参数。

(2)学习初始化

1)

2)各层W,b的梯度值

初始化为零矩阵。

(3)由输入模式X求第一次学习各层输出y0,y1,y2及第一次学习平均误差MSE

(4)进入学习循环

epoch=1

(5)判断每次学习误差是否达到目标误差要求

如果MSE<ϵ,

则,跳出epoch循环,

转到(12)。

(6)保存第epoch-1次学习产生的各层W,b的梯度值

(7)求第epoch次学习各层W,b的梯度值

1)求各层误差反向传播值δ;

2)求第p次各层W,b的梯度值

3)求p=1,2,…,P次模式产生的W,b的梯度值

的累加。

(8)如果epoch=1,则将第epoch-1次学习的各层W,b的梯度值

设为第epoch次学习产生的各层W,b的梯度值

(9)求各层W,b的更新

1)求权更新值Δij更新;

2)求W,b的权更新值

3)求第epoch次学习修正后的各层W,b。

(10)用修正后各层W、b,由X求第epoch次学习各层输出y0,y1,y2及第epoch次学习误差MSE

(11)epoch=epoch+1,

如果epoch≤MAX_EPOCH,转到(5);

否则,转到(12)。

(12)输出处理

1)如果MSE<ε,

则学习达到目标误差要求,输出W1,b1,W2,b2

2)如果MSE≥ε,

则学习没有达到目标误差要求,再次学习。

(13)结束

3.三层BP网络(含输入层,隐含层,输出层)预测总体算法

首先应用Train3lBP_RPROP( )学习三层BP网络(含输入层,隐含层,输出层)权值W、偏差b,然后应用三层BP网络(含输入层,隐含层,输出层)预测。

函数:Simu3lBP( )。

1)输入参数:

P个需预测的输入数据向量xp,p=1,2,…,P;

三层BP网络结构;

学习得到的各层权值W、偏差b。

2)计算P个需预测的输入数据向量xp(p=1,2,…,P)的网络输出 y2[S2][P],输出预测结果y2[S2][P]。

四、总体算法流程图

BP网络总体算法流程图见附图2。

五、数据流图

BP网数据流图见附图1。

六、实例

实例一 全国铜矿化探异常数据BP 模型分类

1.全国铜矿化探异常数据准备

在全国铜矿化探数据上用稳健统计学方法选取铜异常下限值33.1,生成全国铜矿化探异常数据。

2.模型数据准备

根据全国铜矿化探异常数据,选取7类33个矿点的化探数据作为模型数据。这7类分别是岩浆岩型铜矿、斑岩型铜矿、矽卡岩型、海相火山型铜矿、陆相火山型铜矿、受变质型铜矿、海相沉积型铜矿,另添加了一类没有铜异常的模型(表8-1)。

3.测试数据准备

全国化探数据作为测试数据集。

4.BP网络结构

隐层数2,输入层到输出层向量维数分别为14,9、5、1。学习率设置为0.9,系统误差1e-5。没有动量项。

表8-1 模型数据表

续表

5.计算结果图

如图8-2、图8-3。

图8-2

图8-3 全国铜矿矿床类型BP模型分类示意图

实例二 全国金矿矿石量品位数据BP 模型分类

1.模型数据准备

根据全国金矿储量品位数据,选取4类34个矿床数据作为模型数据,这4类分别是绿岩型金矿、与中酸性浸入岩有关的热液型金矿、微细浸染型型金矿、火山热液型金矿(表8-2)。

2.测试数据准备

模型样本点和部分金矿点金属量、矿石量、品位数据作为测试数据集。

3.BP网络结构

输入层为三维,隐层1层,隐层为三维,输出层为四维,学习率设置为0.8,系统误差1e-4,迭代次数5000。

表8-2 模型数据

4.计算结果

结果见表8-3、8-4。

表8-3 训练学习结果

表8-4 预测结果(部分)

续表

㈥ 神经网络原理及应用

神经网络原理及应用
1. 什么是神经网络?
神经网络是一种模拟动物神经网络行为特征,进行分布式并行信息处理的算法。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
人类的神经网络

2. 神经网络基础知识
构成:大量简单的基础元件——神经元相互连接
工作原理:模拟生物的神经处理信息的方式
功能:进行信息的并行处理和非线性转化
特点:比较轻松地实现非线性映射过程,具有大规模的计算能力
神经网络的本质:

神经网络的本质就是利用计算机语言模拟人类大脑做决定的过程。
3. 生物神经元结构

4. 神经元结构模型

xj为输入信号,θi为阈值,wij表示与神经元连接的权值,yi表示输出值
判断xjwij是否大于阈值θi
5. 什么是阈值?
临界值。
神经网络是模仿大脑的神经元,当外界刺激达到一定的阈值时,神经元才会受刺激,影响下一个神经元。

6. 几种代表性的网络模型
单层前向神经网络——线性网络
阶跃网络
多层前向神经网络(反推学习规则即BP神经网络)
Elman网络、Hopfield网络、双向联想记忆网络、自组织竞争网络等等
7. 神经网络能干什么?
运用这些网络模型可实现函数逼近、数据聚类、模式分类、优化计算等功能。因此,神经网络广泛应用于人工智能、自动控制、机器人、统计学等领域的信息处理中。虽然神经网络的应用很广,但是在具体的使用过程中到底应当选择哪种网络结构比较合适是值得考虑的。这就需要我们对各种神经网络结构有一个较全面的认识。
8. 神经网络应用

㈦ BP神经网络是用来干嘛的阿

用样本去训练一个BP网络,然后用新的样本作为输入,再通过这个已经训练好的BP网络,得到的数据就是仿真的结果,这就是BP网络仿真。我们训练一个BP网络就好像是在训练一个神经系统,然后用这个已经具备分析能力的神经系统去分析事情,这就是为什么要仿真,说到底就是为了用。仿真的作用你可以从BP神经网络的用途上去看,例如很经典的可以用来做分类器等。你用不同类别的样本(输入+对应的期望输出)作为训练,然后给出一个新的输入,BP网就能给你这个所属的类别。

㈧ BP神经网络在地面沉降预测中的应用

地面沉降是多种自然和人为因素共同作用的结果。各种要素发生作用的时空序列、影响强度和方向以及它们之间的关系处于不断变化之中,同时各因素的变化及其影响并不是单方面的,各变量之间相互形成制约关系,这使得地面沉降过程极具复杂性。因此,要求预测模型能以在现有资料、信息基础,准确反映研究区的自然背景条件、地下水开采行为与地面沉降过程之间的复杂联系,并能识别和适应不同影响因素随时间发生的改变。BP神经网络作为一个非线性系统,可用于逼近非线性映射关系,也可用于逼近一个极为复杂的函数关系,是解释和模拟地面沉降等高度复杂的非线性动力学系统问题的一种较好的方法。

8.4.1.1 训练样本的确定

根据第4章的分析,影响研究区域地面沉降过程的变量包含着复杂的自然和人为因素,超采深层地下水是造成研究区1986年以后地面沉降的主要原因,深层地下水的开采量和沉降监测点附近的各含水层组水位均与地面沉降有着很好的相关性。

本区第四系浅层地下水系统(第Ⅰ含水层组)除河漫滩地段,一般为TDS都高于2g/L的咸水,因此工农业用途较少,水位一般保持天然状态,在本次模型研究中不予考虑。由于区内各地面沉降监测点的地面高程每年测量一次,为了保持与地面沉降数据的一致性,使神经网络模型能准确识别地下水开采与地面沉降之间的关系,所有数据均整理成年平均的形式。

本章选择了控沉点处深层地下水系统的年均水位和区域地下水开采量作为模型的输入变量,考虑到水位和开采量的变化与沉降变形并不同步,有明显的滞后性存在,本章将前一年的开采量和年均水位也作为输入,故模型的输入变量为四个。以收集到的区内每个地面沉降监测点的年沉降量作为模型的输出变量,通过选择适合的隐含层数和隐层神经单元数构建BP模型,对地面沉降的趋势进行预测。

本次收集到的地面沉降监测点处并未有常观孔的水位数据,如果根据历年实测等水位线推算,会产生很大的误差,导致预测结果的不稳定性。基于已经建立好的Modflow数值模型,利用Processing Modflow软件里的水井子程序包,在控沉点处设置虚拟的水位观测井,通过软件模拟出的不同时期的水位,作为地面沉降神经网络模型的输入层,从而避免了以往的将各含水层组平均水位作为模型输入所带来的误差[55]。考虑到深层地下水系统各含水层组的水力联系较为密切,本次在每个地面沉降监测点处只设置一个水位观测井,来模拟深层地下水系统的水位。水井滤水管的起始位置与该点含水层的位置相对应,即滤水管的长度即为含水层的厚度。

观测井在模型中的位置如8.31所示,绿色的点即为虚拟水位观测井。从图中可以看出6个沉降点在研究区内分布均匀,处于不同的沉降区域,有一定的代表性,通过对这6个点的地面沉降进行预测,可以反映出不同区域的沉降趋势。数值模型模拟得到的各沉降点年均水位如图8.32所示。

图8.31 控沉点虚拟水井在Modflow数值模型中的分布示意图

图8.32 模拟得到的各沉降点处虚拟水井年均水位动态

8.4.1.2 样本数据的预处理

由于BP网络的输入层物理量及数值相差甚远(不属于一个数量级),为了加快网络收敛的速度,在训练之前须将各输入物理量进行预处理。数据的预处理方法主要有标准化法、重新定标法、变换法和比例放缩法等等。本章所选用的是一种最常用的比例压缩法,公式为[56]

变环境条件下的水资源保护与可持续利用研究

式中:X为原始数据;Xmax、Xmin为原始数据的最大值和最小值;T为变换后的数据,也称之为目标数据;Tmax、Tmin为目标数据的最大值和最小值。

由于Sigmoid函数在值域[0,0.1]和[0.9,1.0]区域内曲线变化极为平坦,因此合适的数据处理是将各输入物理量归至[0.1,0.9]之间。本章用式(8.7)将每个样本输入层的4个物理量进行归一化处理

变环境条件下的水资源保护与可持续利用研究

处理后的数据见表8.14。

表8.14 BP神经网络模型数据归一化表

续表

8.4.1.3 网络结构的确定

BP神经网络的建立,其重点在于网络结构的设计,只要隐层中有足够多的神经元,多层前向网络可以用来逼近几乎任何一个函数。一般地,网络结构(隐层数和隐层神经元数)和参数(权值和偏置值)共同决定着神经网络所能实现的函数的复杂程度的上限。结构简单的网络所能实现的函数类型是非常有限的,参数过多的网络可能会对数据拟合过度。本章将输入样本的个数定为4个,输出样本为1个。但是对于隐含层数及隐含层所含神经元个数的选择,到目前为止还没有明确的方法可以计算出实际需要多少层或多少神经元就可以满足预测精度的要求,在选择时通常是采用试算的方法[56,57]

为了保证模型的预测精度和范化能力,根据收集到的资料的连续性,本次研究利用1988~2002年15组地面沉降历史观测数据和对应的当年及前一年的开采量、年均水位组织训练,以2003年和2004年的实测地面沉降数据校验模型的预测能力,尝试多种试验性网络结构,其他模型参数的选择采取保守方式,以牺牲训练速度换取模型稳定性。以2003年和2004年的平均相对误差均小于20%作为筛选标准,最终选择三层BP网络作为模型结构,隐层神经元的个数设置为3。网络结构如图8.33所示,参数见表8.15。

表8.15 BP网络模型参数一览表

图8.33 神经网络模型结构图

8.4.1.4 网络的训练与预测

采用图8.33确定的网络结构对数据进行训练,各个沉降点的训练过程和拟合效果如图8.34、图8.35所示。

从图8.35可以看出,训练后的BP网络能很好地逼近给定的目标函数。说明该模型的泛化能力较好,模拟的结果比较可靠。通过该模型模拟了6个沉降点在2003和2004年的沉降量(表8.16),可以看出2003年和2004年模拟值和实际拟合较好,两年的平均相对误差均小于20%,说明BP神经网络可以用来预测地面沉降的趋势。

表8.16 监测点年沉降量模拟误差表

图8.34 各沉降点训练过程图

8.4.1.5 模型物理意义探讨

虽然现今的BP神经网络还是一个黑箱模型,其参数没有水文物理意义[58]。但从结构上分析,本章认为地面沉降与ANN是同构的。对于每个控沉点来说,深层地下水系统的开采量和含水层组的水位变化,都会引起地层应力的响应,从而导致整体的地面标高发生变化,这一过程可以与BP神经网络结构进行类比。其中,深层地下水系统的3个含水层组相当于隐含层中的3个神经元,各含水层组对地面沉降的奉献值相当于隐含层中人工神经元的阈值,整体上来说,本次用来模拟地面沉降的BP神经网络结构已经灰箱化(表8.17)。

图8.35 各监测点年沉降量神经网络模型拟合图

表8.17 BP神经网络构件物理意义一览表

㈨ bp神经网络算法介绍 bp神经网络算法简介

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

2、BP神经网络算法是在BP神经网络现有算法的基础上提出的,是通过任意选定一组权值,将给定的目标输出直接作为线性方程的代数和来建立线性方程组,解得待求权,不存在传统方法的局部极小及收敛速度慢的问题,且更易理解。

阅读全文

与bp神经网络有哪些成功的应用相关的资料

热点内容
无线网络渗透测试新手手册 浏览:461
荣耀play4usb共享网络 浏览:732
网络版软件显示不全 浏览:392
电信网络绑定手机号想停掉 浏览:839
usb共享网络打lol多少流量 浏览:326
怎样设置移动机顶盒无线网络 浏览:493
怀化网络课堂哪个好 浏览:2
手机网络终端服务器在哪里 浏览:524
手机网络信号显示错了 浏览:764
网络测试40M相当光纤多少 浏览:226
手机联通网络无法获取 浏览:703
你的网络在哪里 浏览:472
电脑网络出现像山字形状的标志 浏览:214
为什么电脑会显示不出来网络 浏览:162
杭州网络教育怎么考 浏览:861
小果手机连接不到网络提示崩溃 浏览:227
手机屏幕网络和hd消失怎么办 浏览:185
冰桶挑战网络营销分析 浏览:568
怎么断开有线网络连接wifi 浏览:586
如何开江苏网络发票 浏览:45

友情链接