要理解BP模型的理论基础,就必须先知道什么是最速下降算法.因为这是BP网络理论的重要基础.
通常来说,我们求解一个函数的极小值点,可以求解这个函数的导数,并令其为0.这样就可以求出其极小值点.但是在计算机当中,这样求解显得比较麻烦.这就产生了一种方法就是梯度最速下降算法.即从某一个点出发,沿着负梯度方向,不断的进行迭代,求出极小值点.
例如,求某一个函数φ(x)的最小值点,先从某一个点x(0)出发,沿φ(x)在x(0)的负梯度方向.r(0)=b-Ax(0),求得φ(x)的极小值点x(1),即可以写成minφ(x(0)+λr(0)),然后重x(1)出发,继续寻找下一个极小值点x(2).就这样一直下去.
最速下降法的迭代格式为:
r(k)=b - Ax(k) λ(k) = <r(k)',r(k)>/<r(k)',Ar(k)> k =1,2,... ... x(k+1) = x(k) + λ(k)r(k).
说白了也就是切线一直画,一直到它趋于0为止.
下面两张图看一下就更直观了.
这是书上在讲解BP模型原理时用到的两幅图.现在总算把它看明白一点了.