您好,欢迎访问三七文档
BP算法推算过程当加入第k个输入时,隐蔽层h结点的输入加权和为:ikiihkhxws相应点的输出:)xw(F)s(Fyikiihkhkh同样,输出层j结点的输入加权和为:hikiihhjhkhhjkj)xw(Fwyws相应点的输出:])xw(Fw[F)yw(F)s(Fyhikiihhjhkhhjkjkj这里,各结点的阈值等效为一个连接的加权θ=w0h或w0j,这些连接由各结点连到具有固定值-1的偏置结点,其连接加权也是可调的,同其它加权一样参与调节过程。误差函数为:jkhikiihhjkjjkkjkjxwFwFTyTWE,2,2]})([{21)(21)(为了使误差函数最小,用梯度下降法求得最优的加权,权值先从输出层开始修正,然后依次修正前层权值,因此含有反传的含义。根据梯度下降法,由隐蔽层到输出层的连接的加权调节量为:kkhkjkkhkjkjkjhjhjyy)s(F)yT(wEw其中kj为输出结点的误差信号:kjkjkjkjkjkj)s(F)yT)(s(F(1)kjkjkjyT对于输入层到隐蔽层结点连接的加权修正量Δwih,必须考虑将E(W)对wih求导,因此利用分层链路法,有:kkikhj,kkikhhjkjj,kkikhhjkjkjkjihkhkkhihihxx)s(Fw}x)s(Fw)s(F)yT{(wyyEwEw其中:khkhjkjhjkhkh)s(Fw)s(F(2)jkjhjkhw可以看出,式(1)和(2)具有相同的形式,所不同的是其误差值的定义,所以可定义BP算法对任意层的加权修正量的一般形式:P_no_vectorinopqyw若每加入一个训练对所有加权调节一次,则可写成:inopqyw其中,下标o和in指相关连接的输出端点和输入端点,yin代表输入端点的实际输入,δo表示输出端点的误差,具体的含义由具体层决定,对于输出层由式(1)给出,对隐蔽层则由式(2)给出。输出层kjkjkjyT可直接计算,于是误差值kj很容易得到。对前一隐蔽层没有直接给出目标值,不能直接计算kh,而需利用输出层的kj来计算:jkjhjkhw因此,算出kh后,kh也就求出了。如果前面还有隐蔽层,用kh再按上述方法计算kl和kl,以此类推,一直将输出误差δ一层一层推算到第一隐蔽层为止。各层的δ求得后,各层的加权调节量即可按上述公式求得。由于误差kj相当于由输出向输入反向传播,所以这种训练算法称为误差反传算法(BP算法)。
本文标题:BP算法推算过程
链接地址:https://www.777doc.com/doc-2901007 .html