简介
BP算法,称“误差逆传播算法”,亦称“反向传播算法”,是迄今为止用得最多的多层神经网络学习算法。用BP算法训练的多层前馈神经网络称为“BP网络”。
算法流程
BP算法采取基于梯度下降的策略,以目标的负梯度方向对参数进行调整,其目标是最小化训练误差。对每个训练样例,算法执行以下操作:
- 先将输入示例提供给输入层神经元,然后逐层将信号前递,直至输出层产生结果;
- 然后计算输出层的误差,再将误差反向传播至隐层神经元;
- 最后根据隐层神经元的误差对连接权和阈值进行调整。
该迭代过程循环进行,直到达到某个停止条件为止,例如训练误差已达到一个很小的值。西瓜书中伪代码如下(P104):
累积BP算法
我们上面介绍的是“标准BP算法”,每次仅针对于一个训练样例更新连接权和阈值,也就是算法的更新规则是基于单个的E _k推导而得,如果类似地推导出基于累积误差最小化的更新原则,就得到了累积BP算法。累积BP算法在读取整个训练集一遍后才对参数进行更新,相对于标准BP算法,其参数更新的频率低得多。但在很多任务中&#x