人工神经网络简介.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人工神经网络简介

一、人工神经网络的发展

⑴Mcculloch(生理学家)和Pitts(数理逻辑学家)1943年首次提出神经网络数学模型;M-P数学模型,神经元的数学模型。

⑵Von Neumann冯·诺依曼模型

⑶50年代,F·Rosenblatt单层网络,可学习——感知机

⑷1962年Widraw提出自适应线性元件网络

⑸Hopfield1982和1984年发表论文,将能量函数引入神经网络计算——HNN模型

⑹1986年Rumelhart提出PDP理论,解决中间层神经元权的调整问题,并行分布式,——多层网络的反向传播算法。

BP——Error Back Propagation误差反向传播算法(前向网络的一种)

二、神经元的特点

⑴神经元是一个多输入、单输出的元件

⑵神经元是一个具有非线性的元件

⑶神经元具有可塑性,传递强度可变

⑷神经元的输出是每个输入综合的结果

三、人工神经网络特点

⑴分步存储与容错性

⑵并行处理

⑶信息处理与存储合二为一

⑷层次性与系统性 四、BP 人工神经网络

1、BP 网络的学习过程 ⑴模式的顺向传播过程 ⑵误差的逆向传播过程

⑶记忆训练过程:⑴、⑵的交替过程 ⑷学习的收敛过程:E->min 2、输入输出变换函数:f(x) ①阶跃函数:

f(x)=⎩⎨⎧<≥0x 00x 1 (不可导)

输入层 隐含层 输出层 n 个 W ij p 个 V jt q 个

y 1

y t

y q

②S 型函数

f(x)= x

e μ-+11

(可导)

③比例函数 f(x)=kx ④符号函数

f(x)= ⎩⎨⎧<-≥0x 10x

1

⑤饱和函数

f(x)= ⎪⎪

⎪⎨⎧

-<-<<>k k x kx 1x 11k 1- k 1x 1

⑥双曲函数

f(x)=x

e e x

μμ+--11

3、M-P

输入向量:12n 权值向量:W=(w 1,w 2,…,w n ) 阈值:θ

输出:y=f(∑=-n

i i i x w 1

θ)

若f(x)为阶跃函数

则f(x)=⎩

⎨⎧<≥0x 00

x 1

5、BP 网络学习算法

⑴变量假定:

输入: A k =(a 1k ,a 2k ,…,a n k ) 希望输出: Y k =(y 1k ,y 2k ,…,y q k ) 中间层神经元输入: S k =(s 1k ,s 2k ,…,s p k )

中间层神经元输出: B k =(b 1k ,b 2k ,…,b p k

) 输出层神经元输入: L k =(l 1k ,l 2k ,…,l q k ) 输出层神经元实际输出:C k =(c 1k ,c 2k ,…,c n k ) 中间层神经元阈值: θj (j=1,2,…,p) 输出层神经元阈值: γt (t=1,2,…,q)

S 型函数: f(x)=1/(1+e -x ),f '(x)=f(x)[1-f(x)] (中间层两端可取不同函数,但此处相同。)

输入层与中间层连接权值:w ij (i=1,2,…,n,j=1,2,…,p) 中间层与输出层连接权值:v jt (j=1,2,…,p,t=1,2,…,q) ⑵模式顺传播过程:

中间层神经元输入: S j =j i ij n

i a w θ-∑=1 (j=1,2,…,p)

中间层神经元输出: B j =f 1(s j ) (j=1,2,…,p) 输出层神经元输入: L t =t j jt p

j b v γ-∑=1(t=1,2,…,q)

输出层神经元实际输出: C t =f 2(L t ) (t=1,2,…,q)

误差函数: E k =∑=-q

t k t k t c y 12)(21->min

权值调整:

k j k t k t b L f c y v L L c c E v c c E v E v t jt

t

t t t k jt t t k jt k jt )()('2-=∂∂∙∂∂∙∂∂-=∂∂∙∂∂-=∂∂-=∆αααα

(按负梯度方向变化或梯度下降原则,应使jt

k

jt v E v ∂∂∆与的负值成正比例变化,优化算法中得到。)

i

jt ij k ij k ij k ij k ij k ij k ij k ij k ij a s f v L f c y w s s b b L L c c E w b b L L c c E w L L c c E w c c E w c c E w c c E w c c E w E w k

j q

t k t k t k t q

t k j k j k j k j k t

k t k t k t

q

t k j k j k t

k t k t k t

q

t q t k t

k t k t k t

k t k t k q

k q k

k k k )(])()[(]

[]

[][]

['11'211112211∑∑∑∑∑=====-=∂∂∙∂∂∙∂∂∙∂∂∙∂∂-=∂∂∙∂∂∙∂∂∙∂∂-=∂∂∙

∂∂∙∂∂-=⎥⎦⎤⎢⎣⎡∂∂∙∂∂-=∂∂∙∂∂++∂∂∙∂∂+∂∂∙∂∂-=∂∂-=∆βββββββ

(w ij 对所有输出都有影响,与Δv jt 不同。)

令d t k =(y t k -c t k )f 2'(L t k )=δt k f 2’(输出层广义误差,=

t

k

L E ∂∂) 则Δv jt =αd t k b j k

—Hebb 规则(α—学习率,d t —广义误差,b j —输入)

Δw ij =k

i k j q

t k t a s f v d jt )(]['11

∑=β

令e j k

=)(]['11

k j q

t k t s f v d jt ∑= (广义误差)

则Δw ij =βe j k a i k (Hebb 学习规则,β学习率)

后层误差加权后传向前层误差d t k −→−jt v e j

k 阈值修正值: Δγt =αd t k Δθj =βe j k

6、BP 网络学习算法流程图

⑴初始化{}

{}{}{}t j jt ij v w γθ赋予[-1,+1]间随机值 ⑵随机选取一模式对(A k ,y k )提供给网络

⑶计算中间层单元的输入与输出 S j =j i ij n

i a w θ-∑=1 (i=1,2,…,n )

B j =f 1(s j ) (j=1,2,…,p) ⑷计算输出层单元的输入及输出 L t =t p

j j jt b v γ-∑=1 (t=1,2,…,q)

C t =f 2(L t )

相关文档
最新文档