单层前馈神经网络
2022-01-02

 

单层前馈神经网络

BP神经网络

符号解释

  1. Xk={x1k,x2k,,xdk}:输入的第k个数据,共d
  2. Vd×q:输入层到隐藏层的权重,q为隐藏层结点的个数
  3. γh,(1hq):输入层到隐藏层的阈值(偏置)
  4. αh,(1hq):隐藏层的输入
  5. bh,(1hq):隐藏层的输出
  6. Wq×l:隐藏层到输出层的权重,l为输出层结点的个数
  7. θj,(1jl):隐藏层到输出层的阈值(偏置)
  8. βj,(1jl),输出层的输入
  9. y^jk,(1jl):输出层的输出
  10. yjk,(1jl):输出层的label
  11. f:sigmoid函数,其导数特点为f(x)=f(x)(1f(x))
  12. EK:损失函数

前馈计算

  1. 输入层到隐藏层

    (1)αh=i=1dvihxikbh=f(αhγh)1hq
  2. 隐藏层到输出层

    (2)βj=h=1qwhjbhy^jk=f(βjθj)1jl
  3. 损失函数

(3)Ek=12j=1l(y^jkyjk)2

反向传播

  1. whj

    BP1

    因此,

    (4)Ekwhj=Eky^jky^jkβjβjwhj

    分开计算:

    (5)Eky^jk=[12j=1l(y^jkyjk)2]y^jk=12×2×(y^jkyjk)×1=y^jkyjky^jkβj=[f(βjθj)]βj=f(βjθj)×1=f(βjθj)×[1f(βjθj)]=y^jk(1y^jk)βjwhj=(h=1qwhjbh)whj=bh

    令:

    (6)gj=Eky^jky^jkβj=(y^jkyjk)y^jk(1y^jk)=y^jk(1y^jk)(yjky^jk)

    所以:

    (7)Δwhj=ηEkwhj=ηEky^jky^jkβjβjwhj=ηgjbh
  2. θj

    BP2

    因此,

    (8)Ekθj=Eky^jky^jkθj=(y^jkyjk)y^jkθj=(y^jkyjk)[f(βjθj)]θj=(y^jkyjk)f(βjθj)×1=(yjky^jk)f(βjθj)=(yjky^jk)y^jk(1y^jk)

    所以:

    (9)Δθj=ηEkθj=η(yjky^jk)y^jk(1y^jk)=ηgj
  3. vih

    B3

    因此,

    (10)Ekvih=j=1lEky^jky^jkβjβjbhbhαhαhvih

    分开计算,

    (11)βjbh=(h=1qwhjbh)bh=whjbhαh=[f(αhγh)]αh=f(αhγh)×1=f(αhγh)×[1f(αhγh)]=bh(1bh)αhvih=(i=1dvihxi)vih=xi

    令:

    (12)eh=Ekαh=j=1lEky^jky^jkβjβjbhbhαh=bh(1bh)j=1lwhjgj

    所以,

    (13)Δvih=ηEkvih=ηj=1lEky^jky^jkβjβjbhbhαhαhvih=ηehxi
  4. γh

B4

因此,

(14)Ekγh=j=1lEky^jky^jkβjβjbhbhγh=j=1lEky^jky^jkβjβjbh[f(αhγh)]γh=j=1lEky^jky^jkβjβjbhf(αhγh)(1)=j=1lEky^jky^jkβjβjbhf(αhγh)×[1f(αhγh)](1)=j=1lEky^jky^jkβjβjbhbh(1bh)(1)=j=1lEky^jky^jkβjwhjbh(1bh)(1)=j=1lgjwhjbh(1bh)=eh

所以:

(15)Δγh=ηEkγh=ηeh