吴恩达机器学习笔记2-神经网络

前向传播(Forward Propagation)

a ( 1 ) = x
a ( 2 ) = g ( θ ( 1 ) x )
a ( 3 ) = g ( θ ( 2 ) a ( 2 ) )

反向传播(Backward Propagation)

梯度下降算法需要计算梯度,而梯度就是所有参数的偏导数。对于神经网络来说,BP算法是一种计算偏导数的利器。

符号解释

wij——权重
aij——权重处理后的输出,即w*x,i表示第i层,j表示第j个输出
g(x)——激励函数
C——最终的损失函数
yk——实际的标签值

基本公式
C = 1 2 k ( y k t k ) 2

a i j = k = 1 N w k j ( i 1 ) g [ a ( i 1 ) k ]

δ k + 1 := E a ( k + 1 ) j

算法过程

  1. 初始化权重wij
  2. 前向传播。计算每个节点的输出值
  3. 对输出层求
    δ k = ( y k t k ) · g ( a k )
  4. 对隐藏层求
    δ k = j δ k + 1 · w i j ( k ) g ( a ( k + 1 ) j )
  5. 求梯度
    C n w j i = δ j · g ( a i )
  6. 更新权重
    w m + 1 = w m + α C w

推导过程

  1. 最后一层的权重求导。总损失对权重求导等于先对线性组合求导,乘以线性组合对权重的求导。根据之前的符号设定换成delta,然后根据线性组合a的公式得出后面的导数。
    C w i j ( k ) = C a ( k + 1 ) j · a ( k + 1 ) j w i j ( k )

    = δ k + 1 · g ( a k j )
  2. 隐藏层的求导。

C w l i ( k 1 ) = C a k i · a k i w l i ( k 1 ) = δ k · g ( a ( k 1 ) j )

= j C a ( k + 1 ) j · a ( k + 1 ) j g ( a k i ) · g ( a k i ) a k i · a k i w l i ( k 1 )

= j δ k + 1 · w i j ( k ) g ( a ( k + 1 ) j ) · g ( a ( k 1 ) i )

so

δ k = j δ k + 1 · w i j ( k ) g ( a ( k + 1 ) j )

神经网络的归纳偏置

可以粗略地刻画为在数据点之间平滑插值

猜你喜欢

转载自blog.csdn.net/zic234gh9/article/details/81590352