机器学习-神经网络算法公式

摘抄自ULFDL

图1 神经网络图

《机器学习-神经网络算法公式》

nl :网络的层数,如上图为 3

Li :网络的第 i 层

bli :第 l+1 层第 i 单元的偏置项

Si :第 i 层有多少节点(偏置项除外)

z(l)i :第 l 层第 i 单元加权和(包括偏置单元)

f() :激活函数,有sigmoid函数、tant函数等

a(l)i :第 l 层第 i 单元的激活值(输出值), a(l)i=f(z(l)i)

W(l)ij :权重,表示第 l 层第 j 单元与第 l+1 层第 i 单元之间的联接参数

hW,b(x) :假设函数,代表输出值

前向传播算法(以图1为例),

z(2)=W(1)x+b(1)

a(2)=f(z(2))

z(3)=W(2)+b(1)

hW,b(x)=a(3)=f(z(3))

反向传播算法

  1. 进行前馈传导计算,利用前向传导公式,得到 L2,L3,...,Lnl 的激活值
  2. 对输出层(第 nl 层),计算: δ(nl)=(ya(nl))f(znl) 代表Octave中的 .* 运算。
  3. 对于 l=nl1,nl2,nl3,...,2 的各层,计算: δ(l)=((W(l))Tδ(l+1))f(z(l))
  4. 计算最终需要的偏导数值:
    W(l)J(W,b;x,y)=δ(l+1)(a(l))T ,
    b(l)J(W,b;x,y)=δ(l+1)

批量梯度一次迭代

  1. 对于所有 l ,令 ΔW(l):=0,Δb(l):=0 (设置为全零矩阵或零向量)
  2. 对于 i=1 m
    a. 使用反向传播算法计算: W(l)J(W,b;x,y) 和 : b(l)J(W,b;x,y)
    b. 计算: ΔW(l):=ΔW(l)+W(l)J(W,b;x,y)
    c. 计算: Δb(l):=Δb(l)+b(l)J(W,b;x,y)
  3. 更新权重参数:
    W(l)=W(l)α[(1mΔW(l))+λW(l)]
    b(l)=b(l)α[1mΔb(l)]
    原文作者:神经网络算法
    原文地址: https://blog.csdn.net/loveSophiaW/article/details/59494622
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞