基于误差反传的多层感知器——BP神经网络

郑重声明:以下内容,完全参考韩力群编著的《人工神经网络理论,设计及应用》

BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。

1. BP网络模型

我们以单隐层感知器为例进行BP网络模型的说明,一般习惯将单隐层感知器称为三层感知器,所谓三层包括了输入层,隐层和输出层。
三层感知器中,输入向量为 X = ( x 1 , x 2 , ⋯   , x i , ⋯   , x n ) T \bm X=(x_1,x_2,\cdots,x_i,\cdots,x_n)^T X=(x1,x2,,xi,,xn)T,图中 x 0 = − 1 x_0=-1 x0=1是为隐层神经元引入阈值而设置的;隐层输出向量为 Y = ( y 1 , y 2 , ⋯   , y j , ⋯   , y m ) T \bm Y=(y_1,y_2,\cdots,y_j,\cdots,y_m)^T Y=(y1,y2,,yj,,ym)T,图中 y 0 = − 1 y_0=-1 y0=1是为输出层神经元引入阈值而设置的;输出层的向量为 O = ( o 1 , o 2 , ⋯   , o k , ⋯   , o l ) T \bm O=(o_1,o_2,\cdots,o_k,\cdots,o_l)^T O=(o1,o2,,ok,,ol)T;期望输出向量为 d = ( d 1 , d 2 , ⋯   , d k , ⋯   , d l ) T \bm d=(d_1,d_2,\cdots,d_k,\cdots,d_l)^T d=(d1,d2,,dk,,dl)T

输入层到隐层之间的权值矩阵用 V \bm V V表示, V = ( V 1 , V 2 , ⋯   , V j , ⋯   , V m ) \bm V=(\bm V_1,\bm V_2,\cdots,\bm V_j,\cdots,\bm V_m) V=(V1,V2,,Vj,,Vm),其中列向量 V j \bm V_j Vj为隐层第 j j j个神经元对应的权向量,隐层到输出层之间的权值矩阵用 W \bm W W表示, W = ( W 1 , W 2 , ⋯   , W k , ⋯   , W l ) \bm W=(\bm W_1,\bm W_2,\cdots,\bm W_k,\cdots,\bm W_l) W=(W1,W2,,Wk,,Wl),其中列向量 W k \bm W_k Wk为输出层第 k k k个神经元对应的权向量
下面分析各层信号之间的数学关系。

对于输出层,有:
o k = f ( n e t k ) k = 1 , 2 , ⋯   , l (1.1) o_k=f({\rm net}_k)\quad\quad k=1,2,\cdots,l \tag{1.1} ok=f(netk)k=1,2,,l(1.1) n e t k = ∑ j = 0 m w j k y j k = 1 , 2 , ⋯   , l (1.2) {\rm net}_k=\sum^m_{j=0}w_{jk}y_j\quad k=1,2,\cdots,l \tag{1.2} netk=j=0mwjkyjk=1,2,,l(1.2)对于隐层,有:
y i = f ( n e t j ) j = 1 , 2 , ⋯   , m (1.3) y_i=f({\rm net}_j)\quad\quad j=1,2,\cdots,m\tag{1.3} yi=f(netj)j=1,2,,m(1.3) n e t j = ∑ i = 0 n v i j x i j = 1 , 2 , ⋯   , m (1.4) {\rm net}_j=\sum^n_{i=0}v_{ij}x_i\quad j=1,2,\cdots,m\tag{1.4} netj=i=0nvijxij=1,2,,m(1.4)以上两式中,激活函数(转移函数) f ( x ) f(x) f(x)均为单极性Sigmoid函数:

f ( x ) = 1 1 + e − x (1.5) f(x)=\frac{1}{1+{\rm e}^{-x}}\tag{1.5} f(x)=1+ex1(1.5) f ( x ) f(x) f(x)具有连续、可导的特点,且有:
f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) (1.6) f'(x)=f(x)(1-f(x))\tag{1.6} f(x)=f(x)(1f(x))(1.6) 根据需要,也可以采用双极性Sigmoid函数(或称双曲线正切函数):
f ( x ) = 1 − e − x 1 + e − x (1.7) f(x)=\frac{1-{\rm e}^{-x}}{1+{\rm e}^{-x}}\tag{1.7} f(x)=1+ex1ex(1.7)式(1.1) ~ (1.5)共同构成了三层感知器的数学模型。

2. BP学习算法

下面一三层感知器为例介绍BP学习算法,然后将所得结论推广到一般多层感知器的情况。

2.1 网络误差定义和权值调整思路

在进行下面推导的过程中,我们必须要重视以下符号的含义:

  • w j k h w_{jk}^h wjkh:表示第 h − 1 h-1 h1隐层第 j j j个神经元的输出值 传递到第 h h h隐层第 k k k个神经元时的缩放比例,称之为权值
  • y j h y^h_j yjh:表示第 h h h隐层第 j j j个神经元的输出值,也是 h + 1 h+1 h+1层神经元d 输入值经过权重 w j k h + 1 w_{jk}^{h+1} wjkh+1缩放后的一部分。
  • n e t j h {\rm net}_j^h netjh:表示第 h h h隐层第 j j j个神经元的集结输入值, n e t j h = ∑ j = 0 m w i j h y i h − 1 {\rm net}_j^h=\sum^m_{j=0}w^h_{ij}y^{h-1}_i netjh=j=0mwijhyih1
  • f ( n e t j h ) f({\rm net}_j^h) f(netjh):表示第 h h h隐层第 j j j个神经元的激活函数(转移函数),即: y j h = f ( n e t j h ) y_j^h=f({\rm net}_j^h) yjh=f(netjh)
  • δ j h \delta^h_j δjh:表示第 h h h隐层第 j j j个神经元的输出误差信号,也称为学习信号,这是因为网络误差函数 E E E 对第 h h h隐层第 j j j个神经元的
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值