1、l BP算法推算过程当加入第k个输入时,隐蔽层h结点的输入加权和为:相应点的输出:同样,输出层j结点的输入加权和为:相应点的输出:这里,各结点的阈值等效为一个连接的加权= w0h或w0j,这些连接由各结点连到具有固定值-1的偏置结点,其连接加权也是可调的,同其它加权一样参与调节过程。误差函数为:为了使误差函数最小,用梯度下降法求得最优的加权,权值先从输出层开始修正,然后依次修正前层权值,因此含有反传的含义。根据梯度下降法,由隐蔽层到输出层的连接的加权调节量为:其中为输出结点的误差信号:(1)对于输入层到隐蔽层结点连接的加权修正量wih,必须考虑将E(W)对wih求导,因此利用分层链路法,有:其
2、中:(2)可以看出,式(1)和(2)具有相同的形式,所不同的是其误差值的定义,所以可定义BP算法对任意层的加权修正量的一般形式:若每加入一个训练对所有加权调节一次,则可写成:其中,下标o和in指相关连接的输出端点和输入端点,yin代表输入端点的实际输入,o表示输出端点的误差,具体的含义由具体层决定,对于输出层由式(1)给出,对隐蔽层则由式(2)给出。输出层可直接计算,于是误差值很容易得到。对前一隐蔽层没有直接给出目标值,不能直接计算,而需利用输出层的来计算:因此,算出后,也就求出了。如果前面还有隐蔽层,用再按上述方法计算和,以此类推,一直将输出误差一层一层推算到第一隐蔽层为止。各层的求得后,各层的加权调节量即可按上述公式求得。由于误差相当于由输出向输入反向传播,所以这种训练算法成为误差反传算法(BP算法)。