完整的神经网络讲解

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

一、感知器的学习结构

感知器的学习是神经网络最典型的学习。

目前,在控制上应用的是多层前馈网络,这是一种感知器模型,学习算法是BP法,故是有教师学习算法。

一个有教师的学习系统可以用图1—7表示。这种学习系统分成三个部分:输入部,训练部和输出部。

图1-7 神经网络学习系统框图

神经网络的学习一般需要多次重复训练,使误差值逐渐向零趋近,最后到达零。则这时才会使输出与期望一致。故而神经网络的学习是消耗一定时期的,有的学习过程要重复很多次,甚至达万次级。原因在于神经网络的权系数W有很多分量W1,W2,----W n;也即是一个多参数修改系统。系统的参数的调整就必定耗时耗量。目前,提高神经网络的学习速度,减少学习重复次数是十分重要的研究课题,也是实时控制中的关键问题。

二、感知器的学习算法

感知器是有单层计算单元的神经网络,由线性元件及阀值元件组成。感知器如图1-9所示。

图1-9 感知器结构

感知器的数学模型:

(1-12)

其中:f[.]是阶跃函数,并且有

(1-13)

θ是阀值。

感知器的最大作用就是可以对输入的样本分类,故它可作分类器,感知器对输入信号的分类如下:

(1-14)

即是,当感知器的输出为1时,输入样本称为A类;输出为-1时,输入样本称为B类。从上可知感知器的分类边界是:

(1-15)

在输入样本只有两个分量X1,X2时,则有分类边界条件:

(1-16)

W1X1+W2X2-θ=0 (1-17)

也可写成

(1-18)

这时的分类情况如固1—10所示。

感知器的学习算法目的在于找寻恰当的权系数w=(w1.w2,…,Wn),使系统对一个特定的样本x=(xt,x2,…,xn)熊产生期望值d。当

x分类为A类时,期望值d=1;X为B类时,d=-1。为了方便说明感知器学习算法,把阀值θ并人权系数w中,同时,样本x也相应增加一个分量x n+1。故令:

W n+1=-θ,X n+1=1 (1-19)

则感知器的输出可表示为:

(1-20)

感知器学习算法步骤如下:

1.对权系数w置初值对权系数w=(W1.W2,…,W n,W n+1)的各个分量置一个较小的零随机值,但W n+1=—g。并记为W l(0),W2(0),…,W n(0),同时有Wn+1(0)=-θ。这里W i(t)为t 时刻从第i个输入上的权系数,i=1,2,…,n。W n+1(t)为t时刻时的阀值。

图1-10 感知器的分类例子

2.输入一样本X=(X1,X2,…,X n+1)以及它的期望输出d。期望输出值d在样本的类属不同时取值不同。如果x是A类,则取d =1,如果x是B类,则取-1。期望输出d也即是教师信号。

3.计算实际输出值Y

4.根据实际输出求误差e

e=d—Y(t) (1-21)

5.用误差e去修改权系数

i=1,2,…,n,n+1 (1-22)

其中,η称为权重变化率,0<η≤1

在式(1—22)中,η的取值不能太大.如果1取值太大则会影响

w i(t)的稳定;的取值也不能太小,太小则会使W i(t)的求取过程收敛速度太慢。

当实际输出和期望值d相同时有:

W i(t+1)=W i(t)

6.转到第2点,一直执行到一切样本均稳定为止。

从上面式(1—14)可知,感知器实质是一个分类器,它的这种分类是

和二值逻辑相应的。因此,感知器可以用于实现逻辑函数。下面对感知器实现逻辑函数的情况作一些介绍。

例:用感知器实现逻辑函数X1VX2的真值:

X10011

X20101

X1 V X20111

以X1VX2=1为A类,以X1VX2=0为B类,则有方程组

(1-23)

即有:

(1-24)

从式(1—24)有:

W1≥θ,W2≥θ

令 W1=1,W2=2

则有:θ≤1

取θ=0.5

则有:X1+X2-0.5=0,分类情况如图1—11所示。

设误差e采用下式表示:

(1-25)

其中,Y i=f〔W*·X i]是对应第i个样本X i的实时输出Y i是对应第i个样本X i的期望输出。

要使误差e最小,可先求取e的梯度:

(1-26)

(1-27) 中:

令 U k=W.X k,则有:

(1-28)

即有:

(1-29)

最后有按负梯度方向修改权系数W的修改规则:

(1-30)

也可写成:

(1-31)

行修正,故适用于多层网络的学习。BP算法是目前最广泛用的神经网络学习算法之一,在自动控制中是最有用的学习算法。

一、BP算法的原理

BP算法是用于前馈多层网络的学习算法,前馈多层网络的结构一般如图1—12所示

图1-12 网络学习结构

它含有输人层、输出层以及处于输入输出层之间的中间层。中间层有单层或多层,由于它们和外界没有直接的联系,故也称为隐层。在隐层中的神经元也称隐单元。隐层虽然和外界不连接.但是,它们的状态则影响输入输出之间的关系。这也是说,改变隐层的权系数,可以改变整个多层神经网络的性能。

设有一个m层的神经网络,并在输入层加有样本X;设第k层的i神经元的输入总和表示为U i k,输出X i k;从第k—1层的第j 个神经元到第k层的第i个神经元的权系数为W ij各个神经元的激发函数为f,则各个变量的关系可用下面有关数学式表示:

X i k=f(U i k) (1-32)

(1-33)

反向传播算法分二步进行,即正向传播和反向传播。这两个过程的工作简述如下。

1.正向传播

输入的样本从输入层经过隐单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。

相关文档
最新文档