BP算法推算过程_精品文档.doc
《BP算法推算过程_精品文档.doc》由会员分享,可在线阅读,更多相关《BP算法推算过程_精品文档.doc(3页珍藏版)》请在冰豆网上搜索。
![BP算法推算过程_精品文档.doc](https://file1.bdocx.com/fileroot1/2022-10/14/49c9f23c-8522-4045-a756-22ad679ce583/49c9f23c-8522-4045-a756-22ad679ce5831.gif)
lBP算法推算过程
当加入第k个输入时,隐蔽层h结点的输入加权和为:
相应点的输出:
同样,输出层j结点的输入加权和为:
相应点的输出:
这里,各结点的阈值等效为一个连接的加权θ=w0h或w0j,这些连接由各结点连到具有固定值-1的偏置结点,其连接加权也是可调的,同其它加权一样参与调节过程。
误差函数为:
为了使误差函数最小,用梯度下降法求得最优的加权,权值先从输出层开始修正,然后依次修正前层权值,因此含有反传的含义。
根据梯度下降法,由隐蔽层到输出层的连接的加权调节量为:
其中为输出结点的误差信号:
(1)
对于输入层到隐蔽层结点连接的加权修正量Δwih,必须考虑将E(W)对wih求导,因此利用分层链路法,有:
其中:
(2)
可以看出,式
(1)和
(2)具有相同的形式,所不同的是其误差值的定义,所以可定义BP算法对任意层的加权修正量的一般形式:
若每加入一个训练对所有加权调节一次,则可写成:
其中,下标o和in指相关连接的输出端点和输入端点,yin代表输入端点的实际输入,δo表示输出端点的误差,具体的含义由具体层决定,对于输出层由式
(1)给出,对隐蔽层则由式
(2)给出。
输出层可直接计算,于是误差值很容易得到。
对前一隐蔽层没有直接给出目标值,不能直接计算,而需利用输出层的来计算:
因此,算出后,也就求出了。
如果前面还有隐蔽层,用再按上述方法计算和,以此类推,一直将输出误差δ一层一层推算到第一隐蔽层为止。
各层的δ求得后,各层的加权调节量即可按上述公式求得。
由于误差相当于由输出向输入反向传播,所以这种训练算法成为误差反传算法(BP算法)。