文档库 最新最全的文档下载
当前位置:文档库 › 神经网络的两种结构优化算法研究

神经网络的两种结构优化算法研究

神经网络的两种结构优化算法研究
神经网络的两种结构优化算法研究

文章编号:1002 0411(2006)06 0700 05

神经网络的两种结构优化算法研究

杨慧中,王伟娜,丁 锋

(江南大学控制科学与工程研究中心,江苏无锡 214122)

摘 要:提出了一种基于权值拟熵的 剪枝算法与权值敏感度相结合的新方法,在 剪枝算法中将权值拟熵作为惩罚项加入目标函数中,使多层前向神经网络在学习过程中自动约束权值分布,并以权值敏感度作为简化标准,避免了单纯依赖权值大小剪枝的随机性.同时,又针对剪枝算法在优化多输入多输出网络过程中计算量大、效率不高的问题,提出了一种在级联!相关(cascade corre l ation,CC)算法的基础上从适当的网络结构开始对网络进行构建的快速 构造算法.仿真结果表明这种快速构造算法在收敛速度、运行效率乃至泛化性能上都更胜一筹.*

关键词:神经网络结构优化;剪枝算法;权值拟熵;权值敏感度;快速构造算法;泛化性能

中图分类号:T P183 文献标识码:A

Two Structure Opti m ization A lgorith m s for N eural N et works

YANG H ui zhong,WANG W ei na,D I N G Feng

(R esearch C e n ter of C on t rol Science and E ng i n ee ring,Sou thern Yang tze Un i versit y,W uxi214122,Ch i na) Ab stract:B ased on pseudo entropy of we i ghts,a new m e t hod is proposed to integ ra te pruning a l gor it hm w it h sensiti v ity we i ghts.T he prun i ng algor i th m i n troduces the pseudo entropy o f we i ghts as a pena lt y ter m i nto t he no r m al ob jecti ve function,and the d i str i bution of we i ghts is auto m aticall y constra i ned by a mu ltilay er feed fo r wa rd neura l ne t work duri ng the tra i n i ng process.The we ight sensitiv it y is served as t he si m plifi cation cr iter i a o f pruning to avo id t he prun i ng random i c ity caused by on l y us i ng t he we i ghts.M eanwh ile,for the prob le m s of heavy co m puta tion burden and l ow effic i ency o f prun i ng algor it h m in opti m izi ng the m ulti i nput and mu lti output ne t w orks,a fast constructi ve algo r it h m is put forwa rd,wh ich i s based on t he Cascade Co rre lati on(CC)a l gor it hm and construc ts the new neura l ne t work fro m a proper net w ork structure.T he s i m u l ation resu lts sho w t hat t h is fast constructi ve a l go rith m is a be tter cho ice in ter m s o f convergence rate,com putationa l efficiency and even gene ra liza tion perfor m ance.

K ey words:neu ra l net wo rk structure opti m ization;prun i ng algorith m;pseudo entropy o f we i ghts;w e i ght sensi tivity;fast constructi ve a l go rith m;genera li za ti on perfor m ance

1 引言(Introduction)

人工神经网络以其较强的非线性映射能力和自学习能力而得到广泛的应用.对于一个特定的问题而言,选择适当的网络结构以确保较好的泛化能力是神经网络得以应用的关键.一般认为,当网络的自由度较大时,更容易产生过拟合现象,在保证能完成学习任务的条件下,保持较小的网络结构将有助于提高网络的泛化性能.

剪枝算法是一种避免以上问题的直观有效的方法,它先从一个足够大的网络开始,待其训练收敛后减去冗余权值,并重新训练和测试网络,直至得到能满足精度的最小的网络结构.剪枝算法一般可分为两大类:惩罚项法[1,2]和敏感度分析法[3,4].本文首先在比较两种剪枝方法优缺点的基础上提出一种基于权值拟熵的剪枝算法,将权值拟熵作为惩罚项对训练中权值的分布进行控制,待训练结束后以各权值的敏感度作为简化标准,从而达到优化网络结构的目的.

在剪枝算法中,为了保证算法最终得到满意的效果,初始网络一般选定一个比较大的结构,然后根据各权值或节点的敏感度逐步减小网络结构,所以

第35卷第6期2006年12月 信息与控制

Infor m a tion and Contro l

V o.l35,N o.6

Dec.,2006

*

收稿日期:2005-07-11

基金项目:国家自然科学基金资助项目(60574051)

在找到合适的网络结构之前,计算量就会消耗在过大的网络结构上,对于输入输出维数较大的网络而言,这种消耗尤其明显.因此针对剪枝算法在优化多输入多输出网络过程中计算量大、效率不高的问题,本文在CC算法[5]的基础上提出一种从合适的网络结构开始学习的快速构造算法,仿真结果证明这种算法具有效率更高和收敛速度更快的特性,并且由该算法构造的网络,其泛化性能也较剪枝算法有一定程度的提高.

2 基于权值拟熵的神经网络剪枝算法(P runi n g algorit h m of neural net works based on t he pseudo entropy of weights)

2.1 网络的权值拟熵

将n个输入、k个隐节点、m个输出的三层前馈网络记为n k m结构.由信息论中熵函数的定义可以将网络的权值拟熵G定义为[1,5]:

G=G I1+G O2(1)

其中:G I=-?k i

1=1?n

j1=1

p I i

1

j

1

l n p I i

1

j

1

,G O=-?m l

1=1

?k

i1=1

p O l

1

i

1

#

ln p O l

1i1

,p I i j和p O li分别表示网络输入输出权值的拟概率:

p I i j=

W I2i j

?k

i

=1

?n

j

=1

W I2i

0j0

,p O li=

W O2li

?m

l

=1

?k

i

=1

W O l

0i0

其中W I i j表示输入层第j个节点到隐层第i个节点的连接权,称为输入层权值;W O li表示隐层第i个节点到输出层第l个节点之间的连接权,称为输出层权值,j=1,?,n;i=1,?,k;l=1,?,m.

由熵函数定义[6]可知,熵函数是介于0到ln N 之间的值,其中N表示熵函数中的变量个数.由此可见网络的权值拟熵也是非负的,并且当两层都只有一个权值不为0而其余都为0时,G达到最小;当各层权值分别均匀分布时,G达到最大,即:

0%G%ln(nk)+ln(m k)(2) 2.2 基于权值拟熵的剪枝算法

由以上分析可以看出,将网络的权值拟熵作为惩罚函数可以控制前馈网络在训练中的权值分布:当权值分布很集中时,函数值较小,反之则函数值较大.即目标函数E可以定义为:

E=?P p=1E p+G(3)其中, ?P p=1E p=12?P p=1?m l=1(d p l-y p l)2(4) p代表样本个数,p=1,2,?,P,d l和y l分别表示网

络的目标值与输出值,y l=?k i=1W O li O i,O i= sig(?n j=1W I i j x j).

采用最速下降法对网络参数进行寻优,权值调整按式(5)进行:

W O li(k+1)=W O li(k)- ?P p=1 E p W O

li

+

G

W O

li

(5)同样,

W I i j(k+1)=W I i j(k)- ?P p=1 E p W I

i j

+

G

W I i j

(6)其中:

E p

W O li

=-(d pi-y pi)O i,

G

W O li

=

G O

W O li

=-?m l

1

=1

?k

i

1

=1

(1

+ln p O l

1i1

)

p O l

1i1

W O li

.

p O l

1i1

W li=

2

W O li?m l

=1

?k

i

=1

W O2l

0i0

-W O3li

(?m l

0=1

?k

i0=1

W O2l

0i0

)2

,l1=l,i1=i

-2

W O2l

1i1

W O li

(?

m

l0=1

?k

i0=1

W O2l

0i0

)2

,其它

(7) 同样:

E p

W I i j=-[

?m

l=1

(d pi-y pi)W O li]O i(1-O i)x j

G

W I i j

=

G I

W I i j

=-?k i

1=1

?n

j1=1

(1+ln p I i

1j1

)

p I i

1j1

W I i j

p I i

1j1

W I i j

=

2

W I i j?k i

=1

?n

j

=1

W I2i

0j0

-W I3i j

(?k i

=1

?n

j

=1

W I2i

0j0

)2

,i1=i,j1=j

-2

W I2i

1j1

W I i j

(?k i

0=1

?n

j0=1

W I2i

j

)2

,其它

(8)

当采用以上的权值修正法对网络进行训练时,由于惩罚项的作用使得网络权值逐步趋于集中分布.但此时仍然不应该随便删掉那些权值小而灵敏度高的连接权,否则将会对网络的输出值产生较大影响.这里采用Karni n敏感度分析[3,4],进一步对连接权值进行灵敏度分析.将网络权值的敏感度定义为:

701

6期 杨慧中等:神经网络的两种结构优化算法研究

S &-E (W f )-E (W i

)W f -W

i

W f

(9)

其中:W f

和W i

分别表示网络的终止权值和初始权值,E (W f

)和E (W i

)为对应权值下的网络误差,若将此误差表示为对权值的偏导,可以得到:

E (W =W f

)-E (W =W i

)=

?

W f

W i

E

d W (10)

则权值W 的敏感度表示为离散变量求和的形式:

S =-

?

N

n=1

E W W (n)W

f

W f -W

i (11)

其中:n 表示网络学习过程中的迭代次数.在BP 算法中上式可以进一步表示为:

S =

?

N

n =1

( W (n))

2

W

f

(W f -W i

)

(12)

利用K arn i n 敏感度分析法可以判断网络中敏感度低而权值较小的连接权,剪枝的结果对网络最终的输出值影响不大,从而避免了重复训练的过程. 需要注意的是,网络训练结束后,以敏感度为依据所保留的输入输出权值会出现不均衡现象,为平衡网络权值,将简化后输入输出权值中出现的所有隐层节点作为网络最终保留的节点.

3 快速构造算法研究(Study on fast con structive algorit h m )

由上一节的剪枝算法分析可以很清楚地看出,为了保证算法最终得到满意的效果,初始网络一般选定一个比较大的结构,然后根据各权值或节点的敏感度逐步减小网络结构,所以在找到适宜的网络结构之前,计算量就会消耗在过大的网络结构上,对于输入输出维数较大的网络而言,这种消耗尤其明显.

本节分析了另一种结构优化算法:构造算法.构造算法又称自底向上算法,它是从相对较小的结构开始,然后逐步增加网络的隐节点数,从而增强网络的性能.构造算法中有一种非常著名的算法,是由

Fahl m an 于1990年提出的级联!相关算法[6]

(Cas cade C orre lati o n a l g orithm,CC ).

3.1 常规CC 算法

CC 算法无需事先猜测网络的结构与大小,它会自动构造一个小型的网络,在任一时刻,仅有一层权值被调整,无需反传误差信息,而且CC 算法是一种 贪心 算法,每新增一个隐节点都尽量使网络误差减小,所以CC 算法的收敛速度明显快于标准BP 算

法.

常规CC 算法的主要步骤如下:

1)初始化:初始网络不含任何隐节点,只有输入输出节点的直接连接.通过极小化准则函数(4)来训练这个初始网络.

2)训练新的隐节点:将输入与新的隐节点相连,但此时并不把新节点的输出与网络的输出节点相连接.调整与新节点连接的权值,使下式所表示的新节点的输出与网络输出误差间的协方差绝对值最大.

C =

?

m

l=1

C l

(13)

其中:C l =

?

P

p =1

(y p -y -)(e pl -e -

l ),e p l =d pl -y p l 表示候

选隐节点未加入前,第l 个输出节点在第p 个样本训练时的误差,e -l =

?P

p =1

e

p l

/P 表示第l 个输出节点的

全局平均误差,y p 表示待加入的候选隐节点在第p 个样本时的输出值,y -

=?P

p =1

y

p

/P 表示待加入的候选

隐节点全局平均输出值.

3)冻结并连接新节点:保持新的隐节点输入权值不变,将新的隐节点的输出与网络的输出节点相连,此时,新的隐节点才被完全加入网络中. 4)重新调整网络的输出权值:将新的隐节点加入神经网络后,重新调整网络的输出权值,使得式(13)取最小.

5)检验:若当前的网络已经产生满意结果,则停止训练;否则回到步骤2).3.2 快速构造算法

通过对构造算法的了解可以看出,相对于剪枝算法而言,它具有以下优点:

首先,构造算法的初始网络比较容易选取,当对问题没有任何先验知识时,一般选取初始网络不含任何隐节点,只有输入和输出的直接相连,但对于剪枝算法来说,初始网络的选取则因事而异,到底多大的网络结构才足够大,没有一个统一规定.若初始网络选择不合适,则直接影响到剪枝算法的最终结果. 其次,在构造算法中,网络结构是逐步增大的,因此首先判断结构较小的网络是否满足期望的条件,计算量也较小.而剪枝算法则相反,首先选定一个较大的网络结构进行计算,然后逐步减小网络结构,在找到合适的网络结构之前,计算工作量很大程

702信 息 与 控 制35卷

度上都消耗在初始的剪枝过程中.

此外,由于神经网络的结构构造不是唯一的,即针对同一问题,可能有多种结构的网络都能满足要求.显然,利用构造算法得到的网络结构可能会比剪枝算法得到的网络结构要小.而小的网络结构比大的网络结构计算工作量要小得多.因此,这种结构的减小不仅是在存储空间上,而且还体现在运算速度上.

对于常规的CC 算法来说,网络是从仅有输出层和输入层的最简网络开始学习的,并逐一自动地增加隐层节点,直到网络达到精度要求为止,这就意味着在网络学习的初期需要花费大量的过程和时间,这样必定增加了计算量,同时降低了网络的收敛速度.针对这一问题,本节提出将初始网络结构由常规的输入输出节点直接相连改为从合适的初始结构开始学习.

文[7~9]曾对如何构造合适的网络结构提出过一系列经验公式,考虑到构造算法要求有较小的初始网络,本节提出将CC 算法初始网络的隐节点数N h0保守估计为:

N h0=f ix (

N in +N ou t )

(14)

其中fix (#)表示函数取整,N in 和N out 分别是网络的输入输出节点数.

4 仿真实例(Si m ulation cases)

以识别26个大写英文字母为例.每一个字母是由7(5的点阵组成,点阵中的元素为1或0,1代表黑色像素,0代表白色像素,则网络的输入样本为35维的列向量;对应的输出是仅有对应位为1、其它位为0的26维列向量.

为提高网络的鲁棒性和泛化性,将测试样本在原有训练样本的基础上加入噪声成分,所加噪声分为两类:

(1)添加性噪声:将白色像素(0)变为黑色像素(1).例如改变训练样本中的前1、2、3、4个像素. (2)有缺陷噪声:将黑色像素(1)变为白色像素(0).例如将训练样本中的前1、2、3、4个像素做改变.4.1 基于权值拟熵的剪枝算法仿真验证

选择初始训练网络具有35 15 26的结构,初始权值从[-0.1,0.1]之间的均匀分布中随机产生,取学习率 =0.01,使用带权值拟熵惩罚项的目标函数(3)做网络训练1000周期.采用敏感度分析法剪

去网络中的冗余权值后,网络最终保留12个隐节

点.若根据具有最大输出值的节点来判断被辨识的字母,即如果第一个输出节点具有最大输出值,那么表示被辨识的字母为A ,以此类推,如果第26个输出节点具有最大值,那么表示被识别的字母为Z .使用带添加性噪声和有缺陷噪声的测试样本分别对剪枝前后两个网络的泛化性能做测试,测试结果如图1所示.

图1 剪枝前后网络对两种带噪样本的辨识情况的比较

F i g .1 D iscr i m ina tion o f t w o no isy samp l es w ith the

ne t w ork before and after pruning

将熵函数作为惩罚项加入目标函数中,使网络在学习过程中自动简化结构,并引入权值敏感度作

为简化指标,综合考虑输入输出权值间的平衡,从而有效避免了单纯依赖权值大小决定简化过程时出现的盲目性,并且网络简化后不需要重新训练,提高了算法效率.分析和仿真结果证明,此方法物理意义清晰,简单可行,并具一般性,是一种比较理想的剪枝方法.

703

6期 杨慧中等:神经网络的两种结构优化算法研究

4.2 快速构造算法的实例验证

由式(14)所得的初始网络的隐节点数N h0=7,首先使用标准BP 算法对初始网络进行训练,仍然设置学习率 =0.01.100周期以后,再应用CC 算法逐一增加隐层节点,与常规CC 算法相比,网络的训练误差如图2所示.由图2可见,快速CC 算法的收敛速度明显比常规的CC 算法要快

.

图2 常规CC 算法与快速构造算法的训练误差F i g .2 T ra i n i ng errors of t he conventi ona l CC algor it h m

and fast constructi ve a l go rith m

使用相同的测试样本对网络的泛化能力进行测试,与先前得到的剪枝网络的泛化性能做比较,得到图3.从图3可以看出,由快速构造算法得到的网络虽然与剪枝网络具有相同的隐节点数,但前者的泛化性能却优于后者.究其原因,主要是在应用CC 算法对网络进行构造的过程中,各隐节点工作趋于在饱和区间,因此网络的隐层起到了吸收噪声的过滤作用,从而提高了网络的鲁棒性[10]

.本文的仿真实

例验证了上述结论

.

图3 应用剪枝算法与快速构造算法的网络模型

对两种带噪样本的辨识情况的对比F i g .3 D iscr i m ina tion o f t w o no isy samp l es w ith the net wo rk m ode ls usi ng prun i ng algor it h m and

fast constructi ve a l gor ith m

5 结语(Conclusion)

本文首先采用自顶向下的简化方法,利用剪枝算法结合熵函数对冗余网络进行修剪,从而减小网络自由度,以达到优化网络结构从而提高网络泛化

能力的目的;随后针对剪枝算法在优化多输入多输出网络过程中计算量大、效率不高的问题,在CC 算法的基础上提出一种从合适的网络结构开始学习的快速构造算法,仿真结果证明这种算法具有效率更高和收敛速度更快的特性,并且由该算法构造的网络其泛化性能也比剪枝算法有一定程度提高.

参 考 文 献(R eferences)

[1] 鲍晓红,贾英民.用神经网络辨识非线性系统中的网络结构

选择[J ].控制理论与应用,1997,14(4):489~494.[2]

E rdogan S S,Ng G S,Ch an P K H.M eas ure m ent criteri a f or neural net w ork prun i ng [A].Proceed i ngs of the 1996IEEE Re gi on 10TENCON D i g i tal S i gnal Process i ng App li cati on s C on f er ence [C ].P i scata w ay ,NJ ,USA :I EEE,1996.83~89.[3]

Karn i n l E D.A si m p l e p rocedure f or prun i ng back propagation trai ned neu ral net w orks [J].IEEE T ran s acti on s on N eural N et w ork s ,1990,1(2):239~242.[4]

B abriH A,Kot A C,T an N T,et al .Dyna m ic prun i ng al go rit hm s for i m p rovi ng gen era li zation of neu ral n et w ork s [A].Pro ceed i ngs of t h e 19971st International

C on feren ce on Infor m ati on ,C o mm un i cati on s and S i gnal P rocess i ng [C ].P i scata w ay ,NJ ,USA :IEEE,1997.679~683.

(下转第710页)

好的抗干扰能力和鲁棒特性.

参 考 文 献(R eferences)

[1] M i ck l eM C,Zhu J J.Bank to t u rn ro ll yaw p itch au t op il ot des i gn

u si ng dyna m i c nonli near i nvers i on and PD eigenval ue assi gnm en t

[A].Proceed i ngs of t h eAm eri can Con trolC on f eren ce[C].P i s

cata w ay,N J,USA:IEEE,2000.1359~1364.

[2]L i u Y,W u X F,Zhu J J,et a l.Om n i directi on alm ob ile robot

con troller design by tra j ectory li neariz ati on[A].Proceed i ngs of

the Am erican C ontrol C onference[C].P i scata w ay,N J,USA:

I EEE,2003.3423~3428.

[3]Zhu J J,B anker B D,H allC E.X 33as cent fli gh t con trol des i gn

by trajectory li n eari zation-A si ngular perturbati on approac h

[A].A I AA Gu i dance,Navi gati on,and Con trol C on f eren ce and

Exh i b i t[C].Rest on,USA:A I AA,2000.1~19.

[4]B evacqua T,Best E,H u i zenga A,et al.I mp roved traj ect ory li

n eari zation fli ght controll er for reusab l e l aun c h veh i cles[A].

42nd A I AA Aeros pace S ci en ces M eeti ng and Exh i b i t[C].

Res t on,USA:A I AA,2004.1~16.

[5]Zhu J J,M i ck leM C.Syn t hesis of ti m e varyi ng b andw idt h filters

b ased on all po l e LT I prototypes[A].P roceed i ngs of t he1998

A m erican Control Confere n ce[C].Evanston,I L,USA:A m erican

Auto m atic Control Coun ci,l1998.2889~2894.[6]C hen W H,B al an ce D J,G a w throp P J,e t al.Non li near d i stur

ban ce observer f or robotic m an i pu l ators[J].I EEE Transacti ons

on Indu stri al E lectron i cs,2000,47(4):932~938.

[7]Chen W H.Non li near d ist u rbance observer enh anced dyn a m ic

i nversion con trol of m i ss il es[J].J ournal of Gu idance,C ontro,l

and Dyn a m ics,2003,26(1):161~166.

[8]Bar m is h B R,Lei m ann G.On ulti m at e boundedness contro l of

uncert a i n s yste m s i n the ab s en ce of m atch i ng ass um pti on[J].

I EEE Transacti ons on Au to m ati c Contro,l1982,27(1):153~

158.

[9]Kah lilH K.Nonli near Syste m s[M].N e w Jersey,U SA:Pren

tice H al,l2002.

[10]郑大钟.线性系统理论[M].北京:清华大学出版社,2002.

作者简介

朱 亮(1979-),男,博士生.研究领域为非线性系统轨迹线性化控制.

姜长生(1942-),男,硕士,教授,博士生导师.研究领域为非线性鲁棒自适应控制.

方 炜(1977-),男,博士生.研究领域为非线性系统预测控制.

(上接第704页)

[5] Fah l m an S E,Leb iere C.Th e cascade correlati on learn i ng arc h i

tect u re[A].Advances i n N eural I n for m ati on Processi ng Syste m2

[C].San Fran ci sco,CA,U SA:M organ Kauf m ann Publi shers

Inc.,1990.524~532.

[6]Cover T M,Tho m as J A.E l e m en ts of Infor m ati on Th eory[M].

Pek i ng:T si nghu aU n i versit y Press,2003.12~15.

[7]高大启.有教师的线性基本函数前向三层神经网络结构研究

[J].计算机学报,1998,21(1):80~86.

[8]李玉鉴.前馈神经网络中隐层神经元数目的一种直接估计方

法[J].计算机学报,1999,22(1):1204~1208.

[9]戴葵.神经网络设计[M].北京:机械工业出版社,2002.

[10]H a m a m ot o M,Ka m r u zz aman J,Kum agaiY,et a l.Generalizati on

ab ilit y of artifi cial neu ral n et w ork u si ng Fah l m an and Leb iere s

l earn i ng al gori thm[J].I E I CE Transacti ons on Funda m en tal s of

E lectron ics,Co mmun icati ons and Co m puter S ci ences,1993,

E76 A(2):242~247.

作者简介

杨慧中(1955-),女,教授,博士生导师.研究领域为过程建模和优化控制及其相关技术.

王伟娜(1980-),女,硕士生.研究领域为神经网络的泛化性能.

丁 锋(1963-),男,教授.研究领域为系统辨识和过程建模.

粒子群算法和蚁群算法的结合及其在组合优化中的应用

2007年第2期空间电子技术收稿日期:2006-04-03;收修改稿日期:2006-04-30 粒子群算法和蚁群算法的结合及其在 组合优化中的应用 张长春苏昕易克初 (西安电子科技大学综合业务网国家重点实验室,西安710071) 摘要文章首次提出了一种用于求解组合优化问题的PAAA算法。该算法有效地 结合了粒子群算法和蚁群算法的优点,先利用粒子群算法的随机性、快速性、全局性得到初始信息素分布(即粗搜索),再利用蚁群算法的并行性、正反馈性、求解精度高等优点求精确解(即细搜索)。将文中提出的算法用于经典TSP问题的求解,仿真结果表明PAAA算法兼有两种算法的优点,同时抛弃了各自的缺点。该算法在时间效率上优于蚁群算法,在求精效率上优于粒子群算法,是综合了两种算法长处的一种新的启发式算法,达到时间性能和优化性能上的双赢,获得了非常好的效果。 主题词蚁群算法粒子群算法旅行商问题PAAA 0引言 近年来对生物启发式计算(Bio-inspiredComputing)的研究,越来越引起众多学者的关注和兴 趣,产生了神经网络、 遗传算法、模拟退火、粒子群算法、蚁群算法等许多用于解决复杂优化问题的新方法。然而,面对各种问题的特殊性和复杂性,每种算法都表现出了自身的优势和缺陷,都存在时间性能和优化性能不能兼得的矛盾。粒子群优化(ParticleSwarmOptimization,PSO)算法[1,2]是由Eberhart和Kennedy于1995年提出的一种全局优化算法,该算法源于对鸟群觅食行为的模拟。它的优势在于:(1)算法简洁,可调参数少,易于实现;(2)随机初始化种群,具有较强的全局搜索能力,类似于遗传算法;(3)利用评价函数衡量个体的优劣程度,搜索速度快;(4)具有较强的可扩展性。其缺点是:不能充分利用系统中的反馈信息,求解组合优化问题的能力不强。 蚁群算法[3,4](AntColonyOptimization,ACO)是由意大利学者M.Dorigo,V.Maniezzo和A.Colorni 于20世纪90年代初提出的一种新型的智能优化算法,已经被应用到TSP问题[5,6]、二次分配问题、工件调度问题、图着色问题等许多经典组合优化问题中,取得了很好的效果。它的优点是:(1)采用一种正反馈机制,通过信息素的不断更新,达到最终收敛于最优路径上的目的;(2)是一种分布式的优化方法,易于并行实现;(3)是一种全局优化的方法,不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题;(4)适合于求解离散优化问题;(5)鲁棒性强。但由于在算法的初始阶段信息素匮乏,所以求解速度较慢。 文章将粒子群算法和蚁群算法有机地结合,提出了PAAA算法。它利用粒子群算法的较强的全局搜索能力生成信息素分布,再利用蚁群算法的正反馈机制求问题的精确解,汲取各自的优势,以达空间电子技术SPACEELECTRONICTECHNOLOGY76

改进的BP神经网络算法(C语言源码)

#include "stdio.h" #include "stdlib.h" #include "time.h" #include "math.h" /********************************************* inpoints 为输入神经元个数,可改变 outpoints为输出神经元个数 defaultpoints为隐层神经元个数 datagrough为样本数据个数 ********************************************** ******以下数据定义可以修改*****/ #define A 0 #define a 1 #define b 1 #define c 1 #define ALFA 0.85 #define BETA 0.2 //学习率0~1 #define Total 20000 #define inpoints 9 #define outpoints 5 #define defaultpoints 28 #define datagrough 44 #define forecastdata 4 /**********定义所需变量********/ double InpointData[datagrough][inpoints],OutpointData[datagrough][outpoints]; /* 输入输出数据*/ double InpointData_MAX[inpoints],InpointData_MIN[inpoints]; /* 每个因素最大数据*/ double OutpointData_MAX[outpoints],OutpointData_MIN[outpoints]; /* 每个因素最小数据*/ double w[defaultpoints][inpoints],limen[defaultpoints],v[outpoints][defaultpoints]; /* 连接权值、阈值*/ double dlta_w[defaultpoints][inpoints],dlta_limen[defaultpoints],dlta_v[outpoints][defaultpoints]; /* 连接权、阈值修正值*/ double defaultOutpoint[defaultpoints],Outpoint_dp[outpoints],Outpoint_ep[datagrough]; /**************************读数据文件******************************/ void ReadData() { FILE *fp1,*fp2; int i,j; if((fp1=fopen("D:\\data\\训练输入.txt","r"))==NULL) {

BP神经网络算法步骤

B P神经网络算法步骤 SANY GROUP system office room 【SANYUA16H-

传统的BP 算法简述 BP 算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。具体步骤如下: (1)初始化,随机给定各连接权[w],[v]及阀值θi ,rt 。 (2)由给定的输入输出模式对计算隐层、输出层各单元输出 (3)计算新的连接权及阀值,计算公式如下: (4)选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。 第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e ,给定计 算精度值 和最大学习次数M 。 第二步,随机选取第k 个输入样本及对应期望输出 ()12()(),(),,()q k d k d k d k =o d ()12()(),(),,()n k x k x k x k =x 第三步,计算隐含层各神经元的输入和输出 第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数()o k a δ 第五步,利用隐含层到输出层的连接权值、输出层的()o k δ和隐含层的输出计算误差函数对隐含层各神经元的偏导数()h k δ 第六步,利用输出层各神经元的()o k δ和隐含层各神经元的输出来修正连接权值()ho w k 第七步,利用隐含层各神经元的()h k δ和输入层各神经元的输入修正连接权。 第八步,计算全局误差211 1(()())2q m o o k o E d k y k m ===-∑∑ ε

神经网络学习算法的过拟合问题及解决方法

神经网络学习算法的过拟合问题及解决方法 李俭川 秦国军 温熙森 胡茑庆 (国防科技大学机电工程与自动化学院 长沙,410073) 摘要 针对反向传播学习算法及其改进算法中出现的过拟合问题,探讨了三种解决方法:调整法、提前停止法和隐层节点自生成法,并用实例对三种方法进行了验证和比较。其中,调整法和提前停 止法针对一个较大的网络可以解决过拟合问题,而隐层节点自生成法的提出既能避免过拟合问 题,又能获得最少神经元网络结构。这三种方法有效地解决了在神经网络学习过程中的过拟合问 题,提高了网络的适应性。它们不仅适合于函数逼近,而且可以推广到其他网络结构等应用领域。关键词 神经网络 计算机 BP 算法 过拟合 均方误差 自生成 故障诊断 中图分类号 T H 165.3神经网络已经在模式分类、机器视觉、机器听觉、智能计算、自动控制、故障诊断、信息处理、地震勘探、通信、雷达和声纳等领域有着十分广泛的应用前景,并随着计算机技术和信号处理技术的发展而发展。应用神经网络必须解决两个问题:模型和算法。现有的神经网络模型已达上百种[1] ,应用最多的是Hopfield 神经网络、多层感知器、自组织神经网络、概率神经网络以及它们的改进型。自Rumellhart D E,H inton 和Williams 提出误差反向传播算法(即BP 算法),解决了神经网络在引入隐层节点后的学习(或训练)问题后,已经发展了许多的改进学习算法[1],如快速下降法、共轭梯度法、一维搜索法及Lev enberg -Mar quardt 法等,其收敛速度很快,能满足实时性要求,但也存在着一些问题。1 学习算法及其过拟合问题 BP 算法及其改进算法是目前应用最广泛的学习算法,尽管不能证明这类算法能象单层感知器一样收敛,但是对许多问题的解决是成功的[2]。实际上,BP 算法是把一组样本的输入输出问题,变为一个非线性优化问题,它使用了优化技术中最普通的一种梯度下降法,用迭代运算求解权值并相应于学习记忆问题,加入隐层节点可使优化问题的可调参数增加,这样可得到更精确的解。要应用学习算法对网络进行训练,首先需要确定网络的结构,即输入、输出层神经元数目和隐层数及其神经元数目。 如何适宜地选取隐含层神经元的数目还没有确定的规律可以指导,但是,隐含层神经元数目是否合适对整个网络是否能够正常工作具有重要的甚至是决定性的意义。隐含层神经元数第22卷第4期2002年12月 振动、测试与诊断Jo ur nal of Vibr ation,M easur em ent &Diag no sis V o l.22No.4 D ec.2002 国家自然科学基金资助项目(编号:59775025)。 收稿日期:2001-07-09;修改稿收到日期:2001-12-03。

蚁群优化神经网络

二、 function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alp ha,Beta,Rho,Q) %%========================================================== ===== %% ACATSP.m %% Ant Colony Algorithm for Traveling Salesman Problem %%------------------------------------------------------------------------- %% 主要符号说明 %% C n个城市的坐标,n×2的矩阵 %% NC_max 最大迭代次数 %% m 蚂蚁个数 %% Alpha 表征信息素重要程度的参数 %% Beta 表征启发式因子重要程度的参数 %% Rho 信息素蒸发系数 %% Q 信息素增加强度系数 %% R_best 各代最佳路线 %% L_best 各代最佳路线的长度 %%========================================================== ====== C=[1304,2312;3639,1315;4177,2244;3712,1399;3488,1535;3326,1556; 3238 1229;4196 1004;4312 790;4386 570;3007 1970;2562 1756; 2788 1491;2381 1676;1332 695;3715 1678;3918 2179;4061 2370; 3780 2212;3676 2578;4029 2838;4263 2931;3429 1908;3507 2367; 3394 2643;3439 3201;2935 3240;3140 3550;2545 2357;2778 2826; 2370 2975]; m=31; Alpha=1; Beta=5; Rho=.1; NC_max=30; Q=100; %%第一步:变量初始化 n=size(C,1);%*表示问题的规模(城市个数) D=zeros(n,n);%D表示完全图的赋权邻接矩阵 for i=1:n for j=1:n if i~=j D(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5; else

人工神经网络算法

https://www.wendangku.net/doc/988224721.html,/s/blog_5bbd6ec00100b5nk.html 人工神经网络算法(2008-11-20 17:24:22) 标签:杂谈 人工神经网络算法的作用机理还是比较难理解,现在以一个例子来说明其原理。这个例子是关于人的识别技术的,在门禁系统,逃犯识别,各种验证码破译,银行预留印鉴签名比对,机器人设计等领域都有比较好的应用前景,当然也可以用来做客户数据的挖掘工作,比如建立一个能筛选满足某种要求的客户群的模型。 机器识别人和我们人类识别人的机理大体相似,看到一个人也就是识别对象以后,我们首先提取其关键的外部特征比如身高,体形,面部特征,声音等等。根据这些信息大脑迅速在内部寻找相关的记忆区间,有这个人的信息的话,这个人就是熟人,否则就是陌生人。 人工神经网络就是这种机理。假设上图中X(1)代表我们为电脑输入的人的面部特征,X(2)代表人的身高特征X(3)代表人的体形特征X(4)代表人的声音特征W(1)W(2)W(3)W(4)分别代表四种特征的链接权重,这个权重非常重要,也是人工神经网络起作用的核心变量。 现在我们随便找一个人阿猫站在电脑面前,电脑根据预设变量提取这个人的信息,阿猫面部怎么样,身高多少,体形胖瘦,声音有什么特征,链接权重初始值是随机的,假设每一个W均是0.25,这时候电脑按这个公式自动计 算,Y=X(1)*W(1)+X(2)*W(2)+X(3)*W(3)+X(4)*W(4)得出一个结果Y,这个Y要和一个门槛值(设为Q)进行比较,如果Y>Q,那么电脑就判定这个人是阿猫,否则判定不是阿猫.由于第一次计算电脑没有经验,所以结果是随机的.一般我们设定是正确的,因为我们输入的就是阿猫的身体数据啊. 现在还是阿猫站在电脑面前,不过阿猫怕被电脑认出来,所以换了一件衣服,这个行为会影响阿猫的体形,也就是X(3)变了,那么最后计算的Y值也就变了,它和Q比较的结果随即发生变化,这时候电脑的判断失误,它的结论是这个人不是阿猫.但是我们告诉它这个人就是阿猫,电脑就会追溯自己的判断过程,到底是哪一步出错了,结果发现原来阿猫体形X(3)这个 体征的变化导致了其判断失误,很显然,体形X(3)欺骗了它,这个属性在人的识别中不是那 么重要,电脑自动修改其权重W(3),第一次我对你是0.25的相信,现在我降低信任值,我0.10的相信你.修改了这个权重就意味着电脑通过学习认为体形在判断一个人是否是自己认识的人的时候并不是那么重要.这就是机器学习的一个循环.我们可以要求阿猫再穿一双高跟皮鞋改变一下身高这个属性,让电脑再一次进行学习,通过变换所有可能变换的外部特征,轮换让电脑学习记忆,它就会记住阿猫这个人比较关键的特征,也就是没有经过修改的特征.也就是电脑通过学习会总结出识别阿猫甚至任何一个人所依赖的关键特征.经过阿猫的训练电脑,电脑已经非常聪明了,这时你在让阿猫换身衣服或者换双鞋站在电脑前面,电脑都可以迅速的判断这个人就是阿猫.因为电脑已经不主要依据这些特征识别人了,通过改变衣服,身高骗不了它.当然,有时候如果电脑赖以判断的阿猫关键特征发生变化,它也会判断失误.我们就

(完整版)基于神经网络的中国人口预测算法研究毕业论文

毕业论文(设 计) 题目基于神经网络的中国人口预测 算法研究

所在院(系)数学与计算机科学学院 专业班级信息与计算科学1102班 指导教师赵晖 完成地点陕西理工学院 2015年5 月25日

基于神经网络的中国人口预测算法研究 作者:宋波 (陕理工学院数学与计算机科学学院信息与计算科学专业1102班,陕西汉中 723000) 指导教师:赵晖 [摘要]我国现正处于全面建成小康社会时期,人口发展面临着巨大的挑战,经济社会发展与资源环境的矛盾日益尖锐。我国是个人口大国、资源小国,这对矛盾将长期制约我国经济社会的发展。准确地预测未来人口的发展趋势,制定合理的人口规划和人口布局方案具有重大的理论意义和实用意义。本文介绍了人口预测的概念及发展规律等。 首先,本文考虑到人口预测具有大量冗余、流动范围和数量扩大的特性,又为提高人口预测的效果,因此,使用归一化对人口数据进行了处理,该方法不需要离散化原数据,这样就保证了人口预测的准确性和原始数据的信息完整性。其次,本文提出了一种基于神经网络预测的优化算法,该算法避免了人们在预测中参数选择的主观性而带来的精度的风险,增强了人口预测的准确性。同时,为说明该算法的有效性,又设计了几种人们通常所用的人口模型和灰色预测模型算法,并用相同的数据进行实验,得到了良好的效果,即本文算法的人口预测最为准确,其预测性能明显优于其他算法,而这主要是参数的选择对于增强预测性方面的影响,最终导致人口预测精确度。同时,在算法的稳定性和扩展性方面,该算法也明显优于其他算法。 考虑出生率、死亡率、人口增长率等因素的影响,重建神经网络模型预测人口数量。 [关键词] 神经网络人口模型灰色预测模型软件

利用蚁群算法优化前向神经网络

利用蚁群算法优化前向神经网络 来源:深圳发票 https://www.wendangku.net/doc/988224721.html,/ 内容摘要:蚁群算法(ant colony algorithm,简称ACA)是一种最新提出的新型的寻优策略,本文尝试将蚁群算法用于三层前向神经网络的训练过程,建立了相应的优化模型,进行了实际的编程计算,并与加动量项的BP算法、演化算法以及模拟退火算法进行比较,结果表明该方法具有更好的全局收敛性,以及对初值的不敏感性等特点。关键词:期货经纪公司综合实力主成分分析聚类分析 人工神经网络(ANN)是大脑及其活动的一个理论化的数学模型,由大量的处理单元(神经元)互连而成的,是神经元联结形式的数学抽象,是一个大规模的非线性自适应模型。人工神经网络具有高速的运算能力,很强的自学习能力、自适应能力和非线性映射能力以及良好的容错性,因而它在模式识别、图像处理、信号及信息处理、系统优化和智能控制等许多领域得到了广泛的应用。 人工神经网络的学习算法可以分为:局部搜索算法,包括误差反传(BP)算法、牛顿法和共轭梯度法等;线性化算法;随机优化算法,包括遗传算法(GA)、演化算法(EA)、模拟退火算法(SA)等。 蚁群算法是一种基于模拟蚂蚁群行为的随机搜索优化算法。虽然单个蚂蚁的能力非常有限,但多个蚂蚁构成的群体具有找到蚁穴与食物之间最短路径的能力,这种能力是靠其在所经过的路径上留下的一种挥发性分泌物(pheromone)来实现的。蚂蚁个体间通过这种信息的交流寻求通向食物的最短路径。已有相关计算实例表明该算法具有良好的收敛速度,且在得到的最优解更接近理论的最优解。

本文尝试将蚁群算法引入到前向神经网络的优化训练中来,建立了基于该算法的前向神经网络训练模型,编制了基于C++语言的优化计算程序,并针对多个实例与多个算法进行了比较分析。 前向神经网络模型 前向人工神经网络具有数层相连的处理单元,连接可从一层中的每个神经元到下一层的所有神经元,且网络中不存在反馈环,是常用的一种人工神经网络模型。在本文中只考虑三层前向网络,且输出层为线性层,隐层神经元的非线性作用函数(激活函数)为双曲线正切函数: 其中输入层神经元把输入网络的数据不做任何处理直接作为该神经元的输出。设输入层神经元的输出为(x1,x2,Λ,xn),隐层神经元的输入为(s1,s2,Λ,sh),隐层神经元的输出为 (z1,z2,Λ,zh),输出层神经元的输出为(y1,y2,Λ,ym),则网络的输入-输出为: 其中{w ij}为输入层-隐层的连接权值,{w i0}隐层神经元的阈值,{v ki}为隐层-输出层的连接权值,{v k0}为输出层神经元的阈值。网络的输入-输出映射也可简写为: 1≤k≤m (5)

(完整word版)深度学习-卷积神经网络算法简介

深度学习 卷积神经网络算法简介 李宗贤 北京信息科技大学智能科学与技术系 卷积神经网络是近年来广泛应用在模式识别、图像处理领域的一种高效识别算法,具有简单结构、训练参数少和适应性强的特点。它的权值共享网络结构使之更类似与生物神经网络,降低了网络的复杂度,减少了权值的数量。以二维图像直接作为网络的输入,避免了传统是被算法中复杂的特征提取和数据重建过程。卷积神经网络是为识别二维形状特殊设计的一个多层感知器,这种网络结构对于平移、比例缩放、倾斜和其他形式的变形有着高度的不变形。 ?卷积神经网络的结构 卷积神经网络是一种多层的感知器,每层由二维平面组成,而每个平面由多个独立的神经元组成,网络中包含一些简单元和复杂元,分别记为C元和S元。C元聚合在一起构成卷积层,S元聚合在一起构成下采样层。输入图像通过和滤波器和可加偏置进行卷积,在C层产生N个特征图(N值可人为设定),然后特征映射图经过求和、加权值和偏置,再通过一个激活函数(通常选用Sigmoid函数)得到S层的特征映射图。根据人为设定C层和S层的数量,以上工作依次循环进行。最终,对最尾部的下采样和输出层进行全连接,得到最后的输出。

卷积的过程:用一个可训练的滤波器fx去卷积一个输入的图像(在C1层是输入图像,之后的卷积层输入则是前一层的卷积特征图),通过一个激活函数(一般使用的是Sigmoid函数),然后加一个偏置bx,得到卷积层Cx。具体运算如下式,式中Mj是输入特征图的值: X j l=f?(∑X i l?1?k ij l+b j l i∈Mj) 子采样的过程包括:每邻域的m个像素(m是人为设定)求和变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1,然后通过激活函数Sigmoid产生特征映射图。从一个平面到下一个平面的映射可以看作是作卷积运算,S层可看作是模糊滤波器,起到了二次特征提取的作用。隐层与隐层之间的空间分辨率递减,而每层所含的平面数递增,这样可用于检测更多的特征信息。对于子采样层来说,有N 个输入特征图,就有N个输出特征图,只是每个特征图的的尺寸得到了相应的改变,具体运算如下式,式中down()表示下采样函数。 X j l=f?(βj l down (X j l?1) +b j l)X j l) ?卷积神经网络的训练过程 卷积神经网络在本质上是一种输入到输出的映射,它能够学习大量的输入和输出之间的映射关系,而不需要任何输入和输出之间的精确数学表达式。用已知的模式对卷积网络加以训练,网络就具有了输

基于蚁群算法和神经网络的数控机床故障诊断技术研究

基于蚁群算法和神经网络的数控机床故障诊断技术研究 吴冬敏,邵剑平,芮延年 (苏州大学,江苏苏州215021) 来稿日期:2012-03-16 基金项目:“高档数控机床与基础制造装备”科技重大专项(2011ZX04004-061) 作者简介:吴冬敏,(1979-),女,江苏南通人,讲师,硕士,主要研究方向为机电智能、可靠性分析;芮延年,(1951-),男,安徽,教授,博士生导师,主要研究方向为仿真工程学,人工智能及机器人等 1引言 数控机床作为大中型企业生产中的关键设备,任何部分出现故障,都可能导致零件加工精度降低、机床停机、生产停顿,造成巨大的经济损失,严重时还会危及到人身安全。与传统加工设备相比,数控机床的集成化、自动化程度越来越高,这使设备发生故障的概率增大、 种类增多。经验表明:即使一个熟练的技术人员,在故障诊断时,确定故障原因和部位的时间约占总时间的(70~90)%,而只有约(10~30)%用于最后排除故障的维修工作。据调查,我国企业现有的数控设备的利用率和完好率普遍偏低,主要原因之一是维修力量不足,检修过程中故障处理速度较慢且受人为因素影响较大,因此,要提高维修效率,提高故障诊断能力是关键[1]。 文献[2]提出了用蚁群算法来训练BP 神经网络的权值,并将其应用于求解非线性模型的辨识问题及倒立摆的控制问题,取得了良好的效果。因此,将蚁群算法和BP 神经网络结合起来,可兼 有神经网络的非线性映射能力和蚁群算法的快速、 全局收敛及启发式学习等特点,在某种程度上避免了神经网络收敛速度慢,易于陷局部极小点的问题[2]。将其应用于数控机床的故障诊断中,可有效地提高故障诊断的准确度和效率。 2蚁群算法的基本原理 蚁群算法(Ant Colony Algorithm )又称为蚁群优化算法[3],是一种模拟蚂蚁智能行为的仿生优化算法。其基本思想是:蚂蚁个体之间是通过在其走过的路径上留下一种被称为信息素的物质来进行信息传递的,并根据信息素的浓度来选择自己的前进方向。因此,在某条路径上,走过的蚂蚁越多,后面的蚂蚁选择该路径的可能性就越大,形成正反馈机制。 随着算法的推移,代表最优解路径上的信息素逐渐增多,而其他路径上的信息素却会随着时间的流逝而逐渐消减,最终整个蚁群在正反馈的作用下集中到代表最优解的路径上,也就找到了最优解。蚁群算法具有较强的鲁棒性、优良的分布式计算机制、易 摘 要:为了克服BP 神经网络收敛速度慢、易于陷入局部极小点的缺点,在研究蚁群算法优化神经网络训练算法的基础 上,以数控机床的进给伺服系统故障诊断为例,建立其故障诊断模型。利用训练后的蚁群神经网络对其进行故障诊断,并把BP 神经网络和蚁群神经网络的训练和诊断结果相比较。实验结果表明:蚁群神经网络比BP 神经网络的收敛速度快、运算效率高、识别能力强。这说明蚁群神经网络应用于数控机床的故障诊断中,可有效地提高故障诊断的准确度和效率,具有良好的应用效果。 关键词:蚁群算法;神经网络;数控机床;进给伺服系统;故障诊断中图分类号: TH16;TG659;TH165+.3文献标识码:A 文章编号:1001-3997(2013)01-0165-03 Research on CNC Machine Fault Diagnosis Based on Ant Colony Algorithm and Neural Network WU Dong-min ,SHAO Jian-ping ,RUI Yan-nian (Soochow University ,Jiangsu Suzhou 215021,China ) Abstract :In order to overcome the shortcomings of slow convergence speed and easy falling into the local minimum points in the BP neural network ,based on the research of ant colony algorithm to optimizate neural network training algorithm ,it takes CNC machine tool feed servo system fault diagnosis as example to establish the fault diagnosis model.The fault of feed servo system is diagnosed by trained ant colony neural network ,and the training and diagnosis results of the BP neural network and the ant colony neural network are comparied.The result shows that the ant colony neural network has the advantages of more quick convergence speed ,higher operation efficiency ,stronger identification ability than BP neural network.These show that the ant colony neural used in the fault diagnosis of CNC machine tool ,which can effectively improve the accuracy of fault diagnosis and efficiency , has good application prospects.Key Words :Ant Colony Algorithm ;Neural Network ;CNC Machine ;Feed Servo System ;Fault Diagnosis Machinery Design &Manufacture 机械设计与制造 第1期 2013年1月 165

粒子群算法和蚁群算法的结合及其在组合优化中的应用e

2007年第2期空间电子技术收稿日期:2006-04-03;收修改稿日期:2006-04-30 粒子群算法和蚁群算法的结合及其在 组合优化中的应用 张长春苏昕易克初 (西安电子科技大学综合业务网国家重点实验室,西安710071) 摘要文章首次提出了一种用于求解组合优化问题的PAAA 算法。该算法有效地 结合了粒子群算法和蚁群算法的优点,先利用粒子群算法的随机性、快速性、全局性得到 初始信息素分布(即粗搜索),再利用蚁群算法的并行性、正反馈性、求解精度高等优点求 精确解(即细搜索)。将文中提出的算法用于经典TSP 问题的求解,仿真结果表明PAAA 算 法兼有两种算法的优点,同时抛弃了各自的缺点。该算法在时间效率上优于蚁群算法,在 求精效率上优于粒子群算法,是综合了两种算法长处的一种新的启发式算法,达到时间性 能和优化性能上的双赢,获得了非常好的效果。 主题词蚁群算法粒子群算法旅行商问题PAAA 0引言 近年来对生物启发式计算(Bio-inspired Computing )的研究,越来越引起众多学者的关注和兴趣,产生了神经网络、遗传算法、模拟退火、粒子群算法、蚁群算法等许多用于解决复杂优化问题的新方法。然而,面对各种问题的特殊性和复杂性,每种算法都表现出了自身的优势和缺陷,都存在时间性能和优化性能不能兼得的矛盾。 粒子群优化(Particie Swarm Optimization ,PSO )算法[1, 2]是由Eberhart 和Kennedy 于1995年提出的一种全局优化算法,该算法源于对鸟群觅食行为的模拟。它的优势在于:(1) 算法简洁,可调参数少,易于实现;(2) 随机初始化种群,具有较强的全局搜索能力,类似于遗传算法;(3)利用评价函数衡量个体的优劣程度,搜索速度快;(4)具有较强的可扩展性。其缺点是:不能充分利用系统中的反馈信息,求解组合优化问题的能力不强。 蚁群算法[3,4](Ant Coiony Optimization ,ACO ) 是由意大利学者M.Dorigo ,V.Maniezzo 和A.Coiorni 于20世纪90年代初提出的一种新型的智能优化算法,已经被应用到TSP 问题[5,6]、二次分配问题、工 件调度问题、图着色问题等许多经典组合优化问题中,取得了很好的效果。它的优点是:(1)采用一种正反馈机制,通过信息素的不断更新,达到最终收敛于最优路径上的目的;(2)是一种分布式的优化方法,易于并行实现;(3)是一种全局优化的方法,不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题;(4)适合于求解离散优化问题;(5)鲁棒性强。但由于在算法的初始阶段信息素匮乏,所以求解速度较慢。 文章将粒子群算法和蚁群算法有机地结合,提出了PAAA 算法。它利用粒子群算法的较强的全局搜索能力生成信息素分布,再利用蚁群算法的正反馈机制求问题的精确解,汲取各自的优势,以达空间电子技术 SPACE ELECTRONIC TECHNOLOGY !"

神经网络算法的软件应用研究

第1期(总第125期)机械管理开发 2012年2月No.1(S UM No.125) M EC HANIC AL M ANAGEM ENT AND DEVELOPM ENT Feb.2012 0引言 从第一台计算机发明以来,以计算机为中心的信息处理技术得到迅速发展,然而,计算机在处理一些人工智能的问题时遇到很大困难。一个人很容易辨认出他人的脸庞,而计算机却很难做到。这是因为传统的信息处理,都有精确的模型做指导,而人工智能却没有,很难为计算机编写明确的指令或程序。大脑是由生物神经元构成的巨型网络,本质上不同于计算机,是一种大规模的秉性处理系统,它有学习、联想、记忆、综合等能力,并有巧妙的信息处理方法。神经元不仅是组成大脑的基本单元,而且是大脑进行信息处理的基本单元。 人工神经网络(Artificial Neural Netw ork-ANN )是对人脑最简单的一种抽象和模拟,是模仿人的大脑神经系统信息处理功能的一个智能化系统,也是人们进一步解开人脑思维奥秘的有力工具。智能是指对环境的适应和自我调整能力,人工神经网络是有智能的。预测作为决策的前提和基础,对最终决策方案的选择具有至关重要的作用。1神经网络的观念介绍1.1 神经网络的模型与内涵 神经网络的学习可分为有导师学习和无导师学习。有导师学习是指基于知识系统,在实际的学习过程中,需要通过给定的输入输出数据,所进行的一种学习方式。无导师学习是指通过系统自身的学习,来达到期望的学习结果,所进行的一种学习。该学习不需要老师为系统提供各种精确的输入输出信息和有关知识,而只需提供系统所期望达到的目标和结果。 1)MP 模型。每个神经元的状态由M P 方程决定,U i =f ((ΣT ij *V j )-θi ).其意义是每个神经元的状态是由一定强度(权值Tij )的外界刺激(输入Vj )累加后经过细胞体加工(激励函数f (x))产生一个输出。神经元的模型,见图1 。 图1神经元的模型 2)联想学习。Hebb 定理:神经元i 和神经元j 之间,同时处于兴奋状态,则他们间的连接应该加强,即 △Wij =αS i *S j.. 1.2 神经网络的几何意义与样本 1)神经网络的几何意义。N 个神经元(j =1..n )对神经元i 的总输入I i 为:I i =ΣW ij x j -θi 令I =0,得到一个几何上的超平面。从几何角度看,一个神经元代表一个超平面。超平面将解空间分为3部分:平面本身、平面上部、平面下部,神经元起到分类的作用。 2)线性样本和非线性样本。现举两例说明:OR (逻辑加法):输入为((0,0),(0,1),(1,0),(1,1)),期望输出为(0,1,1,1),见图2(a )。XOR (异或运算): 输入为((0,0),(0,1),(1,0),(1,1)),期望输出为(0,1,1,0),见图2(b )。非线性样本在最早的感知机模型中遇到了障碍,因为感知机的两层网络结构不能对非线性样本 进行超平面的划分。 (a )样本能够均匀的分布 (b )不存在一个超平面 在超平面的两侧 能将样本区分开 图2超平面的划分举例 3)非线性样本转化为线性样本。一个超平面不 收稿日期:;修回日期:作者简介:白 鹏(),男,山西太原人,在读工程硕士,研究方向:计算机软件开发。 神经网络算法的软件应用研究 白 鹏 (太原理工大学计算机科学与技术学院,山西 太原 030024) 摘 要:B ackPropagation 神经网络是重要的人工神经网络,有强大的非线性映射、自学习、泛化容错能力,并能充分 考虑主观因素,具有启发式搜索的特点。主要介绍BP 网络算法用JAVA 语言的实现方式及其在预测股票价格方面的应用。 关键词:神经网络;人工神经网络;预测中图分类号:TP391.9 文献标识码:A 文章编号:1003-773X (2012)01-0201-03 2011-04-142011-09-101979-201

人工神经网络BP算法简介及应用概要

科技信息 2011年第 3期 SCIENCE &TECHNOLOGY INFORMATION 人工神经网络是模仿生理神经网络的结构和功能而设计的一种信息处理系统。大量的人工神经元以一定的规则连接成神经网络 , 神经元之间的连接及各连接权值的分布用来表示特定的信息。神经网络分布式存储信息 , 具有很高的容错性。每个神经元都可以独立的运算和处理接收到的信息并输出结果 , 网络具有并行运算能力 , 实时性非常强。神经网络对信息的处理具有自组织、自学习的特点 , 便于联想、综合和推广。神经网络以其优越的性能应用在人工智能、计算机科学、模式识别、控制工程、信号处理、联想记忆等极其广泛的领域。 1986年 D.Rumelhart 和 J.McCelland [1]等发展了多层网络的 BP 算法 , 使BP 网络成为目前应用最广的神经网络。 1BP 网络原理及学习方法 BP(BackPropagation 网络是一种按照误差反向传播算法训练的多层前馈神经网络。基于 BP 算法的二层网络结构如图 1所示 , 包括输入层、一个隐层和输出层 , 三者都是由神经元组成的。输入层各神经元负责接收并传递外部信息 ; 中间层负责信息处理和变换 ; 输出层向 外界输出信息处理结果。神经网络工作时 , 信息从输入层经隐层流向输出层 (信息正向传播 , 若现行输出与期望相同 , 则训练结束 ; 否则 , 误差反向进入网络 (误差反向传播。将输出与期望的误差信号按照原连接通路反向计算 , 修改各层权值和阈值 , 逐次向输入层传播。信息正向传播与误差反向传播反复交替 , 网络得到了记忆训练 , 当网络的全局误差小于给定的误差值后学习终止 , 即可得到收敛的网络和相应稳定的权值。网络学习过程实际就是建立输入模式到输出模式的一个映射 , 也就是建立一个输入与输出关系的数学模型 :

比较专家系统、模糊方法、遗传算法、神经网络、蚁群算法的特点及其适合解决的实际问题

比较专家系统、模糊方法、遗传算法、神经网络、蚁群算法的特点及其适合解决的实际问题 一、专家系统(Expert System) 1,什么是专家系统? 在日常生活中大家所认知的“专家”一般都拥有某一特定领域的大量专业知识,以及丰富的实际经验。在解决问题时,专家们通常拥有一套独特的思维方式,能较圆满地解决一类困难问题,或向用户提出一些建设性的建议等。 专家系统一般定义为一个具有智能特点的计算机程序。 它的智能化主要表现为能够在特定的领域内模仿人类专家思维来求解复杂问题。因此,专家系统必须包含领域专家的大量知识,拥有类似人类专家思维的推理能力,并能用这些知识来解决实际问题。 专家系统的基本结构如图1所示,其中箭头方向为数据流动的方向。 图1 专家系统的基本组成 专家系统通常由知识库和推理机两个主要组成要素。 知识库存放着作为专家经验的判断性知识,例如表达建议、 推断、 命令、 策略的产生式规则等, 用于某种结论的推理、 问题的求解,以及对于推理、 求解知识的各种控制知识。 知识库中还包括另一类叙述性知识, 也称作数据,用于说明问题的状态,有关的事实和概念,当前的条件以及常识等。

专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。一般来说,专家系统中的知识库与专家系统程序是相互独立的,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。 推理机实际上是一个运用知识库中提供的两类知识,基于木某种通用的问题求解模型,进行自动推理、 求解问题的计算机软件系统。 它包括一个解释程序, 用于决定如何使用判断性知识推导新的知识, 还包括一个调度程序, 用于决定判断性知识的使用次序。 推理机的具体构造取决于问题领域的特点,及专家系统中知识表示和组织的方法。 推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。正向推理是从前件匹配到结论,反向推理则先假设一个结论成立,看它的条件有没有得到满足。由此可见,推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。 人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。 综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。 知识获取是专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取,可以扩充和修改知识库中的内容,也可以实现自动学习功能。 2,专家系统的特点 在功能上, 专家系统是一种知识信息处理系统, 而不是数值信息计算系统。在结构上, 专家系统的两个主要组成部分 – 知识库和推理机是独立构造、分离组织, 但又相互作用的。在性能上, 专家系统具有启发性, 它能够运用专家的经验知识对不确定的或不精确的问题进行启发式推理, 运用排除多余步骤或减少不必要计算的思维捷径和策略;专家系统具有透明性, 它能够向用户显示为得出某一结论而形成的推理链, 运用有关推理的知识(元知识)检查导出结论的精度、一致性和合理性, 甚至提出一些证据来解释或证明它的推理;专家系统具有灵活性, 它能够通过知识库的扩充和更新提高求解专门问题的水平或适应环境对象的某些变化,通过与系统用户的交互使自身的性能得到评价和监护。 3,专家系统适合解决的实际问题 专家系统是人工智能的一个应用,但由于其重要性及相关应用系统之迅速发展,它已是信息系统的一种特定类型。专家系统一词系由以知识为基础的专家系统(knowledge-based expert system)而来,此种系统应用计算机中储存的人类知识,解决一般需要用到专家才能处理的问题,它能模仿人类专家解决特定问题时的推理过程,因而可供非专家们用来增进问题解决的能力,同时专家们也可把它视为具备专业知识的助理。由于在人类社会中,专家资源确实相当稀少,有了专家系统,则可使此珍贵的专家知识获得普遍的应用。 专家系统技术广泛应用在工程、科学、医药、军事、商业等方面,而且成果相当丰硕,甚至在某些应用领域,还超过人类专家的智能与判断。其功能应用领

神经网络与遗传算法

5.4 神经网络与遗传算法简介 在本节中,我们将着重讲述一些在网络设计、优化、性能分析、通信路由优化、选择、神经网络控制优化中有重要应用的常用的算法,包括神经网络算法、遗传算法、模拟退火算法等方法。用这些算法可以较容易地解决一些很复杂的,常规算法很难解决的问题。这些算法都有着很深的理论背景,本节不准备详细地讨论这些算法的理论,只对算法的原理和方法作简要的讨论。 5.4.1 神经网络 1. 神经网络的简单原理 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connectionist Model),是对人脑或自然神经网络(Natural Neural Network)若干基本特性的抽象和模拟。人工神经网络以对大脑的生理研究成果为基础的,其目的在于模拟大脑的某些机理与机制,实现某个方面的功能。所以说, 人工神经网络是由人工建立的以有向图为拓扑结构的动态系统,它通过对连续或断续的输入作出状态相应而进行信息处理。它是根据人的认识过程而开发出的一种算法。假如我们现在只有一些输入和相应的输出,而对如何由输入得到输出的机理并不清楚,那么我们可以把输入与输出之间的未知过程看成是一个“网络”,通过不断地给这个网络输入和相应的输出来“训练”这个网络,网络根据输入和输出不断地调节自己的各节点之间的权值来满足输入和输出。这样,当训练结束后,我们给定一个输入,网络便会根据自己已调节好的权值计算出一个输出。这就是神经网络的简单原理。 2. 神经元和神经网络的结构 如上所述,神经网络的基本结构如图5.35所示: 隐层隐层2 1 图5.35 神经网络一般都有多层,分为输入层,输出层和隐含层,层数越多,计算结果越精确,但所需的时间也就越长,所以实际应用中要根据要求设计网络层数。神经网络中每一个节点叫做一个人工神经元,他对应于人脑中的神经元。人脑神经元由细胞体、树突和轴突三部分组成,是一种根须状蔓延物。神经元的中心有一闭点,称为细胞体,它能对接受到的信息进行处理,细胞体周围的纤维有两类,轴突是较长的神经纤维,是发出信息的。树突的神经纤维较短,而分支众多,是接收信息的。一个神经元的轴突末端与另一神经元的树突之间密

相关文档