http://www.cnblogs.com/wengzilin/archive/2013/04/24/3041019.html
一、感知器的学习结构
感知器的学习是神经网络最典型的学习。
目前,在控制上应用的是多层前馈网络,这是一种感知器模型,学习算法是BP法,故是有教师学习算法。
一个有教师的学习系统可以用图1—7表示。这种学习系统分成三个部分:输入部,训练部和输出部。
图1-7 神经网络学习系统框图
输入部接收外来的输入样本X,由训练部进行网络的权系数W调整,然后由输出部输出结果。在这个过程中,期望的输出信号可以作为教师信号输入,由该教师信号与实际输出进行比较,产生的误差去控制修改权系数W。
学习机构可用图1—8所示的结构表示。
在图中,Xl ,X2 ,…,Xn ,是输入样本信号,W1 ,W2 ,…,Wn 是权系数。输入样本信号Xi 可以取离散值“0”或“1”。输入样本信号通过权系数作用,在u产生输出结果 ∑Wi Xi ,即有:
u=∑Wi Xi =W1 X1 +W2 X2 +…+Wn Xn
再把期望输出信号Y(t)和u进行比较,从而产生误差信号e。即权值调整机构根据误差e去对学习系统的权系数进行修改,修改方向应使误差e变小,不断进行下去,使到误差e为零,这时实际输出值u和期望输出值Y(t)完全一样,则学习过程结束。
神经网络的学习一般需要多次重复训练,使误差值逐渐向零趋近,最后到达零。则这时才会使输出与期望一致。故而神经网络的学习是消耗一定时期的,有的学习过程要重复很多次,甚至达万次级。原因在于神经网络的权系数W有很多分量W1 ,W2 ,----Wn ;也即是一个多参数修改系统。系统的参数的调整就必定耗时耗量。目前,提高神经网络的学习速度,减少学习重复次数是十分重要的研究课题,也是实时控制中的关键问题。
二、感知器的学习算法
感知器是有单层计算单元的神经网络,由线性元件及阀值元件组成。感知器如图1-9所示。
图1-9 感知器结构
感知器的数学模型:
其中:f[.]是阶跃函数,并且有
θ是阀值。
感知器的最大作用就是可以对输入的样本分类,故它可作分类器,感知器对输入信号的分类如下:
即是,当感知器的输出为1时,输入样本称为A类;输出为-1时,输入样本称为B类。从上可知感知器的分类边界是:
在输入样本只有两个分量X1,X2时,则有分类边界条件:
即
W1 X1 +W2 X2 -θ=0 (1-17)
也可写成
这时的分类情况如固1—10所示。
感知器的学习算法目的在于找寻恰当的权系数w=(w1.w2,…,Wn),使系统对一个特 定的样本x=(xt,x2,…,xn)熊产生期望值d。当x分类为A类时,期望值d=1;X为B类 时,d=-1。为了方便说明感知器学习算法,把阀值θ 并人权系数w中,同时,样本x也相应增加一 个分量xn+1 。故令:
Wn+1 =-θ,Xn+1 =1 (1-19)
则感知器的输出可表示为:
感知器学习算法步骤如下:1.对权系数w置初值对权系数w=(W1 .W2 ,…,Wn ,Wn+1 )的各个分量置一个较小的零随机值,但Wn+1 =—g。并记为Wl (0),W2 (0),…,Wn (0),同时有Wn+1(0)=-θ 。这里Wi (t)为t时刻从第i个输入上的权系数,i=1,2,…,n。Wn+1 (t)为t时刻时的阀值。
图1-10 感知器的分类例子
2.输入一样本X=(X1 ,X2 ,…,Xn+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取值太大则会影响wi (t)的稳定;的取值也不能太小,太小则会使Wi (t)的求取过程收敛速度太慢。
当实际输出和期望值d相同时有:
Wi (t+1)=Wi (t)
6.转到第2点,一直执行到一切样本均稳定为止。
从上面式(1—14)可知,感知器实质是一个分类器,它的这种分类是和二值逻辑相应的。因此,感知器可以用于实现逻辑函数。下面对感知器实现逻辑函数的情况作一些介绍。
例:用感知器实现逻辑函数X1 VX2 的真值:
以X1VX2=1为A类,以X1VX2=0为B类,则有方程组
从式(1—24)有:
W1 ≥θ,W2 ≥θ
令 W1 =1,W2 =2
则有: θ ≤1
取 θ=0.5
则有:X1+X2-0.5=0,分类情况如图1—11所示。
图1-11 逻辑函数X1 VX2 的分类