吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

本篇讲述了神经网络的误差反向传播以及训练一个神经网络模型的流程

更多内容参考 机器学习&深度学习

神经网络可以理解为两个过程:信号的正向传播和误差的反向传播。在正向的传播过程中,计算方法为Sj=wijxi+bj,其中i是样本、j是层数。然后xj=f(Sj),f为**函数。引入**函数的原因是可以带来一定的非线性特性。由于样本的y是在最后一层输出的,因此在计算误差的时候,需要从最后一层开始计算、针对与之关联的参数进行求梯度,获得参数的更新。然后再计算前一层的误差,前一层的误差等于权值误差值,继续计算每个参数的梯度变化。在神经网络中很容易形成局部最优解,因此需要初始的随机性比较好。

神经网络中的每一层可以用下面的表达式来表示:
吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

通过最后一层的误差,就能推出来每一层的误差值。
吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

通过误差值计算梯度,然后修改权值
吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

神经网络的流程

吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

有时候误差传播代码是有问题,可以通过梯度检测,判断是否有问题。
吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

posted @ 2018-07-22 15:21 xingoo 阅读(...) 评论(...) 编辑 收藏