BP算法的核心步骤
1. 求得在特定输入下实际输出与理想输出的平方误差函数。
2. 利用误差函数对神经网络中的阈值以及连接权值根据导数的“链式求导”法则对各种变量求导。
3. 根据梯度下降算法,对极小值进行逼近,当满足条件时,跳出循环
由于对单个样本来说可以不断更新权值阈值,无限逼近期望值:标准BP算法,计算量大,对于不同样本训练后可能会使得前一个效果变坏。
对多个样本来说。误差函数是单个样本的累加,所以每计算一次累积误差后对网络权值阈值进行更新:累积BP算法 前期下降快到达极小值附近后下降慢,可能波动
下面以《机器学习 周克华》P84中西瓜分类的例子进行训练。
编号,色泽,根蒂,敲声,纹理,脐部,触感,密度,含糖率,好瓜
1,青绿,蜷缩,浊响,清晰,凹陷,硬滑,0.697,0.46,是
2,乌黑,蜷缩,沉闷,清晰,凹陷,硬滑,0.774,0.376,是
3,乌黑,蜷缩,浊响,清晰,凹陷,硬滑,0.634,0.264,是
4,青绿,蜷缩,沉闷,清晰,凹陷,硬滑,0.608,0.318,是
5,浅白,蜷缩,浊响,清晰,凹陷,硬滑,0.556,0.215,是
6,青绿,稍蜷,浊响,清晰,稍凹,软粘,0.403,0.237,是
7,乌黑,稍蜷,浊响,稍糊,稍凹,软粘,0.481,0.149,是
8,乌黑,稍蜷,浊响,清晰,稍凹,硬滑,0.437,0.211,是
9,乌黑,稍蜷,沉闷,稍糊,稍凹,硬滑,0.666,0.091,否
10,青绿,硬挺,清脆,清晰,平坦,软粘,0.243,0.267,否
11,浅白,硬挺,清脆,模糊,平坦,硬滑,0.245,0.057,否
12,浅白,蜷缩,浊响,模糊,平坦,软粘,0.343,0.099,否
13,青绿,稍蜷,浊响,稍糊,凹陷,硬滑,0.639,0.161,否