ML学习笔记第五周(一):代价函数与反向传播

1 代价函数

符号表示具体含义
( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)) i i i个训练实例
m m m训练实例的个数
L L L神经网络结构的层数
s l s_l sl l l l层的单元数量(不包含偏置单元)

在这里插入图片描述
在这里插入图片描述
J ( Θ ) = − 1 m ∑ i = 1 m ∑ k = 1 K [ y k ( i ) log ⁡ ( ( h Θ ( x ( i ) ) ) k ) + ( 1 − y k ( i ) ) log ⁡ ( 1 − ( h Θ ( x ( i ) ) ) k ) ] + λ 2 m ∑ l = 1 L − 1 ∑ i = 1 s l ∑ j = 1 s l + 1 ( Θ j , i ( l ) ) 2 J(\Theta) = - \frac{1}{m} \sum_{i=1}^m \sum_{k=1}^K \left[y^{(i)}_k \log ((h_\Theta (x^{(i)}))_k) + (1 - y^{(i)}_k)\log (1 - (h_\Theta(x^{(i)}))_k)\right] + \frac{\lambda}{2m}\sum_{l=1}^{L-1} \sum_{i=1}^{s_l} \sum_{j=1}^{s_{l+1}} ( \Theta_{j,i}^{(l)})^2 J(Θ)=m1i=1mk=1K[yk(i)log((hΘ(x(i)))k)+(1yk(i))log(1(hΘ(x(i)))k)]+2mλl=1L1i=1slj=1sl+1(Θj,i(l))2

在神经网络中,我们可能有许多输出节点。我们表示 h Θ ( x ) k h_\Theta(x)_k hΘ(x)k作为一个假设,作为假设函数的第 k k k个输出。

我们添加了一些嵌套的求和来计算我们的多个输出节点。在等式的第一部分中,在方括号之前,我们有一个额外的嵌套求和,它循环输出节点的数量。

在正则化部分中,在方括号之后,我们必须考虑多个 Θ \Theta Θ矩阵。当前theta矩阵中的列数等于当前层中的节点数(包括偏置单元)(即 s j + 1 s_j+1 sj+1)。当前 Θ \Theta Θ矩阵中的行数等于下一层中的节点数(不包括偏置单元)(即 s j + 1 s_{j+1} sj+1)。与逻辑回归一样,我们对每个项都进行平方,以使最终的模型尽可能简洁。

2 反向传播算法

在这里插入图片描述
假设只有一个样本,把前向传播向量化,这使得我们可以计算神经网络结构里的每一个神经元的激励值。在这里插入图片描述
反向传播(Back propagation): δ j ( l ) \delta ^{(l)}_{j} δj(l)就是第 l l l层节点 j j j的误差。
注意:没有 δ ( 1 ) \delta ^{(1)} δ(1)项,因为第1层为输入层,没有误差。
在这里插入图片描述
反向传播法这个名字,源于我们从输出层开始计算 δ ( 4 ) \delta^{(4)} δ(4),然后我们返回到上一层计算第三隐藏层的 δ ( 3 ) \delta^{(3)} δ(3),接着我们再往前一步来计算 δ ( 2 ) \delta^{(2)} δ(2) ,所以说,我们是类似于把输出层的误差反向传播给了第3层,然后是再传到第2层,这就是反向传播的意思。
(右侧蓝色笔记为向量化之后的形式)
在这里插入图片描述
反向传播算法具体实现流程:(红色笔记为向量化后的操作)
在这里插入图片描述
在这里插入图片描述

3 反向传播直观理解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 参考资料

1、https://www.coursera.org

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值