反向传播算法公式的推导

转载于:http://blog.csdn.net/mzpmzk/article/details/52026843

作者:man_world

一、参数说明

参数说明

W(l)ij :表示第 l1 层的第 j 个特征到第 l 层第 i 个神经元的权值

b(l)ij :表示第 l1 层的第 j 个特征到第 l 层第 i 个神经元的偏置(其中 j 恒为0,输入特征值 a(l)0 恒为1)


二、公式定义

  • 激活函数(这里采用sigmoid函数来做分类): f(z)=11+ez
  • l 层神经元的状态值: z(l)=w(l)a(l1)+b(l) ,表示一个神经元所获得的输入信号的加权和(即:特征的线性组合)
  • l 层神经元的激活值: a(l)=f(z(l)) ,特征的非线性映射,可把 a(l) 看作更高级的特征
  • 损失函数(MSE): J(W,b;x,y)=12a(l)y(l)2=12nli=1[a(l)iy(l)i]2
    这里写图片描述
    这里写图片描述

三、结合实例分析推导过程

  1. 我们以一个两层神经元为例对推导过程详细分析
    two-layer-network

    • 输入特征和输出类标值分别为: [x0,x1,x2]=[1,0.05,0.1];y(2)=[0,1]
    • 各参数初始化值分别为:
      这里写图片描述
  2. 梯度值的推导
      这里写图片描述
     这里写图片描述
       这里写图片描述

第一个公式的中间部分 (Θ(L−1))Tδ(L) 样式很熟悉吧,就是线性回归算法的预测函数的样式。


四、梯度检验、梯度消失和梯度爆炸问题

参考NNDL第五章:神经网络为什么难训练?


五、权重的更新

权重是同时更新的!
UFLDL—-Backpropagation Algorithm


六、QA

  1. 为什么算个偏导数就能说损失函数沿着梯度方向下降得最快?
  2. 引入反向传播算法的原因?
    答:这是为了方便计算损失函数的偏导数,也就是首先计算最后一层的残差,然后再一层一层的反向求出各层的误差,直到倒数第二层。
  3. How to predict?
  4. softmax 回归的损失函数,以及它是怎么做预测的?
  5. 神经网络的决策函数,损失函数,参数学习算法?
  6. 搭建网络的大体框架—结合超参数的选择p98
  7. 几层神经网络可以学出其高级特征???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值