【机器学习-学习笔记】神经网络(前向传播算法、反向传播算法)

基本架构

神经网络分类示例:

前向传播:计算神经网络预测结果,从第一层开始正向一层一层进行计算,直到最后一层的h_{\theta }(x)

反向传播:计算代价函数的偏导数\frac{\partial }{\partial \theta_{ij}^{l} }J(\theta ),首先计算最后一层(输出层)的误差,然后再一层一层反向求出各层的误差,知道倒数第二层(不计算输入层,输入层没有误差)。

前向传播算法:

神经网络用于分类场景:

神经网络代价函数:

反向传播算法:

小结一下使用神经网络时的步骤: 
1、网络结构:第一件要做的事是选择网络结构,即决定选择多少层以及决定每层分别有多少个单元。 
2、第一层的单元数即我们训练集的特征数量。 
3、后一层的单元数是我们训练集的结果的类的数量。 
4、如果隐藏层数大于 1,确保每个隐藏层的单元个数相同,通常情况下隐藏层单元的个数越多越好。 
5、我们真正要决定的是隐藏层的层数和每个中间层的单元数。 

训练神经网络步骤: 
1、参数的随机初始化 
2、利用正向传播方法计算所有的h_{\theta }(x) 
3、编写计算代价函数J的代码 
4、利用反向传播方法计算所有偏导数 
5、利用数值检验方法检验这些偏导数 (梯度检查完毕后需停用,因为该计算量很大,非常慢)
6、使用优化算法来最小化代价函数

J(θ)是一个非凸函数,使用正向和反向传播算法得出的是局部极小值点,但结果一般足够满足日常计算需求。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值