吴恩达机器学习课程笔记+代码实现(11)8.神经网络的学习(Neural Networks: Learning)

本章介绍了神经网络的学习,特别是反向传播算法。通过对代价函数的深入探讨,解释了如何计算多类分类神经网络的误差。反向传播从最后一层开始计算误差,逐层反向传播以求得各层误差,进而求得代价函数的偏导数。文章还讨论了参数初始化、梯度检验以及神经网络的综合应用步骤。
摘要由CSDN通过智能技术生成

8.神经网络的学习(Neural Networks: Learning)


本章编程作业及代码实现部分见:多类分类和神经网络 神经网络中的反向传播

8.1 代价函数

       首先引入一些便于稍后讨论的新标记方法:
       假设神经网络的训练样本有 m m m个,每个包含一组输入 x x x和一组输出信号 y y y L L L表示神经网络层数, S I S_I SI表示每层的neuron个数( S l S_l Sl表示输出层神经元个数), S L S_L SL代表最后一层中处理单元的个数。

       将神经网络的分类定义为两种情况:二类分类和多类分类,

       二类分类: S L = 0 , y = 0   o r   1 S_L=0, y=0\, or\, 1 SL=0,y=0or1表示哪一类;

        K K K类分类: S L = k , y i = 1 S_L=k, y_i = 1 SL=k,yi=1表示分到第 i i i类; ( k > 2 ) (k>2) (k>2)
       在这里插入图片描述

       我们回顾逻辑回归问题中我们的代价函数为:
J ( θ ) = 1 m ∑ i = 1 m [ − y ( i ) log ⁡ ( h θ ( x ( i ) ) ) − ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] + λ 2 m ∑ j = 1 n θ j 2 J\left( \theta \right)=\frac{1}{m}\sum\limits_{i=1}^{m}{[-{ {y}^{(i)}}\log \left( {h_\theta}\left( { {x}^{(i)}} \right) \right)-\left( 1-{ {y}^{(i)}} \right)\log \left( 1-{h_\theta}\left( { {x}^{(i)}} \right) \right)]}+\frac{\lambda }{2m}\sum\limits_{j=1}^{n}{\theta _{j}^{2}} J(θ)=m1i=1m[y(i)log(hθ(x(i)))(1y(i))log(1hθ(x(i)))]+2mλj=1nθ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值