版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1 反向传播算法和BP网络简介
误差反向传播算法简称反向传播算法(即BP算法)。使用反向传播算法的多层感知器又称为BP神经网络。BP算法是一个迭代算法,它的基本思想为:(1)先计算每一层的状态和激活值,直到最后一层(即信号是前向传播的);(2)计算每一层的误差,误差的计算过程是从最后一层向前推进的(这就是反向传播算法名字的由来);(3)更新参数(目标是误差变小)。迭代前面两个步骤,直到满足停止准则(比如相邻两次迭代的误差的差别很小)。
本文的记号说明:
下面以三层感知器(即只含有一个隐藏层的多层感知器)为例介绍“反向传播算法(BP 算法)”。
2 信息前向传播
3 误差反向传播
3.1 输出层的权重参数更新
3.2 隐藏层的权重参数更新
3.3输出层和隐藏层的偏置参数更新
3.4 BP算法四个核心公式
3.5 BP 算法计算某个训练数据的代价函数对参数的偏导数
![](https://i-blog.csdnimg.cn/blog_migrate/b1239a8b7b92d56c281aa949acf825bc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dad195ffe30ecdce2a4721861dca829d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5c0de818824bf7c9e6cf24d89cb8c261.png)
3.6 BP 算法总结:用“批量梯度下降”算法更新参数
![](https://i-blog.csdnimg.cn/blog_migrate/cae6952d2d8600ff59de09f32c4a9b26.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a71b2f84a6cb87b4d3e6c8ae687ff08b.png)
4 梯度消失问题及其解决办法
![](https://i-blog.csdnimg.cn/blog_migrate/6629f3ff0155033da193c4e85354ef6f.png)
5 加快 BP 网络训练速度:Rprop 算法
![](https://i-blog.csdnimg.cn/blog_migrate/9e671b094cf55d953cfadf046067cf43.png)