内容发布更新时间 : 2024/11/15 11:52:07星期一 下面是文章的全部内容请认真阅读。
神经元的输出由下式给出:
x y???? (? w j j?? b) j??1 n
这里输入的加权和(括号内部分)由一个非线性函数传递, b 表
示与偏差输入相关的权值, w j 表示与第 j 个输入相关的权值。
使用最广泛的函数是 S 形函数,其曲线家族包括对数函数和双曲
正切函数,这些都可用来对人口动态系统、经济学系统等建模。另外
所用的其他函数有高斯函数、正弦函数、反正切函数,在此不一一展
开介绍,本文主要使用的激励函数是对数函数,函数表达式为:
y?? L(u)???
1 1?? e?u
函数曲线如下图所示:
1 0.8 0.6 0.4 0.2 0 -0.2 -10
-8
-6
-4
-2
0
2
4
6
8
10 对于有限输入量,对数函数输出范围为 y?? (0,1)。在输入为 u?? 0 时, 输出值为中间值 y?? 0.5。输出在 u?? 0 附近随着输入的增加以相对快的
Page 5 of 25
速率增加并非常慢地到达上限。对于 u?? 0 ,输出起初减少得很快,然
后随着下限的接近将会变慢。
训练神经元的规则有很多种,这里首先介绍利用 delta 规则的学
习,神经元选择为一个单输入单输出的简单情形,数学描述如下:
u?? wx?? b, y???
1 1?? e?u
该神经元具有一个输入 x ,权重为 w ,偏差输入为 b ,目标输出
为 t ,预报输出为 y 。则预报误差为:
E?? t?? y?? t???
1 1 ? t???1?? e?u 1?? e? wx?b
为消除当误差在整个输入模式上求和时引起的误差符号问题,在
delta 规则里使用的误差指示是平方误差,定义为:
1 1 2 2 1 )2
? wx?b 1?? e
根据 delta 规则,最优权值(使平方误差最小)可以在训练过程
中从初始权值出发,沿负梯度方向下降得到。将平方误差对 w, b (神
经元的可调整参数)进行微分,得:
e?u ???
???E????u (1?? e?u )2
??? ????u e?u
??????????? E?????????? x ?w ?u??w (1?? e?u )2 ??? ????u e?u
??????????? E???
?b ?u??b (1?? e?u )2
根据 delta 原则,权值改变应与误差梯度的负值成比例,引入学 习率?? ,每次迭代中的权值改变可表示为:
?? e?u
?w??????????????? E?????????? x ?w (1?? e?u )2 e?u ????b??????????????? E???
?b (1?? e?u )2
Page 6 of 25
学习率?? 决定了沿梯度方向的移动速度,以确定新的权值。大的
? 值会加快权值的改变,小的?? 值则减缓了权值的改变。第 i 次迭代
后的新权值可表示为:
wi??1?? wi?????? E???
bi??1?? bi?????? E???
e?u (1?? e?u )2 e?u
(1?? e?u )2
? x
如果将偏差输入 b 视为输入 x 的一部分,令 x0?? 1, w0?? b,可以得到
对于多输入神经元的权值修正式:
w
?1
ij ji
e?u
? w ?????? E???(1?? e?u )2 ? x j , j?? 0,1, 2, , n
总之,利用 delta 规则的有监督的学习可以按如下方法来实现: 一个输入模式( x0 , x1, x2 , , xn)通过连接被传递,它的初始权值被设置
为任意值。对加权的输入求和,产生输出 y ,然后 y 与给定的目标输 出 t 做比较决定此模式的平方误差?? 。输入和目标输出不断地被提出,
在每一次迭代或每一个训练时间后利用 delta 规则进行权值调整直到
得到可能的最小平方误差。
delta 规则在每一步中通过导数寻找在误差平面中某个特定点局
部区域的斜率,它总是应用这个斜率从而试图减小局部误差,因此,
delta 规则不能区分误差空间中的全局最小点和局部最小点,它本身
不能克服单层神经网络的局限,无法直接应用到多层神经网络(易陷
入局部最小点),但它的一般形式是多层神经网络中的学习算法——
反传算法的核心。
在多层前向神经网络的训练过程中,误差导数或关于权值的误差
Page 7 of 25
表面的斜率对权值的调整是至关重要的,在网络训练期间,所有的输 出神经元和隐含神经元权值必须同时调整,因此,有必要找出关于所
有权值的误差导数。由于网络层数增多,平方误差?? 与权值的连接没
有之前单个神经元时那么直接,故可以使用链式规则的概念来找到导
数。
下面对一个含有一层隐含神经元的 BP 网络进行讨论,网络结构
如下图所示:
x0?? 1 1 a0m a01 ?? ?? y1 b1 y0?? 1
x1 1 b0 x2
1 ?? 1 z bm an1 xn ym anm
1 ????各个神经元的输入输出关系为:
n 1
x yi??? a ji j , i?? 1, 2, 1?? e?ui , ui????j??0
m
, m
z?? v, v???? bi iy i??0
设目标输出为 t ,则平方误差?? 定义为: Page 8 of 25