吴恩达机器学习视频--神经网络反向传播算法公式推导

本文深入解析神经网络的反向传播算法,从基础知识出发,详细介绍了前向传播和反向传播过程。通过具体实例展示了如何计算最后一层到倒数第二层的误差,并推导出误差矩阵的更新公式,帮助理解神经网络的训练过程。
摘要由CSDN通过智能技术生成

反向传播算法

基础知识

我们在计算神经网络预测结果时采用了正向传播方法,从第一层开始正向一层一层进行计算算,直到最后一层的 h θ ( x ) h_\theta (x) hθ(x)。在不作正则化处理的情况下,逻辑回归中的代价函数如下所示:
J ( θ ) = − 1 m [ ∑ j = 1 m y ( i ) l o g h θ ( x i ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}[\sum_{j=1}^my^{(i)}logh_{\theta}(x^{i})+(1-y^{(i)})log(1-h_\theta(x^{(i)}))] J(θ)=m1[j=1my(i)loghθ(xi)+(1y(i))log(1hθ(x(i)))]
在神经网络中可以有很多输出变量,所以 h θ ( x ) h_\theta(x) hθ(x)是一个维度为 K K K的向量。此时代价函数如下所示:
J ( θ ) = − 1 m [ ∑ i = 1 m ∑ k = 1 k y k ( i ) l o g ( h θ ( x ( i ) ) ) k + ( 1 − y k ( i ) ) l o g ( 1 − ( h θ ( x ( i ) ) ) ) k ] J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m} \sum_{k=1}^{k}y_k^{(i)}log\left(h_\theta(x^{(i)})\right)_k + \left(1-y_k^{(i)}\right)log\left(1-\left(h_\theta(x^{(i)})\right)\right)_k \right] J(θ)=m1[i=1mk=1kyk(i)log(hθ(x(i)))k+(1yk(i))log(1(hθ(x(i))))k]
为了计算代价函数的偏导数 ∂ J ( θ ) ∂ θ i j ( l ) \frac{\partial J(\theta)}{\partial \theta_{ij}^{(l)}} θij(l)J(θ),我们需要一种反向传播算法,也就是首先计算最后一层的误差,然后再一层一层反向求出各层的误差,直到倒数第二层(第一层不存在误差)。以下面例子说明反向传播算法。
假设我们的训练集只有一个实例 ( x ( 1 ) , y ( 1 ) ) (x^{(1)},y^{(1)}) (x(1),y(1)),神经网络是一个四层的神经网络,其中 K = 4 , S L = 4 , L = 4 K=4,S_L=4,L=4

  • 41
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 35
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值