机器学习 (三): 反向传播数学推导 & 神经网络

反向传播推导 & 神经网络

约定

本小节所使用的神经网络如图所示
神经网络
其中

  • 一共有三层, 序号分别是 0, 1, 2 (第0层为输入层)
  • 输入为向量 x x x 有两个项 x 1 x_1 x1 x 2 x_2 x2
  • a ( i ) a^{(i)} a(i) 表示第 i 层的输出向量, a j ( i ) a_j^{(i)} aj(i) 表示第 i 层输出向量的第 j 项. 注意 x = a ( 0 ) x = a^{(0)} x=a(0)
  • W ( i ) W^{(i)} W(i) 表示连接第 i-1 层和第 i 层的边, 即系数, w j k ( i ) w_{jk}^{(i)} wjk(i) 表示连接第 i 层第 j 个节点和第 i-1 层第 k 个节点的边, 注意 jk 的顺序是从右到左连接
  • z ( i ) = W ( i ) × a ( i − 1 ) z^{(i)} = W^{(i)} \times a^{(i-1)} z(i)=W(i)×a(i1)
  • a ( i ) = s i g m o i d ( z ( i ) ) a^{(i)} = sigmoid(z^{(i)}) a(i)=sigmoid(z(i)) 也就是说本网络使用的激活函数是 sigmoid
  • s i g m o i d ( x ) = 1 1 + e − x sigmoid(x) = \frac{1}{1 + e^{-x}} sigmoid(x)=1+ex1
  • 损失函数为 J ( W , x , y ) = ∑ i = 1 2 [ y l n ( a i ( 2 ) ) + ( 1 − y ) l n ( 1 − a i ( 2 ) ) ] J(W, x, y) = \sum_{i=1}^2[yln(a_i^{(2)}) + (1-y)ln(1 - a_i^{(2)})] J(W,x,y)=i=12[yln(ai(2))+(1y)ln(1ai(2))]
  • 简便起见不考虑 bias 项

推导

我们的目标是最小化 J ( W , x , y ) J(W, x, y) J(W,x,y), 其中 W 是所有的边, 而 x, y 是测试数据集为常量, 所以我们需要求 δ J δ W \frac{\delta J}{\delta W} δWδJ, 具体地, 我们要求 δ J δ w ( 2 ) \frac{\delta J}{\delta w^{(2)}} δw(2)δJ δ J δ w ( 1 ) \frac{\delta J}{\delta w^{(1)}} δw(1)δJ :

δ J δ w ( 2 ) = δ J δ a ( 2 ) × δ a ( 2 ) δ z ( 2 ) × δ z ( 2 ) δ w ( 2 ) \frac{\delta J}{\delta w^{(2)}} = \frac{\delta J}{\delta a^{(2)}} \times \frac{\delta a^{(2)}}{\delta z^{(2)}} \times \frac{\delta z^{(2)}}{\delta w^{(2)}} δw(2)δJ=δa(2)δJ×δz(2)δa(2)×

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值