bp神经网络

2024-05-30 版权声明 我要投稿

bp神经网络(精选12篇)

bp神经网络 篇1

一、实验目的1、熟悉MATLAB中神经网络工具箱的使用方法;

2、通过在MATLAB下面编程实现BP网络逼近标准正弦函数,来加深对BP网络的了解和认识,理解信号的正向传播和误差的反向传递过程。

二、实验原理

由于传统的感知器和线性神经网络有自身无法克服的缺陷,它们都不能解决线性不可分问题,因此在实际应用过程中受到了限制。而BP网络却拥有良好的繁泛化能力、容错能力以及非线性映射能力。因此成为应用最为广泛的一种神经网络。

BP算法的基本思想是把学习过程分为两个阶段:第一阶段是信号的正向传播过程;输入信息通过输入层、隐层逐层处理并计算每个单元的实际输出值;第二阶段是误差的反向传递过程;若在输入层未能得到期望的输出值,则逐层递归的计算实际输出和期望输出的差值(即误差),以便根据此差值调节权值。这种过程不断迭代,最后使得信号误差达到允许或规定的范围之内。

基于BP算法的多层前馈型网络模型的拓扑结构如上图所示。

BP算法的数学描述:三层BP前馈网络的数学模型如上图所示。三层前馈网中,输入向量为:;隐层输入向量为:;输出层输出向量为:;期望输出向量为:。输入层到隐层之间的权值矩阵用V表示,其中列向量为隐层第j个神经元对应的权向量;隐层到输出层之间的权值矩阵用W表示,其中列向量为输出层第k个神经元对应的权向量。

下面分析各层信号之间的数学关系。

对于输出层,有

对于隐层,有

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

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

以上共同构成了三层前馈网了的数学模型。

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

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

进一步展开至输入层,有

由上式可以看出,网络输入误差是两层权值W和V的函数,因此调整权值可以改变误差E。

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

式中负号表示梯度下降,常数表示比例系数,在训练中反映了学习速率。

容易看出,BP学习算法中,各层权值调整公式形式上都是一样的,均有3个因素决定,即:学习速率、本层误差信号和本层输入信号X/Y。其中输出层误差信号同网络的期望输出与实际输出之差有关,直接反映了输出误差,而各隐层的误差信号与前面各层的误差信号都有关,是从输出层开始逐层反传过来的。

三、程序

clc

clear

all

k=1;

n=10;

P=[-1:0.05:1];

T=sin(k*pi*P);

plot(P,T,'-');

title('要逼近的非线性函数');

xlabel('输入向量');

ylabel('非线性函数目标输出向量');

net=newff(minmax(P),[n,1],{'tansig','purelin'},'trainlm');

y1=sim(net,P);

net.trainParam.epochs=50;

net.trainParam.goal=0.01;

net=train(net,P,T);

y2=sim(net,P);

figure;

plot(P,T,'-',P,y1,'--',P,y2,'*');

title('训练前后的网络仿真结果对比');

xlabel('输入向量');

ylabel('输出向量');

legend('目标函数输出向量','未训练BP网络输出','已训练BP网络输出');

仿真结果如下图:

由仿真结果图可以看出,未经训练的BP网络输出与目标函数差距很大,逼近效果不理想,而对BP网络训练之后的输出可以较精确的逼近目标函数,并且BP网络的训练迭代次数仅约1.2次,网络的输出目标误差就达到了精度要求,收敛速度很快。函数逼近效果、网络训练的收敛速度与原始非线性函数的频率、BP网络隐含层单元神经元的数目以及BP网络训练函数有关。

四、实验结论

通过编程实现使用BP网络对函数进行逼近,对BP网络的信号和误差传递的原理以及隐层、输出层权值调整的规则有了充分的理解和认识。

BP网络是一个强大的工具,它是应用最为广泛的网络。用于文字识别、模式分类、文字到声音的转换、图像压缩、决策支持等。

但是,通过实验看出,它还是存在一定的不足。由于本实验中采用的学习率是固定不变的,从而使得在函数逼近的时候在有些地方出现了偏离,如果能自适应的调整学习率,使网络在学习初期具有较大的学习率,以快速逼近函数,当已经逼近理想输出时再使用较小的学习率,来更加精准的去逼近函数,这样会得到更好的逼近效果和更小的错误率。

bp神经网络 篇2

1. 人工神经网络概述

人工神经网络从微观结构和功能上对大脑思维的抽象、简化, 是模拟人类智能的一种重要途径, 反映了人脑功能的若干基本特征, 如信息的分布式存储、自适应学习、联想记忆和容错性、鲁棒性等, 但它并不是人脑神经的真实写照, 而只是对其作某种简化、抽象和模拟。它是由简单信息处理单元 (简称神经元) 互连组成的网络, 能接受并处理信息, 网络的信息处理由神经元之间的相互作用来实现, 它通过把问题表达成神经元之间的连接权来处理的。

人工神经网络模拟了动物中生理神经网络的某些信息处理原理和过程, 是真实神经网络的一种数学抽象, 是用许多数学神经元按一定的方式相互连接而成的一种网状数学拓朴。

神经元是构成网络的基本构件, 它是一个多输入单输出的信息处理单元, 人工神经网络基本单元的神经元模型, 它有三个基本要素:一组连接;一个求和单元;一个非线性激活函数。较常用的激活函数可归结为三种形式:闭值型、S型和线形型。

2. BP模型算法简介

1986年, Rumelhart和Mc Clelland领导的科学家小组在 (并行分布处理) (Parallel Distributed Processing) 一书中, 对具有非线性转移函数的多层前馈网络的权重进行调整, 提出了误差反传播的算法 (Back Propagation) , 从而实现TMinsky关于多层网络的设想。人们也常把按误差反传递算法训练的多层前馈网络直接称为BP网络。

BP算法通过误差函数最小化来完成输入到输出的一种高度非线性映射, 映射中保持拓扑不变性, 训练过程可分为两个过程:

1) 输入的信息流从输入层, 经隐含层到输出层逐层处理并计算出各神经元节点的实际输出值, 这一过程称为信息流的正向传递过程。在正向传播过程中样本信号经过Sigmoid函数作用逐层向前传播, 每一层神经元的状态只影响到下一层神经元的状态;

2) 计算网络的实际输出与训练样本期望值的误差, 若该误差未达到允许值, 根据此误差确定权重的调整量, 从后往前逐层修改各层神经元节点的连接权重, 这一过程称为误差的逆向修改过程。

两个过程完成了一次学习迭代。这种信息的正向传递与根据误差的逆向修改网络权重的过程, 是在不断迭代中重复进行的, 直到网络的输出误差逐渐减小到允许的精度, 或达到预定的学习次数。同时需要确定的参数有期望误差err-goal、最大循环次数max-epoch、学习速率1r、网络的层数、各层的神经元数以及其相应的激活函数等。

BP算法是人工神经网络中最为重要的网络之一, 也是迄今为止, 应用最为广泛的网络算法, 实践证明这种基于误差反传递算法的BP网络有很强的映射能力, 可以解决许多实际问题。

3. BP算法模型及实现

BP神经网络的典型模型如图一:

如上图所示, 典型的BP模型有一个输入层、一个输出层和一个隐藏层。理论上, 对于隐藏层的层数没有限制, 但常用的是一层或两层。本文采用一层, 因为理论上可以证明, 一个三层的BP网络可以任意逼近非线性系统 (BP定理) 。

N (x) =S (y) = (S1 (y1) , S2 (y2) , …, Sp (yp) ) ;S (*) :非线性方程;

x和y是 (1xn) 和 (1xp) 矢量。 (n个输入, p个输出) ;

d是期望输出;e是误差信号;迭代k;

即时方均差的总计:

此误差在迭代k时产生的总误差

n T:数据对总的误差, (x1, d1;…;x n T, d n T) , 反向传播学习算法使Ek在每次迭代减到最小。

4. BP算法的优缺点

BP神经网络主要具有以下四大优点:

1) 非线性映射:有效地实现输入空间到输出空间的非线性映射。多输入与多输出的结构模型可方便地应用于多变量输入映射和控制系统。

2) 学习能力:学习能力是神经网络具有智能的重要表现, 即通过训练可抽象出训练样本的主要特征的能力。

3) 并行性:各个神经元在处理信息时是各自独立的, 它们分别接受输入, 作用后产生输出。这种并行计算的特点, 使它有潜力适时快速实现信息的处理和实现大量复杂的控制算法。

4) 分布式:在传统的串行运行体现计算机中, 信息分布在独立的存储单元中, 任何部分的损坏都将导致整个信息的无效。而在神经网络中, 信息则分散分布在神经元的连接上, 单个的连接和神经元都没有多大的用途, 但它们结合起来就能从宏观上反映一定的信息特征。

BP算法是人工神经网络中最为重要的网络之一, 也是迄今为止, 应用最为广泛的网络算法, 实践证明这种基于误差反传递算法可以解决许多实际问题, 使它在人工神经网络中占有很重要的地位, 但其算法自身的缺陷也是不可回避的。可以归纳为以下几点:

1) 局部极小点问题:由于BP网络是一种前馈网络, 它的实际输出只取决于网络的输入和权重矩阵, 这样导致全局最小误差点可能不止一个, 存在一些平坦区, 在此区域内误差改变较小, 神经网络对这样区域的映射能力存在不足, 存在许多局部极小点。对此有许多改进算法来解决此问题, 不过本文将不讨论这一问题。

2) 算法的收敛速度很慢:BP算法是通过训练误差反传修改网络权重来实现对客观对象的识别, 对一个非线性方程的识别一般需要几千次训练, 但要实现对复杂非线性关系或模糊不确定关系的识别, 则需要训练几万次, 甚至几十万、几百万次, 花费几个小时或十几个小时, BP算法收敛速度慢是目前难以克服的弱点。

3) 隐含层神经元节点个数难以确定:关于确定隐含层神经元的节点数, 目前尚无可靠的指导理论, 大都采用试算的方法。针对BP算法存在的问题, 许多学者提出了很多针对性的解决办法, 这些办法中有的已成功应用, 有的还处于研究阶段。

参考文献

[1]王士同, 陈慧萍, 赵跃华, 钱旭.人工智能教程[M].北京:电子工业出版社, 2000.

[2]陆伟民.人工智能技术及其应用[M].上海:同济大学出版社, 1998.

[3]飞思科技产品研发中心.MATLAB6.5辅助神经网络分析与设计[M].北京:电子工业出版社, 2003.

BP神经网络的研究及应用 篇3

关键词:BP神经网络;MATLAB仿真

中图分类号:TP183 文献标识码:A 文章编号:1671-864X(2015)03-0181-02

一、BP神经网络概述

BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP一般为多层神经网络,其模型拓扑结构一般包括输入层(input)、隐层(hide layer)和输出层(output layer)。如图1所示:

图 1 BP神经网络体系结构

二、BP网络的学习算法

(一)最速下降BP算法(steepest descent backpropagation,SDBP)

如图2所示的BP神经网络,设k为迭代次数,则每一次权值和阈值的修正案下式进行:

图 2 三层BP神经网络模型

w(k+1)=w(k)-αx(k) (2.1)

式中:w(t)为第k次迭代各层之间的连接权向量或阈值向量。x(k)=■ 为第k次迭代的神经网络输出误差对个权值或阈值的梯度向量。負号代表梯度的反方向,即梯度的最速下降方向。α为学习速率,在训练时事一常数。在MATLAB神经网络工具箱中,其默认值为0.01,可以通过改变训练参数进行设置。EK为第k次迭代的网络输出的总误差性能函数,在MATLAB神经网络工具箱中,BP网络误差性能函数的默认值为均误差MSE(mean square error):

■ (2.2)

根据(2.2)式,可以求出第k次迭代的总误差曲面的梯度x(k)=■ ,分别代入式(2.1)中,就可以逐次修正其权值和阈值,并使总的误差向减小的方向变化,最终求出所要求的误差性能。

(二)冲量BP算法(momentum backpropagation,MOBP)

因为反向传播算法的应用广泛,所以已经开发出了很多反向传播算法的变体。其中最常见得事在梯度下降算法的基础上修改公式(2.1)的权值更新法则,即引入冲量因子η,并且0≤η<1的常数。更新后的公式为:

标准BP算法实质上是一种简单的最速下降静态寻优方法,在修正W(K)时,只按照第K步的负梯度方向进行修正,而没有考虑到以前积累的经验,即以前时刻的梯度方向,从而常常使学习过程发生振荡,收敛缓慢。动量法权值调整算法的具体做法是:将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,作为本次的实际权值调整量,即公式(2.3)所示:η是冲量系数,通常0≤η<1;α为学习率,范围在0.001~1之间。这种方法所加的冲量因子实际上相当于阻尼项,它减小了学习过程中的振荡趋势,来改善收敛性。冲量法降低了网络对误差曲面局部细节的敏感性,有效的抑制了网络陷入局部极小值。

(三)学习率可变的BP算法(variable learnling rate backpropagation,VLBP)

标准BP算法收敛速度缓慢的一个重要原因是学习率选择不当,学习率选得太小,收敛慢;反之,则有可能修正的过头,导致振荡甚至发散。因此可以采用图3所示的自适应方法调整学习率。

图 3 自适应学习

自适应调整学习率的梯度下降算法,在训练的过程中,力求使算法稳定,而同时又使学习的不长尽量地大,学习率则是根据局部误差曲面作出相应的调整。学习率则是通过乘上一个相应的增量因子来调整学习率的大小。即公式(2.5)所示:

■ (2.5)

其中:Kinc为使步长增加的增量因子,Kdec为使步长减小的增量因子; α为学习率。

三、建立BP神经网络预测模型

BP预测模型的设计主要有输入层、隐含层、输出层及各层的个数和层与层之间的传输函数。

(一)网络层数

BP有一个输入层和一个输出层,但可以包含多个隐含层。但理论的上已证明,在不限制隐含层节点的情况下,只有一个隐含层的BP就可以实现任意非线性映射。

(二)输入层和输出层的节点数

输入层是BP的第一层,它的节点数由输入的信号的维数决定,这里输入层的个数为3;输出层的节点数取决于BP的具体应用有关,这里输出节点为1。

(三)隐含层的节点数

隐含层节点数的选择往往是根据前人设计所得的经验和自己的进行的实验来确定的。根据前人经验,可以参考以下公式设计:

■ (3.1)

其中:n为隐含层节点数;m为输入节点数;t为输出节点数;a为1~10之间的常数。根据本文要预测的数据及输入和输出节点的个数,则取隐含层个数为10。

(四)传输函数

BP神经网络中的传输函数通常采用S(sigmoid)型函数:

nlc202309040234

■ (3.2)

如果BP神经网络的最后一层是Sigmoid函数,那么整个网络的输出就会限制在0~1之间的连续;而如果选的是Pureline函数,那么整个网络输出可以取任意值。因此函数选取分别为sigmoid和pureline函数。

四、BP神经网络预测的MATLAB仿真实验

(一)样本数据的预处理

本文的样本数据来源于中国历年国内生产总值统计表,为了让样本数据在同一数量级上,首先对BP输入和输出数据进行预处理:将原样本数据乘上0.0001,同时将样本数据分为训练样本集和测试样本集,1991~1999年我国的三大产业的各总值的处理结果作为训练样本集,即1991~1998年训练样本作为训练输入;1999年训练样本数据作为输出训练输出;1992~2000年我国的三大产业的各总值的处理结果作为测试样本集,即1992~1999年的测试样本作为测试输入,2000年测试样本数据作为测试输出。

(二)确定传输函数

根据本文的数据,如第3节所述,本文选取S函数(tansig)和线性函数(purelin)。

(三)设定BP的最大学习迭代次数为5000次。

(四)设定BP的学习精度为0.001;BP的学习率为0.1。

(五)创建BP结构如图4所示;训练BP的结果图5所示:

图 4 本文建立的BP神经网络结构

图 5 训练的误差性能曲线

正如图5所示的数据与本文所示设计的网络模型相符,且如图5所示当BP神经网络学习迭代到99次时,就达到了学习精度0.000997788,其学习速度比较快。

(六)测试BP神经网络

通过MATLAB对测试样本数据进行仿真,与实际的2000年我国三大产业的各生产总值比较(见表1),说明BP神经网络预测模型是可行的。

表 1 2000年我国三大产业的各生产总值

五、总结

总之,在人工神经网络的实际应用中,BP神经网络广泛应用于函数逼近、模式识别/分类、数据压缩等。通过本文可以体现出MATLAB语言在编程的高效、简洁和灵活。虽然BP在预测方面有很多的优点,但其还有一定的局限性,还需要进一步的改进。

参考文献:

[1] 周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005.7

[2] 张德丰等.MATLAB神经网络应用设计[M].北京:机械工业出版社,2009.1

[3] (美)米歇尔(Mitchell,T.M.)著;曾华军等译.北京:机械工业出版社,2003.1

[4] 岂兴明等编著.MATLAB7.0程序设计快速入门[M].北京:人民邮电出版社,2009.7

[5] 李正学.神经网络理论及其在股市短期预测中的应用[D].长春:吉林大学,2004

作者简介:

1.程聪(1981——)河南省开封市人 毕业于河南财经政法大学 计算机应用技术专业 数字图像处理方向

2.阮莹 河南师范大学新联学院 毕业于河南科技大学 計算机应用技术专业

3.李舸 开封市儿童医院 毕业于河南大学护理学院 儿童护理智能技术专业

bp神经网络 篇4

淤泥质软土流变参数及BP神经网络模型研究

测试了淤泥质软土的`流变参数,分析了粘粒含量、含水率等因素对初始剪切力、粘度等流变参数的影响特性和变化规律.根据测试结果和神经网络理论,建立了流变参数BP神经网络模型,确定了模型的结构参数.用该模型预测新样品的流变参数,并与实测数据对比,结果表明预测准确率达90%以上.

作 者:胡华 HU Hua 作者单位:厦门大学土木工程系,厦门,361005刊 名:水文地质工程地质 ISTIC PKU英文刊名:HYDROGEOLOGY & ENGINEERING GEOLOGY年,卷(期):34(2)分类号:P64关键词:淤泥质软土 粘粒含量 含水率 流变参数 BP神经网络

bp神经网络 篇5

BP神经网络在灌区需水量预测中的应用

随着塔里木河下游水量逐年减少的趋势,铁干里克灌区水资源危机显的`越来越严重.运用BP神经网络方法预测需水量,对灌区适时调整产业结构,保护生存和生态环境,促进区域社会经济和谐发展有重要意义.

作 者:陈小强 胡向红 袁铁柱 张建 CHEN Xiao-Qiang HU Xiang-Hong YUAN Tie-Zhu ZHANG Jian 作者单位:新疆农业大学,水利与土木学院,新疆,乌鲁木齐,830052刊 名:地下水英文刊名:UNDERGROUND WATER年,卷(期):31(6)分类号:P641.8关键词:铁干里克灌区 BP神经网络 需水量预测

bp神经网络 篇6

改进BP神经网络在冲压发动机性能预测中的应用

提出了一种应用改进BP人工神经网络进行冲压发动机性能预测的新方法.编制了仿真程序,并对几种算法的学习收敛速度进行了比较.仿真结果表明,模型预测的冲压发动机性能误差低于3%,较好地解决了工程实际问题.

作 者:陈世立 陈新民 Chen Shili Chen Xinmin 作者单位:中国运载火箭技术研究院研究发展中心,北京,100076刊 名:导弹与航天运载技术 ISTIC PKU英文刊名:MISSILES AND SPACE VEHICLES年,卷(期):2007“”(3)分类号:V430关键词:神经网络 BP算法 冲压发动机

BP人工神经网络的新型算法 篇7

BP人工神经网络实际上是通过梯度下降法来修正各层神经元之间的权值,使误差不断下降以达到期望的精度。从本质上讲,这种计算过程是一种迭代过程,迭代算法一般都与初值的选择密切相关,如初值选择的好,则收敛速度快,如初值选择不好,则收敛速度慢或根本不收敛。当采用梯度下降算法调整权值时,不可避免地存在陷入局部极小的问题。尽管很多文献都报道了各种各样的改进方法来加快收敛速度,如变学习率,加惯性项(也称动量项)等方法。然而,由于这些方法都由于迭代及优化的基本思想,不可能从根本上解决对初值的依赖性及局部极小问题。

2 BP网络结构及参数假设

考虑三层结构的BP网络,如图1所示。网络参数假设如下:1)样本数量:k个;2)输入节点:n个;3)隐层神经元:v个;4)输出层神经元:m个;5)输入向量:xp;6)隐层加权和向量:nethp;7)隐层输出向量:hp;8)输出层加权和向量:netvp;10)教师向量:tp。

其中:p=1,2,3,…,k。输入层与隐层、隐层与输出层的权矩阵分别为:

输入与隐层之间的权矩阵是v×n维的,可以是自由的矩阵,值取(-1,1)内的随机数,隐层与输出层之间的矩阵是m×v维的,是待求矩阵。

3 新算法

对k个输入样本,输出层输出向量的第i个分量的netvpi为:

中x泛指任一个神经元的净输入,y代表该神经元对其净输入为x时的实际输出

若输出层的功能函数为:f(x)=1/(1+e-x)。

解得x=ln[y/(1-y)],所以

则方程组(1)可表示如下:

5)式中右边是已知量,左边的ωi是待求的量,hi右下式求得:

其中:设隐层的功能函数为sigmoid函数,即f[1/(1+e-x)]。

根据线性方程组的基本定理知:(5)有解的充要条件是[h]k×v的秩与增广矩阵[h,b]k(v+1)秩相等。另一个方面,如[h]k×v的各行线性无关,则v

4 算法分析

该算法抛弃了传统的优化思想,对给定的模式样本对,通过选择网络的结构,任意选定一组自由权,然后直接解一组线性方程组求得另一组待求权。新算法中教师值只须回传一次。这样,使得原来的样本模式对之间的映射问题由传统的对目标函数进行优化迭代的算法转变成对线性方程组的求解问题,因而大大简化了计算,提高了运算速度。本文采用高斯列主元消元法求解线性方程组,它的时间单复杂度是多项式阶。

5 传统BP算法

为了比较传统BP算法与新算法,在次对传统BP算法做一介绍。

1)任选一组初始权[W],[Wf]。

2)计算总误差:

3)如e<ε(ε为给定的精度)。则停止计算机,输出权值。

4)如e>ε,则按梯度下降法修正权值,再返回2。

梯度下降法如下:

其中η是学习速率。

6 MATLAB仿真

新算法可以求解像编码、异或等许多问题,这里仅多XOR问题进行计算机仿真比较(n=2、v=4、m=1),为了使传统方法收敛,取η=1.8,ε=10-6,初始化权值为与新算法靠近的一组值,表1。

7 结论

本文抛弃了传统BP算法中采用的梯度下降优化思想,采用新颖的通过初试化自由权来求解待求权的思想,使得复杂的非线性模式映射(联想)问题转化为一组线性方程的求解为题,从而大大加快并简化了计算过程,其时间复杂度为多项式阶。从根本上克服了传统BP算法的收敛速度慢、易陷入局部极小问题,计算机仿真结果表明该算法是十分有效的。

参考文献

[1]张立明.人工神经网络的模型及其应用[M].复旦大学出版社,1992

[2]王洪远,史国栋.人工神经网络技术及其应用[M].北京:中国石化出版社,2002.

[3]王旭,王宏,王文辉.人工神经元网络原理与应用[M].沈阳:东北大学出版社,2000.

[4]李广琼,蒋加伏.关于对BP神经网络算法改进的研究[J].常德师范学院学报:自然科学版,2003,15(2):31-34.

[5]张代远.一种全新的人工神经网络算法[J].计算技术与自动化,2000,19(2):35-38.

bp神经网络 篇8

关键词:BP网络 旋转触探仪 神经网络预测 训练函数

中图分类号:TP751文献标识码:A 文章编号:1674-098X(2014)12(c)-0004-02

随着计算机技术的快速发展,人工神经网络在数学﹑物理﹑工程﹑岩土等行业得到广泛应用。Matlab软件提供了神经网络的工具箱,提供了多种神经网络库函数,为数值计算提供了计算平台。岩土工程问题的复杂多变性,在运用神经网络分析和预测时,其结果往往受各种因素的影响,关键还是网络结构的构建和训练函数的选取。因此,应该对网络的训练函数的选取进行深入研究。

该文在大量的旋转触探试验的基础上,结合土的物理性质指标含水量、干密度,土的强度参数粘聚力和内摩擦角,以及埋深情况,建立土的旋转触探模型,建立BP神经网络,采用不同的训练函数对网络进行训练。

1 BP神经网络

BP网络是一种单向传播的多层前向网络,具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层。在人工神经网络的实际应用中,BP网络广泛应用于函数逼近、模式识别/分类、数据压缩等,人工神经网络模型采用BP网络或它的变化形式,它是前馈网络的核心部分,体现了人工神经网络最精华的部分。BP算法的基本思想[1]是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。

2 BP神经网络的训练函数

BP神经网络中的训练算法函数是根据BP网络格式的输入、期望输出,由函数newff 建立网络对象,对生成的BP 网络进行计算,修正权值和阈值,最终达到BP网络的设计性能,从而完成网络的训练和预测。BP 神经网络几种主要的训练函数及其特点分述如下[2]。

(1)traingda、trainrp函数和trainlm函数。

traingda函数是最基本的自适应学习步长函数,其最大优点可以根据误差容限的性能要求调节函数,弥补标准BP算法中的步长选择不当问题。trainrp函数可以消除偏导数的大小权值带来的影响,只考虑导数符号引来的权更新方向,忽略导数大小带来的影响。trainlm函数。该函数学习速度较快,但占用内存很大,从理论上来说适用于中等规模的网络。

(2)共轭梯度算法:traincgf函数、traincgp函数、traincgb 函数、trainscg函数。

共轭梯度算法是介于最速下降法与牛顿法之间的一个方法,其利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点。上述四种共轭梯度算法前三种收敛速度比梯度下降快很多,其需要线性搜索,对于不同的问题会产生不同的收敛速度。而第四种不需要线性搜索,其需要较多的迭代次数,但是每次迭代所需计算量很小。

(3)Newton算法:trainbfg函数、trainoss函数。

trainbfg 算法的迭代次数较少,由于每步迭代都要Hessian矩阵,其每次迭代计算量和存储量都很大,适合小型网络。Trainoss为一步割线算法。它是介于共轭梯度法和拟牛顿算法的方法,其需要的存储和计算量都比trainbfg要小,比共轭梯度法略大。

上述各算法由于采用的训练函数不同,其计算速度、收敛速度及其迭代次数不尽相同,并且对内存要求依研究对象的复杂程度、训练集大小、网络的大小及误差容限的要求等存在差异。在运用BP网络解决相关工程性问题时,需要选择合理的训练函数。

3 网络训练函数的选取

该文着重研究BP神经网络的训练函数的选择,所用数据样本均来自于实践中用新型微机控制旋转触探仪采集到的数据,经过归一化处理建立了网络的样本数据库,根据训练函数的特点选择其隐含层数为2。文选择非线性函数为Sigmoid,输出层的传递函数为Purelin,可以用来模拟任何的函数(必须连续有界)。

采用不同的训练函数对网络的性能也有影响,比如收敛速度等等,下面采用不同的训练函数(trainbr、traingd、traingdm、traingdx、traincgf、trainlm、trainb)对网络进行训练,并观察其结果,如表1所示。

对比可知,trainlm训练函数的收敛效果较好,trainbr、trainlm训练函数得到的绝对误差相对较小,其它训练函数的收敛性能较差。trainbr训练样本的绝对误差比trainlm训练函数的绝对误差小,且分布比较均匀,但是trainbr训练函数的收敛精度却相对较差,这可能是出现局部最优化的问题,通过测试样本的进一步分析如表2所示,trainbr训练以后的网络对于预测样本的预测精度较低,偏差较大,进一步验证了该训练函数在训练过程中训练收敛精度相对较差,并出现局部最优化[3]。

综合考虑,可以看到trainlm训练函数具有训练速度快且预测精度高的特点,所以本文中选用trainlm作为训练函数。

4 结论

该文以Matlab神经网络的作为工具,基于触探模型作为研究对象,对不同的训练函数进行了仿真比较,结果表明采用不同的训练函数其存在明显的差异。综合考虑干密度误差,含水量误差,干密度误差(样本顺序),含水量误差(样本顺序)以及迭代次数和性能误差等因素,选用trainlm作为训练函数,trainlm函数由于其训练速度较快且计算精度较高而显现出一定的优势。

参考文献

[1]葛哲学,孙志强.神经网络理论与MATLAB R2007实现[M].电子工业出版社,2007.

[2]施彦,韩立群,廉小亲.神经网络设计方法与实例分析[M].北京邮电大学出版社,2009.

bp神经网络 篇9

基于BP网络的降雨-水位预报模型应用研究

阐述了洪水预报BP网络模型的构造和数据处理方法,在对BP网络的学习率和动量项的自适应调整算法进行改进的基础上,建立了降雨-水位预报BP网络模型,实现对洪水水位的直接预报;同时还提出以点雨量作为模型输入的.建模方案,有效地改善了BP网络的模拟性能.

作 者:占玉林 王长耀 牛铮 ZHAN Yu-Lin WANG Chang-Yao NIU Zheng 作者单位:中国科学院遥感应用研究所遥感科学国家重点实验室,北京,100101刊 名:中国科学院研究生院学报 ISTIC PKU英文刊名:JOURNAL OF THE GRADUATE SCHOOL OF THE CHINESE ACADEMY OF SCIENCES年,卷(期):24(1)分类号:P4关键词:BP网络 降雨-水位模拟 点雨量

bp神经网络 篇10

现有的.火成岩分类方案中,存在某些岩类在分类图解上没有空间、岩类因控制参数少,投影重叠以及含有玻璃质导致一些岩石分类错误等问题.提出了以火成岩的SiO2、TiO2、A12O3、FeO等11个氧化物成分为变量,利用人工神经网络BP网络建立火成岩岩石化学分类模型.研究表明该分类方法是合理的、可行的,取得了良好的判别分类效果,对46个检验样本的判对率达97.8%.

作 者:刘凤英 张楠 郎伟民 LIU Feng-Ying ZHANG Nan LANG Wei-Min 作者单位:刘凤英,郎伟民,LIU Feng-Ying,LANG Wei-Min(吉林省第六地质调查所,吉林,延吉,133001)

张楠,ZHANG Nan(新疆维吾尔自治区地质矿产局第十地质大队,新疆,和田,848000)

bp神经网络 篇11

摘要:评价是培训质量保障体系的重要组成部分,是培训管理的有效手段。文中通过设计评价指标体系,确定网络层数和节点数,选取传递函数和误差,学习训练等环节,建立了基于BP神经网络的边疆高校培训评价模型。该模型有效规避了评价过程中的主观因素,简化了传统教师培训评价复杂的操作过程,可操作性强,使用范围广泛,也可为其他领域的评价提供参考。

关键词:BP神经网络;指标体系;边疆高校;培训评价

G434;TP183

引言

随着我国高校布局结构不断调整,边疆高校依托对外教育合作交流特色纷纷组建获批,并在新建高校中占有一定的份额,成为高等教育的重要组成部分。这些高校均已建立起来富有边疆特色的培训体系。以黑河学院为例,明确了“一体两翼”的培训基本方针,并构建了“四位一体”的培训体系。[1]体系运行三年来,共组织培训1427人次,其中对俄特色培训563人次,随着培训工作的深入开展,培训监督与保障体系的不断完善,如何对培训效果进行科学评价成为亟需解决的重要课题。

国内外有关培训评价模型的研究始20世纪50年代,并已形成丰硕的成果。诸如Kirkpatrick的四层次评价模型;Kaufman的五层次评价模型;Warr.P、Bird.M和Rackham.N设计的CIRO评价模型;Stufflebeam.D的CIPP评价模型;Phillips的ROI五层次评价模型;基于AHP的评价模型;模糊综合评价模型等。[2]由于培训效果影响因素众多,而评价模型本身是一个多变量非线性模糊问题,这些评价评价方法在某种程度上取得了一定的成效,但均受主观因素影响严重,无法满足管理部门准确把握培训效果的要求。因此,建立一套科学、实用、适合自身实际的培训指标体系和评价模型成为摆在师资管理部门面前的迫切解决的问题。

一、BP神经网络的概述

BP(Back Propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络模型,由Rinehart和McClelland为首的研究小组于1986年提出。该模型无需事前揭示描述输入-输出映射关系的函数表达式,凭借学习训练和存贮数据蕴含的大量映射关系,运用最速下降法,在误差平方和最小的情况下,通过反向传播获取神经网络的权值和阈值。完成训练的BP神经网络能够对类似的样本输入信息,自行输出误差最小的经非线形转换的信息。BP神经网络模型的拓扑结构由輸入层(input)、隐层(hide layer)和输出层(output layer)构成。输入层与输出层只有一层,隐层可以多层。该模型能够实现系统评价定量化,剔除了主观性强的模糊描述,操作上也可利用MATLAB软件实现。

二、构建边疆高校培训指标体系

培训指标体系是建立评价模型的前提条件。培训的不同阶段具有不同的评价内容和评价目的,主要体现在培训前决策性评价、培训中形成性评价和培训后效果性评价。本研究采用SEM模型确定评价指标,指标体系由组织层面和受训层面两部分构成,组织层面包括培训管理、培训条件、培训内容等,受训层面包括受训者态度、意识、认知、能力和应用等,并运用AHP算法确定权重。评价指标体系如表1所示。

三、BP神经网络评价模型的建立

确定了网络层数、每层节点数、传递函数、初始权系数、学习算法等内容也就确定了BP神经网络。虽然确定上述内容可遵循一定的原则,但更多的是靠经验和试凑。下面给出BP神经网络模型的具体步骤:

(一)确定BP网络的结构

1.输入层节点的确定。根据边疆高校培训指标体系构造三层BP 神经网络,以第三级评价指标为参照标准,共有37个神经网络的输入层节点。

2.输出层节点的确定。建立评价模型的最终目的是能够得到一个准确反映培训效果的量化值,即BP 神经网络模型的输出值。设定输出层的节点数为1个,其取值介于0、1之间。

3.隐含层节点的确定。关于隐层数及其节点数的选择比较复杂,基本原则是:在能正确反映输入输出关系的基础上,选用较少的隐层节点数,使网络结构尽量简单。现采用试凑法,利用公式 确定隐含层节点的个数[3],其中 为隐含层节点数, 为输入层节点数, 为输出层节点数, 为常数。最终确定隐含层最佳节点数为9个。

(二)确定传递函数

神经元选用sigmoid型传递函数。样本集的BP网络训练显示,tansig型传递函数比logsig型函数的误差小,因此,隐层传递函数改用tansig型函数。输出层传递函数选用purelin函数。

(三)权值和阈值初始设置。

合理设置 BP 神经网络连接权值和阈值的初始范围,将有效缩短网络的学习时间。权值和阈值的范围通常设置为[-1,1]或 ( 为网络输入层节点数)。[4]经过测试,现将权值和阈值的初始范围设为[-1,1]。

(四)误差的选取

对于标准算法误差,每次修改权矩阵均未考虑修改后样本作用的输出误差是否减小的因素,这可能导致迭代次数增加。对于累计误差,增加样本数量又会导致误差值增大。均方误差MSE能够较好地克服上述两个缺陷,为此,均方误差算法较为合理。

其中, 为输出节点数, 为样本容量, 为网络期望输出值, 为网络实际输出值。

(五)学习算法的选择

文中选用LMBP 优化算法。该算法是传统学习算法的改进,具有可自适应调整最速下降法和高斯—牛顿法、误差可沿恶化方向搜索、收敛速度快、精确度高等优点。

(六)进行网络训练

取69个样本进行训练。由于对输入变量进行归一化处理,权值的可解释性会弱化。为此,文中输入变量不进行归一化,只对输出变量归一化。[5]同时考虑培训效果不能出现好与坏极端情况,并且还能为网络输出值预留波动范围,所以,归一化公式选取为endprint

目标输出值落在区间[0.05,0.95]内,可表征评价结果,若0.9≤y<0.95,则评价结果为优秀;若0.8≤y<0.9,则评价结果为良好;若 0.7≤y<0.8,則评价结果为合格;若 0.6≤y<0.7,则评价结果为基本合格;若0.05≤y<0.6,则评价结果为不合格。

(八)神经网络模型测试

取30个测试样本,经最终训练后的神经网络模型输出的结果与被调查教师自我评价结果的比对,误差较小,保持较好的一致性。具体如表2所示。

通过试验对比,充分说明该BP神经网络模型训练速度快,误差小,精度高,可以对边疆高校教师培训效果做出客观的评价。

结束语

基于BP神经网络的评价模型能够对边疆高校培训情况进行客观、准确的评价。通过设计评价指标体系,确定网络结构层数和节点数,选取高效的传递函数和误差,规避了评价过程中的主观因素,简化了传统教师培训评价复杂的操作过程。同时,该模型具有可操作性强,使用范围广泛等优点,也可为其他领域的评价提供参考。

参考文献:

[1]贯昌福,刘君. 关于边疆高校培训体系的建设与思考[J].黑河学院学报,2013(4):52-54.

[2]郭遂红,陈元骊.大学英语教师网络培训评价研究[J].外语电化教学,2014(158):69-74.

[3]Yam J Y F,Chow T W S.Feed forward networks training speed enhancement by optimal initialization of the synaptic co-efficients[J].IEEE Transactions on Neural Networks,2001,34(5):73-85.

[4] Jemei S,Hissel D,Pear M C,et al.On-board fuel cell power supply modeling on the basis of neural network methodology[J].Journal of Power Sources,2003,124( 2):479-486.

[5]Lee Hzhn-Ming,Chen Chih-Ming.Learning efficiency improvement of back-propagation algorithm by error saturationprevention method[J].Neurocomputing,2001,41(1 -4): 125-143.

作者简介:刘君(Liu Jun),男,1979年出生,黑龙江省黑河学院教师,讲师,硕士,研究方向为运筹学与控制论。吴晓莉(Wu Xiaoli),女,1965年出生, 黑龙江省黑河学院人事处处长,教授,硕士,研究方向为教育管理。

教学效果的BP神经网络评价 篇12

教师教学效果的审核评定是高校教学中的重要工作。传统的考核方法或者只是由学生填写调查表, 给教师划分等级, 进行定性描述, 或者是由督导组根据几堂课的听评给教师的课堂教学打出一个分值。无论是哪种方法都不能全面客观地对教学工作做出科学评定。而且传统的考核方法受主观因素影响较大, 学生在对教师的评判中常会加入多种因素, 各种因素之间的影响也各不相同, 仅以学生或仅凭督导团的评定来实施评判显然已不尽合理。因此, 建立一种能尽量排除各种主观因素的干扰, 同时又具有完善且稳定的评价体系的评定方法则成为必要和重要的研究课题。

本文构建一种教学效果评价体系, 即对教师的评价从“教学态度”、“教学内容”、“教授方法”、“课堂效果”四大方面分项进行, 无论是学生还是督导组均可据此评价体系给出相应评分。本文提出使用BP反向传播神经网络来构建一个稳定的评分系统, 各项评分指标为网络输入, 使用已训练完成的BP神经网络来模拟一个专家的打分经验, 由此输出一个终值。BP神经网络通常是指基于误差反向传播算法的多层前向神经网络, 由于BP网络的神经元采用的传递函数是Sigmoid型可微函数, 因而可以实现输入和输出间的任意非线性映射[1]。由于BP神经网络本身就是一种高度复杂的非线性动力系统的辨识模型, 并且BP神经网络具有逼近任意非线性函数的能力[2], 因此使用BP神经网络进行评价将使结果更具客观性, 以此来模拟一个稳定的评分系统亦将具备了现实实现基础。在本文提出的系统中, 系统将评价体系中各组评分的分值作为反向传播神经网络的输入, 使用BP网络运算后得出一个综合性的评分, 即整个过程好似系统模拟一个经验颇丰的专家进行打分。其后, 本文又通过数据测试验证了模型的评价结果与实际相符。

1 BP神经网络模型

BP (Back Propagation) 神经网络是基于误差反向传播的多层前向神经网络, 即权值和阈值的调节规则采用了误差反向传播算法, 这是一个有导师的神经元网络学习算法[2]。BP网络能学习和存储大量的输入输出模式映射关系, 而无需事前揭示描述这种映射关系的数学方程。该网络的学习规则是使用最速下降法, 通过反向传播来不断调整网络的权值和阈值, 使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层 (input) 、隐层 (hide layer) 和输出层 (output layer) 。其中的隐层可扩展为多层。只要在隐层中有足够数量的神经元, 就可使用这种网络来逼近任何一个函数[3]。一个典型的BP网络结构如图1所示。

由图1可见, 在多层网络中, 某一层的输出成为下一层的输入。对此操作的数学描述为:

这里, M是网络的层数, 第一层神经元从外部接收输入:a0=p, 最后一层神经元的输出则是网络的输出:a=aM。

BP网络的学习由正向传播和反向传播两部分组成, 其算法步骤如下[3]。

第一步:通过网络将输入向前传播

第二步:通过网络将敏感性反向传播

第三步:使用近似的最速下降法更新权值和偏置值

2 评价模型的构建

本文构建了一套评价体系, 使用一套客观标准进行量化表达, 且该体系适用于大多数学校的教学评价。评价项目中, 各项指标的取值范围为[0, 10]。多位专家将根据评价体系方案为每一位参评教师填表打分, 经过汇总后, 每一个教师的教学情况评分将和一个评价矩阵A对应。列向量x为各个项目指标, 行向量e为各位专家评出的各项指标分值。对列向量进行均值计算, 则得到各个教师的教学效果指标向量S。所得教学效果指标向量S即是神经网络的输入。评价体系方案设计如表1所示。

图2则为一个由6名专家给出的某位教师教学效果的评分矩阵。

对每一列求取算术平均值, 可得该教师的教学效果向量如下:

3 BP网络模型的设计与实现

使用BP神经网络可以构建稳定的评分系统。人为打分时由于主观因素的影响, 分值出入较大, 往往不能准确地反映实际情况, 为了避免对同一教师的教学评价出现较大反差, 构建一个稳定的BP神经网络系统即已成为实践发展过程中的一个必然要求。在系统实现过程中, 一位专家首先根据本文提出的评分系统给出各项成绩, 并将此成绩作为神经网络的输入值。其后, 这位专家再给出一个综合评分, 作为神经网络的样本, 即输出值, 以此即可对BP网络进行训练。训练后的神经网络就可以模拟该专家的打分经验, 由此构建形成一个稳定的评分系统。

根据BP神经网络模型的定理 (Kolmogrov定理) :给定任一连续函数f:[0, 1]n→Rn, f可以用一个三层前向神经网络来模拟实现。第一层, 即输入层, 有n个神经元;中间层, 神经元个数可由经验公式实验得出;第三层, 输出层有m个神经元。因此一个三层结构的、设有Sigmoid神经元, 并具有足够隐节点的BP神经网络则可以逼近任何一个连续函数。本系统采用有三层结构的BP神经网络, 其结构如图1所示。由于评价体系中有17个指标, 因此网络的输入层有17个输入。系统的输出层则确定为1个节点。隐层神经元个数将根据实验结果而确定为11个。隐层传递函数可使用“lognsig”对数传递函数实现, 输出层传递函数使用“pureline”纯线性传递函数实现。训练函数则使用“traingdm”动量梯度下降反向传播法对网络进行训练, 另外, 网络性能函数使用了默认的“mse”均方误差函数。MATLAB中的主要代码如下:

设有10位教师需要评分, 因而使用10组分数即17×10的矩阵作为10个教师的教学效果矩阵。教学效果矩阵即是神经网络的输入矩阵, 亦是训练样本, 矩阵的行向量为各项评价指标, 10个样本, 即10位教师的最终评价结果则作为目标样本来训练神经网络, 获取1×10矩阵为目标矩阵, 即10位教师的最终得分。实验中运用Matlab编程建立三层BP神经网络, 目标训练误差为0.1, 最大训练次数为3 000次。训练误差随训练次数的变化情况如图3所示, 神经网络经过909步迭代达到精度要求。对应输出与目标的误差如图4所示。

训练样本的输出与专家打分结果比较如表2所示。

由表2可以看出, 训练后的网络输出值与专家给出的终值之间的差异均在可接受的指标范围内, 因此采用BP神经网络可以构建稳定的评分系统。

4 结束语

在对教师教学效果的评价中存在着多种因素, 本文构建了一套较为合理的评价体系, 并且提出使用BP神经网络对专家评分进行模拟, 利用神经网络可避免打分过程中出现的宽严不定的情况。实验证明, BP神经网络可以构建稳定的评分系统, 并取得了良好的实验效果。

参考文献

[1]许东.吴铮.基于Matlab的系统分析与设计—神经网络[M].西安:西安电子科技大学出版社, 2003:18-19.

[2]胡守仁.神经网络导论[M].长沙:国防科技大学出版社, 1993:113-120.

[3]Martin T.Hagan, Howard B.demuth.神经网络设计[M].北京:机械工业出版社, 2002:227-255.

[4]郭齐胜.系统建模原理方法[M].长沙:国防科技大学出版社, 2003:172-173.

[5]袁剑.BP神经网络在学生综合考评中的应用[J].福建电脑, 2010 (6) .

[6]彭志树.尹雪莲.基于BP神经网络的教学质量评价模型[J].安徽建筑工业学院学报 (自然科学版) , 2009 (12) .

上一篇:产品营销活动策划书下一篇:物流部部长工作职责