[Machine Learning Course of Andrew-Ng 吴恩达的机器学习课程]机器学习学习笔记(7)--实现神经网络

不必时时怀念我,也不要指望我回来,我离开以后,你们就是我,
Vive le peuple!

代价函数

神经网络的代价函数公式
看着挺复杂的
在这里插入图片描述
它求代价函数的方法和逻辑回归的方法类似,区别是它会将每个分类的代价函数进行相加

反向传播算法

为了实现神经网络的梯度下降,我们需要计算代价函数的偏导
这时候我们需要反向传播算法来实现这一目的

图为神经网络的前向传播
我想都应该看得懂。。。。
在这里插入图片描述
在这里插入图片描述
神经网络的后向传播
反向传播和前向传播的过程比较相似
每一项计算的是估计值和实际值之间的误差
每一项与对应的aj值相乘求得的即是代价函数对于theta的偏导
在这里插入图片描述

吴恩达这里没讲原理,只是讲了公式代表什么,如果想知道底层原理的话,建议找找其他教程

在这里插入图片描述
反向传播的伪代码
在这里插入图片描述

梯度检测

如果神经网络出现了什么bug,是不好检查的,而梯度检测就是应对这种情况的方法

我们的方法是通过用公式求偏/导数进行比较
用定义求导数都应该会吧
在这里插入图片描述

将此思想推广到多个特征上
在这里插入图片描述
将验证值和结果值比较就可以看有没有异常

如果不需要进行验证,请将此功能关掉,因为这个算法很吃算力

随机初始化

如果将参数初始化为0,或者说相同的值,就会导致求得的结果没有意义,神经网络在一次前向传播之后的传播都不会进行更新

在这里插入图片描述
解决方法就是将特征矩阵进行随机生成
在这里插入图片描述

吴对于设计神经网络建议

1.隐藏层默认使用一层,每个隐藏层的单元数相同
2.输入单元数和x(i)的维度一样,输出单元数和分类数一样

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值