神经网络中的梯度下降,神经网络梯度公式推导

BP神经网络方法

人工神经网络是近几年来发展起来的新兴学科,它是一种大规模并行分布处理的非线性系统,适用解决难以用数学模型描述的系统,逼近任何非线性的特性,具有很强的自适应、自学习、联想记忆、高度容错和并行处理能力,使得神经网络理论的应用已经渗透到了各个领域。

近年来,人工神经网络在水质分析和评价中的应用越来越广泛,并取得良好效果。在这些应用中,纵观应用于模式识别的神经网络,BP网络是最有效、最活跃的方法之一。

BP网络是多层前向网络的权值学习采用误差逆传播学习的一种算法(Error Back Propagation,简称BP)。在具体应用该网络时分为网络训练及网络工作两个阶段。

在网络训练阶段,根据给定的训练模式,按照“模式的顺传播”→“误差逆传播”→“记忆训练”→“学习收敛”4个过程进行网络权值的训练。

在网络的工作阶段,根据训练好的网络权值及给定的输入向量,按照“模式顺传播”方式求得与输入向量相对应的输出向量的解答(阎平凡,2000)。

BP算法是一种比较成熟的有指导的训练方法,是一个单向传播的多层前馈网络。它包含输入层、隐含层、输出层,如图4-4所示。

图4-4 地下水质量评价的BP神经网络模型图4-4给出了4层地下水水质评价的BP神经网络模型。同层节点之间不连接。

输入信号从输入层节点,依次传过各隐含层节点,然后传到输出层节点,如果在输出层得不到期望输出,则转入反向传播,将误差信号沿原来通路返回,通过学习来修改各层神经元的权值,使误差信号最小。

每一层节点的输出只影响下一层节点的输入。

每个节点都对应着一个作用函数(f)和阈值(a),BP网络的基本处理单元量为非线性输入-输出的关系,输入层节点阈值为0,且f(x)=x;而隐含层和输出层的作用函数为非线性的Sigmoid型(它是连续可微的)函数,其表达式为f(x)=1/(1+e-x) (4-55)设有L个学习样本(Xk,Ok)(k=1,2,…,l),其中Xk为输入,Ok为期望输出,Xk经网络传播后得到的实际输出为Yk,则Yk与要求的期望输出Ok之间的均方误差为区域地下水功能可持续性评价理论与方法研究式中:M为输出层单元数;Yk,p为第k样本对第p特性分量的实际输出;Ok,p为第k样本对第p特性分量的期望输出。

样本的总误差为区域地下水功能可持续性评价理论与方法研究由梯度下降法修改网络的权值,使得E取得最小值,学习样本对Wij的修正为区域地下水功能可持续性评价理论与方法研究式中:η为学习速率,可取0到1间的数值。

所有学习样本对权值Wij的修正为区域地下水功能可持续性评价理论与方法研究通常为增加学习过程的稳定性,用下式对Wij再进行修正:区域地下水功能可持续性评价理论与方法研究式中:β为充量常量;Wij(t)为BP网络第t次迭代循环训练后的连接权值;Wij(t-1)为BP网络第t-1次迭代循环训练后的连接权值。

在BP网络学习的过程中,先调整输出层与隐含层之间的连接权值,然后调整中间隐含层间的连接权值,最后调整隐含层与输入层之间的连接权值。实现BP网络训练学习程序流程,如图4-5所示(倪深海等,2000)。

图4-5 BP神经网络模型程序框图若将水质评价中的评价标准作为样本输入,评价级别作为网络输出,BP网络通过不断学习,归纳出评价标准与评价级别间复杂的内在对应关系,即可进行水质综合评价。

BP网络对地下水质量综合评价,其评价方法不需要过多的数理统计知识,也不需要对水质量监测数据进行复杂的预处理,操作简便易行,评价结果切合实际。

由于人工神经网络方法具有高度民主的非线性函数映射功能,使得地下水水质评价结果较准确(袁曾任,1999)。

BP网络可以任意逼近任何连续函数,但是它主要存在如下缺点:①从数学上看,它可归结为一非线性的梯度优化问题,因此不可避免地存在局部极小问题;②学习算法的收敛速度慢,通常需要上千次或更多。

神经网络具有学习、联想和容错功能,是地下水水质评价工作方法的改进,如何在现行的神经网络中进一步吸取模糊和灰色理论的某些优点,建立更适合水质评价的神经网络模型,使该模型既具有方法的先进性又具有现实的可行性,将是我们今后研究和探讨的问题。

谷歌人工智能写作项目:神经网络伪原创

建立BP神经网络地面沉降预测模型

基坑降水引起地面沉降的BP神经网络预测模型建模过程如下:(1)样本选择因基坑降水引起的地面沉降量和距离基坑的距离关系密切,因此建模选用“基坑降水引起沉降工程数据(第二类)”(见表4.1)中的相关数据作为样本进行学习训练和检验文案狗

(2)BP神经网络结构设计对于BP网络,对于任何在闭区间内的一个连续函数都可以用单隐层的BP网络逼近,因而一个三层BP网络就可以完成任意的n维到m维的映射。

根据网络结构简单化的原则,确定采用三层BP网络结构,即输入层为沉降点距基坑的距离L(m)、等效压缩模量E(MPa)、水位降深H(m)和支护刚度n四个参数,输出层为地面累积沉降量(mm),隐层层数为1层。

隐层的神经元数目选择是一个十分复杂的问题,往往需要根据设计者的经验和多次实验来确定,因而不存在一个理想的解析式来表示。隐单元的数目与问题的要求,与输入、输出单元的数目有直接的关系。

隐单元数目太多会导致学习时间过长,误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。

研究通过一次编程比较了隐层神经元个数分别为5、10、15、20、25、30、40时训练速度及检验精度。

图4.2 BP神经网络程序框图(3)网络训练及检验BP网络采用梯度下降法来降低网络的训练误差,考虑到基坑降水地面沉降范围内沉降量变化幅度较小的特点,训练时以训练目标取0.001为控制条件,考虑到网络的结构比较复杂,神经元个数比较多,需要适当增加训练次数和学习速率,因此初始训练次数设为10000次,学习速率取0.1,中间层的神经元传递函数采用S型正切函数tansig,传输函数采用logsig,训练函数采用trainlm,选用38组数据中的33组作为训练样本,5组作为检验样本。

(4)网络实现及检验效果使用MATLAB6.0编程建立基于BP神经网络的基坑降水地面沉降预测模型(程序代码见附件1),其训练误差及检验效果如下:图4.3 训练误差曲线图4.4 预测误差曲线由图4.3、图4.4可见:样本数据收敛,训练误差较小,中间层神经单元个数为10时预测精度较好,误差小于20%,误差满足工程需求。

(1)BP算法的学习过程中有两个过程是什么?(2)写出BP神经网络的数学模型,并以20

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神经网络算法中,总方差对某个权值的偏导,是某层的误差?

可以把网络的输出误差(或者熵)理解成一个隐函数,一个关于权值的隐函数error = f(w1, w2, ... , wn)要求函数f的最小值,通常使用梯度下降法,那么就要求梯度,也就是f对每个wi的偏导。

BP神经网络的MATLAB训练Gradient是什么意思?Performance是什么意思?,大神能解释一下吗?谢谢了

Gradient是梯度的意思,BP神经网络训练的时候涉及到梯度下降法,表示为梯度下降的程度与训练过程迭代次数(步长)的关系。

Performance是神经网络传递误差大小的意思,表示为均方差与训练过程迭代次数(步长)的关系。

基于BP 神经网络的环境影响评价方法

基于BP神经网络的环境影响评价模型的建立过程如下:(1)样本选择根据表3.7、表3.8、表3.9提取建模所需的样本数据(表3.11)表3.11 8组基坑环境影响工程数据(2)BP神经网络结构设计对于BP网络,对于任何在闭区间内的一个连续函数都可以用单隐层的BP网络逼近,因而一个三层BP网络就可以完成任意的n维到m维的映射。

根据网络结构简单化的原则,确定采用三层BP网络结构,即输入层为支护刚度、岩土性质、降水方式、水文地质边界、基坑侧壁状态、边载分布、后续使用年限、基础型式和差异沉降δ九个参数,输出层为环境等影响级,隐层层数为1层。

隐层的神经元数目选择是一个十分复杂的问题,往往需要根据设计者的经验和多次实验来确定,因而不存在一个理想的解析式来表示。隐单元的数目与问题的要求,与输入、输出单元的数目有直接的关系。

隐单元数目太多会导致学习时间过长,误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。

研究通过一次编程比较了隐层神经元个数分别为5、10、15、20、25、30、40时训练速度及检验精度。

(3)网络训练及检验BP网络采用梯度下降法来降低网络的训练误差,考虑到基坑降水地面沉降范围内沉降量变化幅度较小的特点,训练时以训练目标取0.001为控制条件,考虑到网络的结构比较复杂,神经元个数比较多,需要适当增加训练次数和学习速率,因此初始训练次数设为10000次,学习速率取0.1,中间层的神经元传递函数采用S型正切函数tansig,传输函数采用logsig,训练函数采用trainlm,分别抽取表3.11中的7组数据作为训练样本,剩余1组作为检验样本。

使用MATLAB6.0编程建立基于BP神经网络的基坑降水环境影响评价模型,考虑到样本量较小,预测结果不稳定,取预测20次评价结果的平均值作为最终评价结果。

经试算最终确定当隐层神经单元为10,结果如下:表3.12 基坑降水环境影响评价模型检验结果结果表明基于BP神经网络的基坑降水环境影响评价结果大部分与实际监测结果相符,部分结果偏于危险。

BP神经网络完成预测 5

下面是几个仿真实验,用了不同的训练函数:1.创建BP网络的学习函数,训练函数和性能函数都采用default值,分别为learngdm,trainlm和mse时的逼近结果:由此可见,进过200次训练后,虽然网络的性能还没有为0,但是输出均方误差已经很小了,MSE=6.72804e-0.06,显示的结果也证明P和T之间非线性映射关系的拟合是非常精确的;2.建立一个学习函数为learnd,训练函数为traingd,和性能函数为msereg的BP网络,来完成拟合任务:可见,经过200次训练后,网络的输出误差比较大,而且网络误差的收敛速度非常慢。

这是由于训练函数traingd为单纯的梯度下降训练函数,训练速度比较慢,而且容易陷入局部最小的情况。结果显示网络精度确实比较差。

3.将训练函数修改为traingdx,该i函数也是梯度下降法训练函数,但是在训练过程中,他的学习速率是可变的在200次训练后,以msereg函数评价的网络性能为1.04725,已经不是很大,结果显示P和T之间非线性关系的拟合情况不错,网络的性能不错。

 

你可能感兴趣的:(神经网络,深度学习,机器学习,人工智能)