BP神经网络建模与应用
- 格式:pdf
- 大小:189.58 KB
- 文档页数:3
BP神经网络原理及其MATLAB应用BP神经网络(Back Propagation Neural Network)是一种基于梯度下降算法的人工神经网络模型,具有较广泛的应用。
它具有模拟人类神经系统的记忆能力和学习能力,可以用来解决函数逼近、分类和模式识别等问题。
本文将介绍BP神经网络的原理及其在MATLAB中的应用。
BP神经网络的原理基于神经元间的权值和偏置进行计算。
一个标准的BP神经网络通常包含三层:输入层、隐藏层和输出层。
输入层负责接收输入信息,其节点数与输入维度相同;隐藏层用于提取输入信息的特征,其节点数可以根据具体问题进行设定;输出层负责输出最终的结果,其节点数根据问题的要求决定。
BP神经网络的训练过程可以分为前向传播和反向传播两个阶段。
前向传播过程中,输入信息逐层传递至输出层,通过对神经元的激活函数进行计算,得到神经网络的输出值。
反向传播过程中,通过最小化损失函数的梯度下降算法,不断调整神经元间的权值和偏置,以减小网络输出与实际输出之间的误差,达到训练网络的目的。
在MATLAB中,可以使用Neural Network Toolbox工具箱来实现BP神经网络。
以下是BP神经网络在MATLAB中的应用示例:首先,需导入BP神经网络所需的样本数据。
可以使用MATLAB中的load函数读取数据文件,并将其分为训练集和测试集:```data = load('dataset.mat');inputs = data(:, 1:end-1);targets = data(:, end);[trainInd, valInd, testInd] = dividerand(size(inputs, 1), 0.6, 0.2, 0.2);trainInputs = inputs(trainInd, :);trainTargets = targets(trainInd, :);valInputs = inputs(valInd, :);valTargets = targets(valInd, :);testInputs = inputs(testInd, :);testTargets = targets(testInd, :);```接下来,可以使用MATLAB的feedforwardnet函数构建BP神经网络模型,并进行网络训练和测试:```hiddenLayerSize = 10;net = feedforwardnet(hiddenLayerSize);net = train(net, trainInputs', trainTargets');outputs = net(testInputs');```最后,可以使用MATLAB提供的performance函数计算网络的性能指标,如均方误差、相关系数等:```performance = perform(net, testTargets', outputs);```通过逐步调整网络模型的参数和拓扑结构,如隐藏层节点数、学习率等,可以进一步优化BP神经网络的性能。
BP神经网络及其应用摘要:人工神经网络是最近发展起来的十分热门的交叉学科,有着非常广泛的应用前景。
文着重研究了BP神经网络结构、算法原理、介绍了BP网络改进算法,最后将改进的BP算法应用与变压器故障诊断。
关键词: BP神经网络;应用;故障诊断1、神经元模型人工神经网络(Artificial Neural Networks,ANN)是对人脑神经系统的近似模拟。
神经网络由许多人工神经元互连组成,能接受并处理信息,网络的信息处理由神经元之间的连接权值来实现。
1943年,McDulloh和Pitts根据生物神经元的结构和功能,建立了人工神经元模型如图1,一个基本的神经元i,它有n个输入,每个输入都通过一个适当的权值w 与神经元相连。
是神经元的输入, 是神经元i的阀值; ,分别是神经元i对的权值;是神经元的输出;圆形代表内部求和函数,它将输入求和得到神经元的静输入。
f( )是神经元的激励函数,它决定神经元受到输入时的输出。
激励函数f( )有多种形式,如Sigmoid函数、阶跃函数和线性函数等。
2、BP神经网络基本思想将BP网络理论学习算法转化为实际的学习过程,其原理如下:如图4-2所示,令I = { a1,..., an}为输入层故障诊断向量,O={ c1,..., cj}为输出层故障诊断向量,H={b1,,...,bp}为隐含层神经元数,V=Vn×p与W=Wp×q,为各层之间连接权值,K=(1,2,..., m)为给定的样本数。
先给LI层单元与LH层单元之间、LH层单元与LO层单元之间的连接权以及LH层单元阀值θi、LO层单元阀值γi赋[-ε,+ε]区间的随机值份(ε≦1)。
对每个模式对(A k,Tk)(k=1,2,...,m)的学习步骤如下:(1)将输入模式Ak送到LI层,LI层单元的激活值ah通过连接权矩阵V送到LH层,产生LH层新的净输入netbi,进而产生LH层单元的输出值bi 式中h=1,2,...,n;i=1,2,...,q。
BP神经网络基本原理与应用BP神经网络,即反向传播神经网络(BackPropagation Neural Network),是一种常用的人工神经网络模型,由几层节点相互连接而成,通过输入与输出之间的连接进行信息传递与处理。
BP神经网络广泛应用于模式识别、数据挖掘、预测分析等领域,具有较好的非线性映射能力和逼近复杂函数的能力。
BP神经网络的基本原理是参考人脑神经元的工作方式,通过模拟大量神经元之间的连接与传递信息的方式进行数据处理。
BP神经网络通常由输入层、隐藏层和输出层组成,其中输入层接收外部输入的数据,输出层返回网络最终的结果,隐藏层通过多个节点进行信息传递和加工。
在前向传播阶段,输入数据从输入层进入神经网络,通过各层节点之间的连接,经过各层节点的加权和激活函数处理,最终输出到输出层。
此过程权值是固定的,只有输入数据在网络中的传递。
在反向传播阶段,通过计算输出层的误差与目标输出之间的差异,反向传播至隐藏层和输入层,根据误差大小调整各层节点之间的权值。
这种反向传播误差的方式可以不断减小输出误差,并逐渐调整网络的权值,使得网络的输出结果更加准确。
BP神经网络的应用非常广泛,可以有效地处理非线性问题。
例如,在模式识别领域,可以用于人脸识别、声纹识别等方面,通过学习大量的样本数据,提取出特征并建立模型,实现对特定模式的识别和分类。
在数据挖掘领域,可以用于聚类分析、分类预测等方面,通过训练网络,建立数据模型,对未知数据进行分类或者预测。
在预测分析领域,可以用于股票预测、销售预测等方面,通过学习历史数据,建立预测模型,对未来的趋势进行预测。
总的来说,BP神经网络作为一种常用的人工神经网络模型,具有强大的非线性映射能力和逼近复杂函数的能力,其基本原理是通过输入与输出之间的连接进行信息传递与处理,并通过不断调整权值来减小输出误差。
在实际应用中,可以广泛应用于模式识别、数据挖掘、预测分析等领域,为我们解决复杂问题提供了有力的工具和方法。
(完整版)BP神经网络原理及应用BP神经网络原理及应用1 人工神经网络简介1.1生物神经元模型神经系统的基本构造是神经元(神经细胞),它是处理人体内各部分之间相互信息传递的基本单元。
据神经生物学家研究的结果表明,人的大脑一般有1011个神经元。
每个神经元都由一个细胞体,一个连接其他神经元的轴突1010和一些向外伸出的其它较短分支——树突组成。
轴突的功能是将本神经元的输出信号(兴奋)传递给别的神经元。
其末端的许多神经末梢使得兴奋可以同时送给多个神经元。
树突的功能是接受来自其它神经元的兴奋。
神经元细胞体将接受到的所有信号进行简单地处理后由轴突输出。
神经元的树突与另外的神经元的神经末梢相连的部分称为突触。
1.2人工神经元模型神经网络是由许多相互连接的处理单元组成。
这些处理单元通常线性排列成组,称为层。
每一个处理单元有许多输入量,而对每一个输入量都相应有一个相关联的权重。
处理单元将输入量经过加权求和,并通过传递函数的作用得到输出量,再传给下一层的神经元。
目前人们提出的神经元模型已有很多,其中提出最早且影响最大的是1943年心理学家McCulloch和数学家Pitts在分析总结神经元基本特性的基础上首先提出的M-P 模型,它是大多数神经网络模型的基础。
)()(1∑=-=ni j i ji j x w f t Y θ (1.1)式(1.1)中,j 为神经元单元的偏置(阈值),ji w 为连接权系数(对于激发状态,ji w 取正值,对于抑制状态,ji w 取负值),n 为输入信号数目,j Y 为神经元输出,t 为时间,f()为输出变换函数,有时叫做激发或激励函数,往往采用0和1二值函数或S形函数。
1.3人工神经网络的基本特性人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。
每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。
BP神经网络模型第1节基本原理简介近年来全球性的神经网络研究热潮的再度兴起,不仅仅是因为神经科学本身取得了巨大的进展.更主要的原因在于发展新型计算机和人工智能新途径的迫切需要.迄今为止在需要人工智能解决的许多问题中,人脑远比计算机聪明的多,要开创具有智能的新一代计算机,就必须了解人脑,研究人脑神经网络系统信息处理的机制.另一方面,基于神经科学研究成果基础上发展出来的人工神经网络模型,反映了人脑功能的若干基本特性,开拓了神经网络用于计算机的新途径.它对传统的计算机结构和人工智能是一个有力的挑战,引起了各方面专家的极大关注.目前,已发展了几十种神经网络,例如Hopficld模型,Feldmann等的连接型网络模型,Hinton等的玻尔茨曼机模型,以及Rumelhart等的多层感知机模型和Kohonen的自组织网络模型等等。
在这众多神经网络模型中,应用最广泛的是多层感知机神经网络。
多层感知机神经网络的研究始于50年代,但一直进展不大。
直到1985年,Rumelhart等人提出了误差反向传递学习算法(即BP算),实现了Minsky的多层网络设想,如图34-1所示。
BP 算法不仅有输入层节点、输出层节点,还可有1个或多个隐含层节点。
对于输入信号,要先向前传播到隐含层节点,经作用函数后,再把隐节点的输出信号传播到输出节点,最后给出输出结果。
节点的作用的激励函数通常选取S 型函数,如Qx e x f /11)(-+=式中Q 为调整激励函数形式的Sigmoid 参数。
该算法的学习过程由正向传播和反向传播组成。
在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层。
每一层神经元的状态只影响下一层神经输入层 中间层 输出层 图34-1 BP 神经网络模型元的状态。
如果输出层得不到期望的输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使得误差信号最小。
社含有n 个节点的任意网络,各节点之特性为Sigmoid 型。
BP人工神经网络算法的探究及其应用
BP人工神经网络算法是一种基于反向传播原理的人工神经网络,具有很好的非线性拟合能力和适应性,被广泛应用于数据挖掘、图像识别、自然语言处理等领域。
BP网络的基本结构由输入层、隐藏层和输出层组成。
输入层接收外界输入的数据,隐藏层进行信息处理和转化,输出层则输出网络的结果。
BP算法主要包括前向传播和反向传播两个过程。
在前向传播过程中,网络通过输入层接收输入信息,经过隐藏层的处理后,产生输出结果。
在反向传播过程中,网络根据误差信号,将误差一步步向前传播,不断调整各个层次之间的连接权值,直至误差最小化,从而实现网络训练和学习。
BP网络算法具有很强的泛化能力和适应性。
它不需要先验知识,不断通过调整权值来精确匹配输入数据与输出结果之间的关系,适用于处理各种复杂的非线性问题。
BP算法还具有很好的稳定性和鲁棒性,在模型参数调整过程中不易陷入局部极小值,训练后的网络具有很强的泛化能力和鲁棒性。
BP神经网络算法已经成功应用于图像识别、自然语言处理、文本分类、金融风险评估等领域。
例如,基于BP算法的手写数字识别系统,在MNIST(美国国家标准与技术研究所)数据集上取得了较好的识别率,已经被广泛应用于银行卡号识别等场景;基于BP算法的股票预测模型,在对历史股票数据进行训练后,能够对未来股票价格变化做出预测,帮助金融从业人员做出更为准确的投资决策。
总之,BP神经网络算法作为一种基于反向传播原理的人工神经网络,具有很强的非线性拟合能力和适应性,能够广泛应用于各个领域。
预计在未来,随着人工智能技术的不断发展和完善,BP算法将会带来更多的应用和领域的拓展。
B P神经网络预测模型及应用(总5页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除B P神经网络预测模型及应用摘要采用BP神经网络的原理,建立神经网络的预测模型,并利用建立的人工神经网络训练并预测车辆的销售量,最后得出合理的评价和预测结果。
【关键词】神经网络模型预测应用1 BP神经网络预测模型1.1 BP神经网络基本理论人工神经网络是基于模仿生物大脑的结构和功能而构成的一种信息处理系统。
该网络由许多神经元组成,每个神经元可以有多个输入,但只有一个输出,各神经元之间不同的连接方式构成了不同的神经网络模型,BP网为其中之一,它又被称为多层前馈神经网络。
1.2 BP神经网络预测模型(1)初始化,给各连接权值(wij,vi)及阐值(θi)赋予随机值,确定网络结构,即输入单元、中间层单元以及输出层单元的个数;通过计算机仿真确定各系数。
在进行BP网络设计前,一般应从网络的层数、每层中的神经元个数、初始值以及学习方法等方面进行考虑,BP 网络由输入层、隐含层和输出层组成。
隐含层神经元个数由以下经验公式计算:(1)式中:s为隐层节点数,m为输入层节点数,n为输出层节点数,h为正整数,一般取3―7. BP网络采用了有一定阈值特性的、连续可微的sigmoid函数作为神经元的激发函数。
采用的s型函数为:(2)式中:s为隐层节点数,m为输入层节点数,n为输出层节点数,h为正整数,一般取3―7.计算值需经四舍五入取整。
(2)当网络的结构和训练数据确定后,误差函数主要受激励函数的影响,尽管从理论分析中得到比的收敛速度快,但是也存在着不足之处。
当网络收敛到一定程度或者是已经收敛而条件又有变化的时候,过于灵敏的反映会使得系统产生震荡,难于收敛。
因此,对激励函数进行进一步改进,当权值wij(k)的修正值Δwij(k)Δwij(k+1)<0时,,其中a为大于零小于1的常数。
学年论文(本科)学院数学与信息科学学院专业信息与计算科学专业年级10级4班姓名徐玉琳于正平马孝慧李运凤郭双双任培培论文题目BP神经网络原理与应用指导教师冯志敏成绩2013年 9月 24日BP神经网络的原理与应用1.BP神经网络的原理1.1 BP神经网络的结构BP神经网络模型是一个三层网络,它的拓扑结构可被划分为:输入层(InputLayer )、输出层(Outp ut Layer ) ,隐含层(Hide Layer ).其中,输入层与输出层具有更重要的意义,因此也可以为两层网络结构(把隐含层划入输入层,或者把隐含层去掉)每层都有许多简单的能够执行并行运算的神经元组成,这些神经元与生物系统中的那些神经元非常类似,但其并行性并没有生物神经元的并行性高.BP神经网络的特点:1)网络由多层构成,层与层之间全连接,同一层之间的神经元无连接.2)BP网络的传递函数必须可微.因此,感知器的传递函数-——二值函数在这里没有用武之地.BP网络一般使用Sigmoid函数或线性函数作为传递函数.3)采用误差反向传播算法(Back-Propagation Algorithm)进行学习.在BP 网络中,数据从输入层隐含层逐层向后传播,训练网络权值时,则沿着减少误差的方向,从输出层经过中间各层逐层向前修正网络的连接权值.随着学习的不断进行,最终的误差越来越来小.BP神经网络的学习过程BP神经网络的学习算法实际上就是对误差函数求极小值的算法,它采用的算法是最速下降法,使它对多个样本进行反复的学习训练并通过误差的反向传播来修改连接权系数,它是沿着输出误差函数的负梯度方向对其进行改变的,并且到最后使误差函数收敛于该函数的最小点.1.3 BP网络的学习算法BP网络的学习属于有监督学习,需要一组已知目标输出的学习样本集.训练时先使用随机值作为权值,修改权值有不同的规则.标准的BP神经网络沿着误差性能函数梯度的反向修改权值,原理与LMS算法比较类似,属于最速下降法.拟牛顿算法牛顿法是一种基于二阶泰勒级数的快速优化算法.其基本方法是1(1)()()()x k x k A k g k -+=-式中 ()A k ----误差性能函数在当前权值和阀值下的Hessian 矩阵(二阶导数),即2()()()x x k A k F x ==∇牛顿法通常比较梯度法的收敛速度快,但对于前向型神经网络计算Hessian 矩阵是很复杂的,付出的代价也很大.有一类基于牛顿法的算法不需要二阶导数,此类方法称为拟牛顿法(或正切法),在算法中的Hessian 矩阵用其近似值进行修正,修正值被看成梯度的函数. 1)BFGS 算法在公开发表的研究成果中,你牛顿法应用最为成功得有Boryden,Fletcher,Goldfard 和Shanno 修正算法,合称为BFG 算法. 该算法虽然收敛所需的步长通常较少,但在每次迭代过程所需要的计算量和存储空间比变梯度算法都要大,对近似Hessian 矩阵必须进行存储,其大小为n n ⨯,这里n 网络的链接权和阀值的数量.所以对于规模很大的网络用RPROP 算法或任何一种梯度算法可能好些;而对于规模较小的网络则用BFGS 算法可能更有效. 2)OSS 算法 由于BFGS 算法在每次迭代时比变梯度算法需要更多的存储空间和计算量,所以对于正切近似法减少其存储量和计算量是必要的.OSS 算法试图解决变梯度法和拟牛顿(正切)法之间的矛盾,该算法不必存储全部Hessian 矩阵,它假设每一次迭代时与前一次迭代的Hessian 矩阵具有一致性,这样做的一个有点是,在新的搜索方向进行计算时不必计算矩阵的逆.该算法每次迭代所需要的存储量和计算量介于梯度算法和完全拟牛顿算法之间. 最速下降BP 法最速下降BP 算法的BP 神经网络,设k 为迭代次数,则每一层权值和阀值的修正按下式进行(1)()()x k x k g k α+=-式中()x k —第k 次迭代各层之间的连接权向量或阀值向量;()g k =()()E k x k ∂∂—第k 次迭代的神经网络输出误差对各权值或阀值的梯度向量.负号表示梯度的反方向,即梯度的最速下降方向;α—学习效率,在训练时是一常数.在MATLAB 神经网络工具箱中,,可以通过改变训练参数进行设置;()E K —第k 次迭代的网络输出的总误差性能函数,在MATLAB 神经网络工具箱中BP 网络误差性能函数默认值为均方误差MSE,以二层BP 网络为例,只有一个输入样本时,有2()()E K E e k ⎡⎤=⎣⎦21S≈22221()S i i i t a k =⎡⎤-⎣⎦∑ 222212,1()()()()s ii j i i j a k f w k a k b k =⎧⎫⎪⎪⎡⎤=-⎨⎬⎣⎦⎪⎪⎩⎭∑21221112,,11()(()())()s s i j i j i i i j j f w k f iw k p ib k b k ==⎧⎫⎡⎤⎛⎫⎪⎪=++⎢⎥ ⎪⎨⎬⎢⎥⎝⎭⎪⎪⎣⎦⎩⎭∑∑若有n 个输入样本2()()E K E e k ⎡⎤=⎣⎦21nS ≈22221()S ii i ta k =⎡⎤-⎣⎦∑根据公式和各层的传输函数,可以求出第k 次迭代总误差曲面的梯度()g k =()()E k x k ∂∂,分别代入式子便可以逐次修正其权值和阀值,并是总的误差向减小的方向变化,直到达到所需要的误差性能为止. 1.4 BP 算法的改进BP 算法理论具有依据可靠、推导过程严谨、精度较高、通用性较好等优点,但标准BP 算法存在以下缺点:收敛速度缓慢;容易陷入局部极小值;难以确定隐层数和隐层节点个数.在实际应用中,BP 算法很难胜任,因此出现了很多改进算.利用动量法改进BP 算法标准BP 算法实质上是一种简单的最速下降静态寻优方法,在修正W(K)时,只按照第K 步的负梯度方向进行修正,而没有考虑到以前积累的经验,即以前时刻的梯度方向,从而常常使学习过程发生振荡,收敛缓慢.动量法权值调整算法的具体做法是:将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,作为本次的实际权值调整量,即:其中:α为动量系数,通常0<α<0.9;η—学习率,范围在0.001~10之间.这种方法所加的动量因子实际上相当于阻尼项,它减小了学习过程中的振荡趋势,从而改善了收敛性.动量法降低了网络对于误差曲面局部细节的敏感性,有效的抑制了网络陷入局部极小.自适应调整学习速率标准BP算法收敛速度缓慢的一个重要原因是学习率选择不当,学习率选得太小,收敛太慢;学习率选得太大,则有可能修正过头,导致振荡甚至发散.可采用图所示的自适应方法调整学习率.调整的基本指导思想是:在学习收敛的情况下,增大η,以缩短学习时间;当η偏大致使不能收敛时,要及时减小η,直到收敛为止.动量-自适应学习速率调整算法采用动量法时,BP算法可以找到更优的解;采用自适应学习速率法时,BP算法可以缩短训练时间.将以上两种方法结合起来,就得到动量-自适应学习速率调整算法.1. L-M学习规则L-M(Levenberg-Marquardt)算法比前述几种使用梯度下降法的BP算法要快得多,但对于复杂问题,这种方法需要相当大的存储空间L-M(Levenberg-Marquardt)优化方法的权值调整率选为:其中:e —误差向量;J —网络误差对权值导数的雅可比(Jacobian )矩阵;μ—标量,当μ很大时上式接近于梯度法,当μ很小时上式变成了Gauss-Newton 法,在这种方法中,μ也是自适应调整的. 1.5 BP 神经网络的设计 网络的层数输入层节点数取决于输入向量的维数.应用神经网络解决实际问题时,首先应从问题中提炼出一个抽象模型,形成输入空间和输出空间.因此,数据的表达方式会影响输入向量的维数大小.例如,如果输入的是64*64的图像,则输入的向量应为图像中所有的像素形成的4096维向量.如果待解决的问题是二元函数拟合,则输入向量应为二维向量.理论上已证明:具有偏差和至少一个S 型隐含层加上一个线性输出层的网络,能够逼近任何有理数.增加层数可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间.而误差精度的提高实际上也可以通过增加神经元数目来获得,其训练效果也比增加层数更容易观察和调整.所以一般情况下,应优先考虑增加隐含层中的神经元数. 隐含层的神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加神经元数了的方法来获得.这在结构实现上,要比增加隐含层数要简单得多.那么究竟选取多少隐含层节点才合适?这在理论上并没有一个明确的规定.在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量.1)0niMi C k =>∑,k 为样本数,M 为隐含层神经元个数,n 为输入层神经元个数.如i>M,规定C i M =0.2)和n 分别是输出层和输入层的神经元数,a 是[0.10]之间的常量.3)M=2log n ,n 为输入层神经元个数.初始权值的选取由于系统是非线性的,初始值对于学习是否达到局部最小、是否能够收敛及训练时间的长短关系很大.如果初始值太大,使得加权后的输入和n落在了S型激活函数的饱和区,从而导致其导数f (n)非常小,从而使得调节过程几乎停顿下来.所以一般总是希望经过初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的S型激活函数变化最大之处进行调节.所以,一般取初始权值在(-1,1)之间的随机数.学习速率学习速率决定每一次循环训练中所产生的权值变化量.大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值.所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性.学习速率的选取范围在0.01-0.8之间.1.6BP神经网络局限性需要参数多且参数选择没有有效的方法对于一些复杂问题 ,BP 算法可能要进行几小时甚至更长的时间训练,这主要是由于学习速率太小所造成的.标准BP 网络学习过程缓慢,易出现平台,这与学习参数率l r的选取有很大关系.当l r较时,权值修改量大,学习速率也快,但可能产生振荡;当l r较小时,虽然学习比较平稳,但速度十分缓慢.容易陷入局部最优BP网络易陷入局部最小, 使 BP网络不能以高精度逼近实际系统.目前对于这一问题的解决有加入动量项以及其它一些方法.BP 算法本质上是以误差平方和为目标函数 , 用梯度法求其最小值的算法.于是除非误差平方和函数是正定的, 否则必然产生局部极小点, 当局部极小点产生时 , BP算法所求的就不是解.1.6.3 样本依赖性这主要表现在网络出现的麻痹现象上.在网络的训练过程中,如其权值调的过大,可能使得所有的或大部分神经元的加权值偏大,这使得激活函数的输入工作在S型转移函数的饱和区,从而导致其导函数非常小,使得对网络权值的调节过程几乎停顿下来.通常为避免这种现象的发生,一是选取较小的初始权值,二是采用较小的学习速率,但又要增加时间训练.初始权敏感对于一些复杂的问题,BP算法可能要进行几个小时甚至更长时间的训练.这主要是由于学习速率太小造成的.可采用变化的学习速率或自适应的学习速率来加以改进.2.BP神经网络应用2.1 手算实现二值逻辑—异或这个例子中,采用手算实现基于BP网络的异或逻辑.训练时采用批量训练的方法,训练算法使用带动量因子的最速下降法.在MATLAB中新建脚本文件main_xor.m,输入代码如下:%脚本%批量训练方式.BP网络实现异或逻辑%%清理clear allclcrand('seed',2)eb = 0.01; %误差容限eta = 0.6; %学习率mc = 0.8; %动量因子maxiter = 1000; %最大迭代次数%% 初始化网络nSampNum = 4;nSampDim = 2;nHidden = 3;nOut = 1;w = 2*(rand(nHidden,nSampDim)-1/2);b = 2*(rand(nHidden,1)-1/2);wex = [w,b];W = 2*(rand(nOut,nHidden)-1/2);B = 2*(rand(nOut,1)-1/2);WEX = [W,B];%%数据SampIn=[0,0,1,1;...0,1,0,1;…1,1,1,1];expected = [0,1,1,0];%%训练iteration = 0;errRec = [];outRec =[];for i = 1:maxiter% 工作信号正向传播hp = wex*SampIn;tau = logsig(hp);tauex = [tau',1*ones(nSampNum,1)]';HM = WEX*tauex;out = logsig(HM);outRec = [outRec,out'];err = expected - out;sse = sumsqr(err);errRec = [errRec,sse];fprintf('第%d 次迭代,误差:%f \n',i,sse);% 判断是否收敛iteration = iteration + 1;if sse <= ebbreak;end% 误差信号反向传播% DELTA 和delta 为局部梯度DELTA = err.*dlogsig(HM,out);delta = W' * DELTA.*dlogsig(hp,tau);dWEX = DELTA*tauex';dwex = delta*SampIn';% 更新权值if i == 1WEX = WEX + eta*dWEX;wex = wex + eta*dwex;elseWEX = WEX + (1-mc)*eta*dWEX + mc*dWEXold;wex = wex + (1-mc)*eta*dwex+mc*dwexold;enddWEXold = dWEX;dwexold = dwex;W = WEX(:,1:nHidden);end%%显示figure(1)grid[nRow,nCol]=size(errRec);semilogy(1:nCol,errRec,'LineWidth',1.5);title('误差曲线');xlabel('迭代次数');x=-0.2:.05:1.2;[xx,yy] = meshgrid(x);for i=1:length(xx)for j=1:length(yy)xi=[xx(i,j),yy(i,j),1];hp = wex*xi';tau = logsig(hp);tauex = [tau',1]';HM = WEX*tauex;out = logsig(HM);z (i,j) =out;endendfigure(2)mesh(x,x,z);figure(3)plot([0,1],[0,1],'*','LineWidth',2);hold onplot([0,1],[1,0],'O','LineWidth',2);[c,h]=contour(x,x,z,0.5,'b');clabel(c,h);legend('0','1','分类面');title('分类面')2.2 误差下降曲线如下图所示:Finger 1010*******400500600700800900100010-210-110误差曲线迭代次数网格上的点在BP 网络映射下的输出如下图:Finger 2异或本质上是一个分类问题,,分类面如图:Finger 3分类面-0.200.20.40.60.81 1.2本文介绍了神经网络的研究背景和现状,分析了目前神经网络研究中存在的问题.然后描述了BP神经网络算法的实现以及BP神经网络的工作原理,给出了BP网络的局限性.本文虽然总结分析了BP神经网络算法的实现,给出了实例分析,但是还有很多的不足.所总结的BP神经网络和目前研究的现状都还不够全面,经过程序调试的图形有可能都还存在很多细节上的问题,而图形曲线所实现效果都还不够好,以及结果分析不够全面、正确、缺乏科学性等,这些都还是需加强提高的.近几年的不断发展,神经网络更是取得了非常广泛的应用,和令人瞩目的发展.在很多方面都发挥了其独特的作用,特别是在人工智能、自动控制、计算机科学、信息处理、机器人、模式识别等众多方面的应用实例,给人们带来了很多应用上到思考,和解决方法的研究.但是神经网络的研究最近几年还没有达到非常热门的阶段,这还需有很多热爱神经网络和研究神经网络人员的不断研究和创新,在科技高度发达的现在,我们有理由期待,也有理由相信.我想在不久的将来神经网络会应用到更多更广的方面,人们的生活会更加便捷.学年论文成绩评定表。
B P神经网络建模与应用
商丘师范学院计算机科学系 刘向阳
[摘 要]BP网络是人工神经网络的重要组成部分,在实际应用中占有十分重要的地位。
本文就BP网络的概念,BP网
络的应用模型M L P模型,以及构建BP网络模型的关键问题作了论述。
并对M L P建模理论与实际应用问题的联系作
了简单的分析,为BP网络应用做好铺垫。
[关键词]BP网络 M L P模型 训练样本
—
—
1
3
6
—
461—
(上接第162页)对教学的表现力不同,完成的教学功能有异,达到的教学效果大不相同。
即使媒体相同、传播的信息相同,由于传播方法的不同,也会得到差异很大的教学效果。
例如:两位教师分别使用同一个教学光盘上课,一位教师是把光盘纳入整体的教学设计,先提出让学生思考的问题,然后播放光盘的内容,在组织学生讨论后,再次播放光盘以加深印象。
而另外一位教师则只是在课堂讲授之后让学生们自己观看录像,两者的教学效果自然不会相同,因为媒体效能的发挥与媒体的使用模式、使用方法是密切相关的。
另外各种教学媒体,各有其优势和不足,教师可根据教学的需要,选择使用多种教学媒体,优化教学,缓解硬件设备不够充裕、基础设施不能满足实际教学需要的矛盾。
教师利用多媒体教学时,绝不能搞“课本搬家”,在课堂上出现“人灌”加“机灌”,造成学生认知超载、学习负担加重的现象。
而应努力做到:设置问题情境,激发学习动机和兴趣;创设情境,使学生获得亲身体验;揭示规律,帮助学生理解;模拟仿真,将知识直观化,降低学习难度;变换时空,演示说明,扩大观察效果;扩大知识容量,提供广阔的思维空间;多向交互、师生互动、资源共享。
4.3合理选题,加强课件建设
课件是为进行教与学活动而设计的计算机软件,是学习者与计算机进行人机交互的接口,它具有教学性,即它具有施教、促学的功能,没有课件再好的硬件也只能是花瓶。
“良好的开端是成功的一半”,课件内容的选择是非常重要的一个环节,它对整个多媒体教学的成败起着关键的作用。
多媒体课件的开发和制作应立足于课堂教学,编制符合课堂教学要求的课件。
将本学科中的重点、难点,用其它方法不易讲清楚的,而采用多媒体课件则能很方便地讲清楚的部分制作成课件,从而体现多媒体的优势。
因为多媒体功能丰富,可以集视频、声音、动画、效果于一身,更可表现和模拟自然或实验条件,以多种方式呈现,如重复、局部放大、旋转,可以有效地突破难点。
多媒体课件展示的信息是经过提炼和处理的,不是知识的简单“再现”。
以技能、概念、规则等学习内容为主,而单纯的事实性知识较少的内容不宜制成多媒体课件,因为把多媒体作为单纯呈现知识(尤其是简单的知识)的电子翻页器是不经济的,其它媒体完全可以代替,且更方便。
多媒体课件能将文字、声音、图形、图像、动画、视频等多种信息集成和综合,但每种媒体都应为达到某一确定目标合理选择,并按照教学设计的要求,有机地组合并显示在屏幕上,使学生获得多重刺激,从而提高学习效率和效果。
不可为了方便或怕麻烦仅用一些文字或呆板的图片呈现教学内容,那样也失去了多媒体教学的意义。
此外,即使在表达同一内容时可以用多种媒体的表达形式,但应选择最优化的组合方式,如采用动静结合、图文相间、动态、直观地表现教学内容。
参考文献
[1]黄来.对多媒体教学的几点思考[N].华中科技大学周报,2004.3.29
[2]洪列平.高校多媒体教学现状及改进措施[J].宁波大学学报,2003(04)
[3]冯晓晴,胡方晴.E-L earning与现代教育技术[J].南京师大学报,第25卷,2002.
[4]张立新,张丽霞.对多媒体教学的冷静思考[J].中国电化教育,1999(06):20-22
[5]刘宇,陈晓慧.选择性注意理论对多媒体教学的启示[J].中国电化教育,2000(06):5-7
[6]黄烈生,邹京霞.多媒体课堂教学存在的问题及解决措施[J].外语电化教学,1999(03):5-7
—
5
6
1
—。