数模往届bp神经网络_第1页
数模往届bp神经网络_第2页
数模往届bp神经网络_第3页
数模往届bp神经网络_第4页
数模往届bp神经网络_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BP神经网络算法简介穆学文西安电子科技大学12,7,131主讲人:穆学文单位:西安电子科技大学数学系Email:2012

西安电子科技大学数模培训主要内容穆学文西安电子科技大学12,7,132神经网络介绍BP误差反向传播神经网络BP神经网络的加速算法数值试验神经网络介绍穆学文西安电子科技大学12,7,133基本概念应用领域研究方向基本功能神经元基本模型典型的神经网络结构基本概念穆学文西安电子科技大学12,7,134人工神经网络ANN(ArtificialNeuralNetwork),或简称神经网络,是人们借助数学方法对人脑的神经网络进行抽象,并建立的简化模型。我们希望人工神经网络可以像人脑一样学习并完成特定的任务。T.Koholen的定义:“人工神经网络是由具有

适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物

体所作出的交互反应。”神经网络研究的发展穆学文西安电子科技大学12,7,135第一次热潮(40-60年代未)1943年,美国心理学家W.McCulloch和数学家W.Pitts在提出了一个简单的神经元模型,即MP模型。1958年,F.

Rosenblatt等研制出了感知机(Perceptron)。低潮(70-80年代初):1969年主要创始人Minsky从感知器的功能及局限性入手,在数学上进行了分析,证明了感知器不能实现XOR逻辑函数问题,也不能实现其它的谓词函数.。神经网络研究的发展(续)穆学文西安电子科技大学12,7,136第二次热潮1982年,美国物理学家J.J.Hopfield提出Hopfield模型,它是一个互联的非线性动力学网络他解决问题的方法是一种反复运算的动态过程,这是符号逻辑处理方法所不具备的性质.1987年首届国际ANN大会在圣地亚哥召开,国际ANN联合会成立,创办了多种ANN国际刊物。1990年12月,北京召开首届学术会议。神经网络模型的分类7穆学文西安电子科技大学12,7,13按照网络拓朴结构分类(神经元之间的连接方式) 层次型结构和互联型结构。层次型结构的神经网络将神经元按功能和顺序的不同分

为输入层、中间层(隐层)、输出层。输入层各神经元

负责接收来自外界的输入信息,并传给中间各隐层神经

元;隐层是神经网络的内部信息处理层,负责信息变换。根据需要可设计为一层或多层;最后一个隐层将信息传

递给输出层神经元经进一步处理后向外界输出信息处理

结果。在互连型网络结构中,任意两个节点之间都可能存在连接路径,因此可根据网络中节点的连接程度将互连型网络细分为三种:全互连型、局部互连型和稀疏连接型。神经网络模型的分类(续)8穆学文西安电子科技大学12,7,13按照网络信息流向分类:前馈型网络和反馈(递归)型网络。单纯前馈网络的结构与分层网络结构相同,前馈是因网络信息处理的方向是从输入层到各隐层再到输出层逐层进行而得名的。前馈型网络中前一层的输出是下一层的输入,信息的处理具有逐层传递进行的方向性,一般不存在反馈环路。因此这类网络很容易串联起来建立多层前馈网络。典型:多层感知器反馈型网络的结构与单层全互连结构网络相同。神经元的输出被反馈至同层或前层神经元,信号能够从正向和反向流通。因此,在反馈型网络中的所有节点都具有信息处理功能,而且每个节点既可以从外界接受输入,同时又可以向外界输出。典型:Hopfield网络神经网络模型的分类(续)9穆学文西安电子科技大学12,7,13按照训练规则(学习算法)分类: 监管的及非监管的。监管方式的训练规则需要“教师”告诉他们特定的输入应该作出怎样的输出。然后训练规则会调整所有需要的权重值(这在网络中是非常复杂的),而整个过程会重头开始直至数据可以被网络正确的分析出来。监管方式的训练模式包括有back-propagation及deltarule(单层的感知器)。非监管方式的规则无需教师,因为他们所产生的输出会被进一步评估。如:Hebb学习规则,竞争学习规则等应用领域10穆学文西安电子科技大学12,7,13现在,神经网络的应用领域非常广阔,并且涉及了多种学科,它不仅可以应用于工程、科学与数学领域,也可以应用于医学、商业、金融甚至是文学领域,吸引了来自不同专业的研究者的关注,比如:工程学,物理学,神经学,心理学,医学,数学,计算机科学,化学和和经济学。研究方向11穆学文西安电子科技大学12,7,13神经生物学、神经解剖学神经网络相关的数学领域的研究与发展神经网络应用的研究与发展神经网络硬件的研究与发展新型神经网络模型的研究基本功能12穆学文西安电子科技大学12,7,13分类与识别功能优化计算功能非线性映射功能神经元基本模型人工神经元模型13穆学文西安电子科技大学12,7,13模型由四个基本部分组成:(1)一组同突触权值相联系的突触,对突触输14穆学文西安电子科技大学12,7,13。因此,每个向量分神经元基本模型入的连续值是信号

x

˛

´

n·,1

的x

分量为

,jxj

=

1,

2,,

nT,即x

=x1

,x2

,,xn量

x

j

输入给第j个突触,并通过突触权值wj与神经元连接,即xj

用突触权值wj

相乘。神经元基本模型15穆学文西安电子科技大学12,7,13(2)求和装置,将叠加所有传播到加法器的信号,即每个输入与它相联系的突触权值相乘,然后再相加求和。包括加法器的输出在内的所有运算构成一个线性的组合器。神经元基本模型(3)激活函数f

(-,可以是线性或非线性函数。由神经网络所需解决的特定问题决定选择某类激活函数。我们给出三类最典型的激励函数。线性函数。硬限幅函数。S形函数,或sigmoid函数。116穆学文西安电子科技大学12,7,13y

=

f

(net)

=1+

e-netS形函数,或sigmoid函数17穆学文西安电子科技大学12,7,13神经元基本模型18穆学文西安电子科技大学12,7,13(4)阀值或偏置。神经网络的适用性19穆学文西安电子科技大学12,7,13一般而言,ANN与经典计算方法相比并非优越,只有当常规

方法解决不了或效果不佳时ANN方法才能显示出其优越性。尤其对问题的机理不甚了解或不能用数学模型表示的系统,如故障诊断、特征提取和预测等问题,ANN往往是最有利的工具。另一方面,ANN对处理大量原始数据而不能用规则或公式描述的问题,表现出极大的灵活性和自适应性。BP误差反向传播神经网络20穆学文西安电子科技大学12,7,13BP网络介绍BP网络结构标准BP算法BP网络的缺陷算法改进穆学文西BP网络介绍Rumelhart,McClelland于1985年提出了BP网络的误差反向后传BP

(Back

Propagation)学习算法BP神经网络(ErrorBackPropagationNetwork)是目前应用最为广泛和成功的神经网络之一。误差反向传播算法(BP算法)的提出成功地解决了求解非线性连续函数的多层前馈神经网络权重调整问题。它是一种多层网络的“逆推”学习算法。DavidRumelhartJ.

McClelland12,7,1321安电子科技大学BP网络结构22穆学文西安电子科技大学12,7,13BP网络的标准学习算法-算法思想学习的类型:有导师学习核心思想:将输出误差以某种形式通过隐层向输入层逐层反传学习的过程:信号的正向传播误差的反向传播将误差分摊给各层的所有单元---各层单元的误差信号修正各单元权值23穆学文西安电子科技大学12,7,13BP网络的标准学习算法24穆学文西安电子科技大学12,7,13学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。学习的本质:对各连接权值的动态调整学习规则:权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。BP网络的标准学习算法-学习过程正向传播:输入样本---输入层---各隐层---输出层判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(教师信号)不符误差反传误差以某种形式在各层表示--修正各层单元的权值网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止25穆学文西安电子科技大学12,7,13网络的标准学习算法网络结构输入层n个神经元,隐含层p个神经元,输出层q个神经元变量定义26穆学文西安电子科技大学12,7,13输入向量;隐含层输入向量;隐含层输出向量;输出层输入向量;输出层输出向量;期望输出向量;x

=

(x1

,

x

2

,

,

x

nhi

=

(h

i1

,

hi2

,

,

hipho

=

(ho1

,

ho2

,

,

hopyi

=

(yi1

,

yi2

,

,

yiqyo

=

(yo1

,

yo2

,

,

yoqd

o

=

(d1

,

d

2

,

,

d

qBP网络的标准学习算法27穆学文西安电子科技大学12,7,13输入层与中间层的连接权值:隐含层与输出层的连接权值:隐含层各神经元的阈值:输出层各神经元的阈值:激活函数:wihwho样本数据个数:

k

=1,

2,mf

(

)bhbo2o=1(d

(k

)

-

yo

(k

))2o

oq误差函数:e

=1

BP网络的标准学习算法第一步,网络初始化给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值e和最大学习次数M。第二步,随机选取第k

个输入样本及对应期望输出x

(k)

=

(x1

(k),

x2

(k),,

xn

(k)do

(k

)

=

(d1

(k

),

d2

(k

),,

dq

(k

)28穆学文西安电子科技大学12,7,13BP网络的标准学习算法第三步,计算隐含层各神经元的输入和输出29穆学文西安电子科技大学12,7,13nhih

(k

)

=

wih

xi

(k

)

-

bhi

=1hoh

(k

)

=

f

(hih

(k

))h

=

1,

2,

,

ph

=1,

2,,

ppo

=1,

2,

qyio

(k

)

=

who

hoh

(k

)

-boh=1yoo

(k

)

=

f

(

yio

(k

))o

=1,

2,qBP网络的标准学习算法ho

o

ho=

¶e

¶e

¶yio¶w

¶yi

¶wpohhoho¶yi

(k)=

h

=

ho

(k

)¶w¶w¶(

who

hoh

(k

)

-bo

)230穆学文西安电子科技大学12,7,1312qo

oo

o

ooo¶((d

(k)-yo

(k)))¶e=

o=1

=-(d

(k)-yo

(k))yo¢(k)¶yi¶yi=-(do(k)-yoo

(k))f¢(yio(k))

-do(k)第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数do

(k

)。BP网络的标准学习算法

¶e

=

¶e

¶yio=

-do

(k

)hoh

(k)¶who

¶yio

¶whoh31穆学文西安电子科技大学12,7,13iihih

¶e

=

¶e

¶hih

(k

)¶wih¶hih

(k

)

¶wihn¶hi

(k)=

i=1

=

x(k

)¶w¶w¶(

wih

xi

(k

)

-

bh

)第五步,利用隐含层到输出层的连接权值、输出层的do

(k

)和隐含层的输出计算误差函数对隐含层各神经元的偏导数dh

(k

)。穆学文西安电子科技大学12,7,1332BP网络的标准学习算法222121212qoqo

oqp¶((d

(k)

-

yo

(k

))

)¶ho

(k

)=

o=1

h

¶e

¶hih

(k

)¶hoh

(k

)¶hih

(k

)¶((d

(k

)

-

f(

yi

(k

)))

)¶ho

(k

)=

o=1

h

¶hoh

(k

)¶hih

(k)¶(((d

(k

)

-

f(w ho

(k)

-b

)

))¶ho

(k

)=

o=1

h=1

h

¶hoh

(k

)¶hih

(k

)

o

o

ho

h

oqqo=1o=1¶ho

(k

)=

-(do

(k

)

-

yoo

(k

))

f

¢(

yio

(k

))who

h

¶hih

(k

)=

-(do

(k

)who)

f

¢(hih

(k

))

-dh

(k

)BP网络的标准学习算法33穆学文西安电子科技大学12,7,13ho

ohhoDw

(k

)

=

-m

¶e

=

md

(k

)ho (k

)¶wwN

+1

=

wNho

ho+hdo

(k

)hoh

(k

)第六步,利用输出层各神经元的do

(k

)和隐

含层各神经元的输出来修正连接权值who

(k

)。BP网络的标准学习算法第七步,利用隐含层各神经元的dh

(k

)和输入层各神经元的输入修正连接权。h34穆学文西安电子科技大学12,7,13ihihNihihh

iwN+1

¶e

¶e

¶hi

(k)Dw

(k)

=-m=-m=dh

(k)xi

(k)¶w¶hih

(k)

¶whi=w+hd

(k)x

(k)BP网络的标准学习算法第八步,计算全局误差第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对

应的期望输出,返回到第三步,进入下一轮学

习。235穆学文西安电子科技大学12,7,131qmo(k

))2mE

=(do

(k

)

-

y

k

=1

o

=1标准BP算法36穆学文西安电子科技大学12,7,13网络的权值沿函数负梯度方向进行修正:ikjiikj=

-h

¶E

Dw¶w其中,0

<hi

<1为与第i

层相关的学习率,也称为步长。标准BP算法37穆学文西安电子科技大学12,7,13第层神经元:BP算法的权值调整公式为:=

Ni+1

h=1hi

(dk

-

ok

ok

(1-

oko(i-1)jDwijkhi

oik

(1-

oik

)

d(i+1)hw(i+1)kh

o(i-1)ji

+1

层为输出层i

+1

层为隐层idd=

Ni+1ikik

ik(i+1)h

(i+1)kh

h=1

(dk

-

okok

(1-

oko

(

)1-

owi

+1

层为输出层i

+1

层为隐层wijk

(t

+1

=

wijk

(t

+

Dwijk

=

wijk

+hdik

o(i-1)jBP网络的缺陷38穆学文西安电子科技大学12,7,13收敛速度慢局部极小点不稳定性算法改进39穆学文西安电子科技大学12,7,13增加动量项(减少震荡,与前次迭代组合)可变学习速度的反向传播算法学习率的自适应调节引入陡度因子(转移函数)BP神经网络的加速算法40穆学文西安电子科技大学12,7,13共轭梯度法LM算法RPROP算法B&B算法共轭梯度法41穆学文西安电子科技大学12,7,13误差的反向传播和网络权值更新是两个过程,并且这两个过程是分开的,而且本质上是相互独立的。这就允许了更为高级的权值更新算法而保持误差反向传播过程。共轭梯度方法只是改变了标准BP算法中权值更新算法,而对误差反向传播过程没有影响。共轭梯度法共轭梯度法迭代公式如下:s

(0)

-g

(0)=

-

¶E

(0)¶ww(t

+1

=

w(t

+a

(t

s

(ts

(t

=

-g

(t

+

b

(t s

(t

-1g

(t

)=

¶E

(t

)¶wT42穆学文西安电子科技大学12,7,13g

(t

)T

g

(t

)b

(t

)=g

(t

-1)

g

(t

-1)LM算法LM算法是应用于训练BP网络问题的牛顿算法的一个简单版本。LM算法的权值更新公式为:e

=

d

-

o143穆学文西安电子科技大学12,7,132NnNn¶e1

¶e1

¶e1…

¶w

¶w

¶wN

¶e2

¶e2¶e2

…¶wN

…J

=

¶w1

¶w2…

¶e

¶e¶eNn

¶w1

¶w2¶wN

W

(t

+1)=

W

(t

)-

J

(t

)T-1J

(t

)+

m

(t

)I

J

(t

)T

e

(t

)RPROP算法RPROP算法是一种简单而高效的训练算法。

RPROP算法克服了雅克比矩阵计算量大所带来性,来确定权值更新的方向。RPROP的迭代算法如下:¶E的负面影响。在计算过程中,只考虑¶W

(t

)的正负ikj44穆学文西安电子科技大学12,7,13¶E(t

)>

0¶E(t

)<

0¶wikjwikj(t

+1)=

wikj

(t

)+

Dwikj

(t

)-Dikj

(t

),

如果

¶wDwikj

(t

)=+Dikj

(t

),

如果0,

其他B&B算法它的基本迭代格式为:由下式给出:a45穆学文西安电子科技大学12,7,13ikj

ikjkkw

(t

+1)

=

w

-

1

g其中gk

是梯度向量,放大系数aka=

k

-1

k

-1kk

-1

k

-1stysts其中sk

-1

=xk

-xk

-1,yk

-1

=gk

-gk

-1BP神经网络学习算法的MATLAB实现46穆学文西安电子科技大学12,7,13MATLAB中BP神经网络的重要函数和基本功能函数名功

能newff()生成一个前馈BP网络tansig()双曲正切S型(Tan-Sigmoid)传输函数logsig()对数S型(Log-Sigmoid)传输函数traingd()梯度下降BP训练函数BP神经网络学习算法的MATLAB实现47穆学文西安电子科技大学12,7,13MATLAB中BP神经网络的重要函数和基本功能newff(

)功能:建立一个前向BP网络格式:net=newff(PR,[S1

S2...SN1],{TF1TF2...TFN1},BTF,BLF,PF)说明:net为创建的新BP神经网络;PR为网络输入取向量取值范围的矩阵;[S1

S2…SNl]表示网络隐含层和输出层神经元的个数;{TFl,TF2,…

TFN1}表示网络隐含层和输出层的传输函数,默认为‘tansig’;BTF表示网络的训练函数,默认为‘trainlm’;BLF表示网络的权值学习函数,默认为‘learngdm’;PF表示性能数,默认为‘mse’。BP神经网络学习算法的MATLAB实现MATLAB中BP神经网络的重要函数和基本功能tansig()功能正切sigmoid激活函数格式a=tansig(n)说明双曲正切Sigmoid函数把神经元的输入范围从(-∞,+∞)映射到(-1,1)。它是可导函数,适用于BP训练的神经元。logsig()功能对数Sigmoid激活函数格式a=logsig(N)说明对数Sigmoid函数把神经元的输入范围从(-∞,+∞)映射到(0,1)。它是可导函数,适用于BP训练的神经元。48穆学文西安电子科技大学12,7,13BP神经网络实际应用149穆学文西安电子科技大学12,7,13例1,下表为某药品的销售情况,现构建一个如下的三层BP神经网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为5,隐含层的激活函数为tansig;输出层结点数为1个,输出层的激活函数为logsig,并利用此网络对药品的销售量进行预测,预测方法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销售量,如用1、2、3月的销售量为输入预测第4个月的销售量,用

2、3、4月的销售量为输入预测第5个月的销售量.如此反复直至满足预测精度要求为止。月份123456销量1339212526001900361282月份789101112销量9150977150020461556%以每三个月的销售量经归一化处理后作为输入P=[0.5152

0.8173 1.0000

;50穆学文西安电子科技大学12,7,130.81731.00000.7308;1.00000.73080.1390;0.73080.13900.1087;0.13900.10870.3520;0.10870.35200.0000;]';%以第四个月的销售量归一化处理后作为目标向量T=[0.7308

0.13900.1087

0.3520

0.0000

0.3761];%创建一个BP神经网络,每一个输入向量的取值范围为[0

,1],隐含层有5个神经%元,输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为%logsig,训练函数为梯度下降函数,即标准学习算法net=newff([01;0

1;0

1],[5,1],{'tansig','logsig'},'traingd');net.trainParam.epochs=15000;net.trainParam.goal=0.01;%设置学习速率为0.1LP.lr=0.1;net=train(net,P,T);BP神经网络实际应用1BP网络应用于药品预测对比图由对比图可以看出预测效果与实际存在一定误差,此误差可以通过增加运行步数和提高预设误差精度业进一步缩小BP神经网络实际应用151穆学文西安电子科技大学12,7,13李一平(河海大学环境科学与工程学院).《太湖生态系统的人工神经网络模拟研究》,环境科学与技术,2004年第二期构造了具有3层节点的人工神经网络模型,将太湖2001年5~12月全湖共26个采样点的实测值作为学习样本,一共有26×8=208组数据。从这些数据中分别随机抽取1/4的数据各52组作为检验样本和测试样本,其余的

104组(占50%)数据作为训练样本。每个样本均含有12个输入因子,分别是风速、风向、水温、pH、DO、高锰酸钾指数、浊度、TN、TP、叶绿素a、透明度、BOD5。以浮游植物作为输出因子。用2002年8月的各点的浮游植物数据进行预测比较,52穆学文西安电子科技大学12,7,13BP神经网络实际应用253穆学文西安电子科技大学12,7,13“异或”问题连续函数拟合问题3-bit

Parity

问题54穆学文西安电子科技大学12,7,13BP神经网络实际应用3“异或”问题55穆学文西安电子科技大学12,7,13“异或”(XOR)问题是典型的非线性划分问题。它的训练输入和期望输出如下X1X2d1000011101110连续函数拟合问题56穆学文西安电子科技大学12,7,13一个神经网络最强大的用处之一是在函数逼近上。它可以用在诸如被控对象的模型辨识中,即将过程看成一个黑箱子,通过测量其输入/输出特性,然后利用所得实际过程的输入/输出数据训练一个神经网络,使其输出对输入的响应特性具有与被辨识过程相同的外部特性。3-bit

Parity

问题57穆学文西安电子科技大学12,7,133-bitParity问题被认为是“异或”问题的三位形式。这个问题描绘了三个二进制输入得到一个二进制输出的过程。如果输入中1的个数是奇数个,则输出是1。反之,输出为0。3-bitParity问题的训练输入和期望输出如下:3-bit

Parity

问题58穆学文西安电子科技大学12,7,13X1X2X3d100000011010101101001101011001111BP神经网络的特点59穆学文西安电子科技大学12,7,13非线性映射能力能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。泛化能力当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。容错能力输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。穆学文

西安电子科技大学

12,7,13

60BP神经网络的特点非线性映射能力能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。泛化能力当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。容错能力输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。一些重点问题的讨论61穆学文西安电子科技大学12,7,13样本数据神经网络拓扑结构的确定神经网络的训练网络的初始连接权值网络模型的性能和泛化能力合理网络模型的确定1.1

收集和整理分组采用BP神经网络方法建模的首要和前提条件是有足够多典型性好和精度高的样本。而且,为监控训练(学习)过程使之不发生“过拟合”和评价建立的网络模型的性能和泛化能力,必须将收集到的数据随机分成训练样本、检验样本(10%以上)和测试样本(10%以上)3部分。此外,数据分组时还应尽可能考虑样本模式间的平衡。62穆学文西安电子科技大学12,7,131.样本数据1.2

输入/输出变量的确定及其数据的预处理一般地,BP网络的输入变量即为待分析系统的内生变量(影响因子或自变量)数,一般根据专业知识确定。若输入变量较多,一般可通过主成份分析方法压减输入变量,也可根据剔除某一变量引起的系统误差与原系统误差的比值的大小来压减输入变量。输出变量即为系统待分析的外生变量(系统性能指标或因变量),可以是一个,也可以是多个。一般将一个具有多个输出的网络模型转化为多个具有一个输出的网络模型效果会更好,训练也更方便。63穆学文西安电子科技大学12,7,131.样本数据由于BP神经网络的隐层一般采用Sigmoid转换函数,为提高训练速度和灵敏性以及有效避开Sigmoid函数的饱和区,一般要求输入数据的值在0~1之间。因此,要对输入数据进行预处理。一般要求对不同变量分别进行预处理,也可以对类似性质的变量进行统一的预处理。如果输出层节点也采用Sigmoid转换函数,输出变量也必须作相应的预处理,否则,输出变量也可以不做预处理。预处理的方法有多种多样,各文献采用的公式也不尽相同。但必须注意的是,预处理的数据训练完成后,网络输出的结果要进行反变换才能得到实际值。再者,为保证建立的模型具有一定的外推能力,最好使数据预处理后的值在0.2~0.8之间。64穆学文西安电子科技大学12,7,131.样本数据2.1

隐层数一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向。Hornik等早已证明:若输入层和输出层采用线性转换函数,隐层采用Sigmoid转换函数,则含一个隐层的MLP网络能够以任意精度逼近任何有理函数。显然,这是一个存在性结论。在设计BP网络时可参考这一点,应优先考虑3层BP网络(即有1个隐层)。一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。对于没有隐层的神经网络模型,实际上就是一个线性或非线性(取决于输出层采用线性或非线性转换函数型式)回归模型。因此,一般认为,应将不含隐层的网络模型归入回归分析中,技术已很成熟,没有必要在神经网络理论中再讨论之。65穆学文西安电子科技大学12,7,132.神经网络拓扑结构的确定在BP网络中,隐层节点数的选择非常重要,它不仅对建立的神经网络模型的性能影响很大,而且是训练时出现“过拟合”的直接原因,但是目前理论上还没有一种科学的和普遍的确定方法。目前多数文献中提出的确定隐层节点数的计算公式都是针对训练样本任意多的情况,而且多数是针对最不利的情况,一般工程实践中很难满足,不宜采用。事实上,各种计算公式得到的隐层节点数有时相差几倍甚至上百倍。为尽可能避免训练时出现“过拟合”现象,保证足够高的网络性能和泛化能力,确定隐层节点数的最基本原则是:在满足精度要求的前提下取尽可能紧凑的结构,即取尽可能少的隐层节点数。研究表明,隐层节点数不仅与输入/输出层的节点数有关,更与需解决的问题的复杂程度和转换函数的型式以及样本数据的特性等因素有关。66穆学文西安电子科技大学12,7,132.2

隐层节点数在确定隐层节点数时必须满足下列条件:隐层节点数必须小于N-1(其中N为训练样本数),否则,网络模型的系统误差与训练样本的特性无关而趋于零,即建立的网络模型没有泛化能力,也没有任何实用价值。同理可推得:输入层的节点数(变量数)必须小于N-1。训练样本数必须多于网络模型的连接权数,一般为2~10倍,否则, 样本必须分成几部分并采用“轮流训练”的方法才可能得到可靠的 神经网络模型。67穆学文西安电子科技大学12,7,132.2

隐层节点数总之,若隐层节点数太少,网络可能根本不能训练或网络性能很差;若隐层节点数太多,虽然可使网络的系统误差减小,但一方面使网络训

练时间延长,另一方面,训练容易陷入局部极小点而得不到最优点,也

是训练时出现“过拟合”的内在原因。因此,合理隐层节点数应在综合

考虑网络结构复杂程度和误差大小的情况下用节点删除法和扩张法确定。68穆学文西安电子科技大学12,7,132.2

隐层节点数3.1

训练BP网络的训练就是通过应用误差反传原理不断调整网络权值使网络模型输出值与已知的训练样本输出值之间的误差平方和达到最小或小于某一期望值。虽然理论上早已经证明:具有1个隐层(采用Sigmoid转换函数)的BP网络可实现对任意函数的任意逼近。但遗憾的是,迄今为止还没有构造性结论,即在给定有限个(训练)样本的情况下,如何设计一个合理的BP网络模型并通过向所给的有限个样本的学习(训练)来满意地逼近样本所蕴含的规律(函数关系,不仅仅是使训练样本的误差达到很小)的问题,目前在很大程度上还需要依靠经验知识和设计者的经验。因此,通过训练样本的学习(训练)建立合理的BP神经网络模型的过程,在国外被称为“艺术创造的过程”,是一个复杂而又十分烦琐和困难的过程。69穆学文西安电子科技大学12,7,133.

神经网络的训练由于BP网络采用误差反传算法,其实质是一个无约束的非线性最优化计算过程,在网络结构较大时不仅计算时间长,而且很容易限入局部极小点而得不到最优结果。目前虽已有改进BP法、遗传算法(GA)和模拟退火算法等多种优化方法用于BP网络的训练(这些方法从原理上讲可通过调整某些参数求得全局极小点),但在应用中,这些参数的调整往往因问题不同而异,较难求得全局极小点。这些方法中应用最广的是增加了冲量(动量)项的改进BP算法。70穆学文西安电子科技大学12,7,133.1

训练学习率影响系统学习过程的稳定性。大的学习率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超出某个误差的极小值呈不规则跳跃而不收敛;但过小的学习率导致学习时间过长,不过能保证收敛于某个极小值。所以,一般倾向选取较小的学习率以保证学习过程的收敛性(稳定性),通常在0.01~0.8之间。增加冲量项的目的是为了避免网络训练陷于较浅的局部极小点。理论上其值大小应与权值修正量的大小有关,但实际应用中一般取常量。通常在0~1之间,而且一般比学习率要大。71穆学文西安电子科技大学12,7,133.2

学习率和冲量系数BP算法决定了误差函数一般存在(很)多个局部极小点,不同的网络初始权值直接决定了BP算法收敛于哪个局部极小点或是全局极小点。因此,要求计算程序(建议采用标准通用软件,如Statsoft公司出品的StatisticaNeuralNetworks软件和Matlab软件)必须能够自由改变网络初始连接权值。由于Sigm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论