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

前向传播(Forward Propagation)

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

反向传播(Backward Propagation)

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

符号解释

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

基本公式
C=12k(yktk)2 C = 1 2 ∑ k ( y k − t k ) 2

aij=Nk=1wkj(i1)g[a(i1)k] a i j = ∑ k = 1 N w k j ( i − 1 ) g [ a ( i − 1 ) k ]

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

算法过程

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

推导过程

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

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

Cwli(k1)=Cakiakiwli(k1)=δkg(a(k1)j) ∂ C ∂ w l i ( k − 1 ) = ∂ C ∂ a k i · ∂ a k i ∂ w l i ( k − 1 ) = δ k · g ( a ( k − 1 ) j )

=jCa(k+1)ja(k+1)jg(aki)g(aki)akiakiwli(k1) = ∑ 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+1wij(k)g(a(k+1)j)g(a(k1)i) = ∑ j δ k + 1 · w i j ( k ) ∗ g ′ ( a ( k + 1 ) j ) · g ( a ( k − 1 ) i )

so

δk=jδk+1wij(k)g(a(k+1)j) δ k = ∑ j δ k + 1 · w i j ( k ) ∗ g ′ ( a ( k + 1 ) j )

神经网络的归纳偏置

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值