BP算法及式5.13的推导
注:部分术语并不标准,仅是便于理解使用
文章目录
1.概念
误差逆传播(error BackPropagation,简称BP)算法是用于训练多层网络的学习算法中最杰出的代表,它是迄今为止最成功的神经网络学习算法。
通常说BP网络时,指的是用BP算法训练的多层反馈神经网络。
2.模型
2.1.参数解释
输入层输出: x1~xd
输入层的输出与隐层的输入的关联函数: αh 的计算式 即 v1h~vdh 的和
隐层第h个神经元的输入: αh
隐层第h个神经元的阈值: γh
隐层第h个神经元输入到输出的关联函数: f(αh-γh)
隐层输出: b1~bq
隐层的输出与输出层的输入的关联函数: βj 的计算式 即 w1j~wqj 的和
输出层第j个神经元的输入: βj
输出层第j个神经元的阈值: θj
输出层第j个神经元输入到输出的关联函数: f(βj-θj)
输出层输出: y1-yl
3.分类:
3.1标准BP算法
每输入一个样例便更新一次参数。
3.2.累积BP算法
读取完整个训练集后再对参数进行更新。
(相比之下标准BP算法更好。)
4.BP与过拟合
4.1.解释
由于BP算法其强大的表示能力,BP算法经常遭遇过拟合。
(过拟合:当学习器把训练样本学的过多时,很可能把训练样本自身的一些特点当作了所有潜在样本会具有的一般性质,这样就会导致泛化性能下降,这种现象在机器学习中称为"过拟合"(overfitting).
4.2.解决方法:
4.2.1.早停
将数据分为训练集以及验证集,训练集用于计算梯度,更新参数,验证集用于计算误差,当训练集误差降低但验证集的误差却增高时,停止训练,返回有最小验证集误差的结果。
4.2.2.正则化
在误差目标函数中增加一用于描述网络复杂度的部分。(不太理解 省略)