1. 前言
反向傳播算法的簡(jiǎn)單計(jì)算過(guò)程
2. 反向傳播算法
2.1? 示例及初始數(shù)據(jù)
舉例說(shuō)明反向傳播算法的計(jì)算流程
偏置單元(Bias):? ? ? b1 = b2 = 1? ?
輸入單元(Input):? ? ?i1 = 0.05? ? i2 = 0.10
隱藏單元(Hidden):??h1,? h2? ? ? ? ? ?
輸出單元(Output):??o1,? o2
權(quán)重(Weight):W(b1) = 0.35? ? W(b2) = 0.60? ?
? ? ? ?W1 = 0.15? ? ? ? W2 = 0.20? ? ? ? W3 = 0.25? ? ? ? W4 = 0.30
? ? ???W5 = 0.40? ? ? ? W6 = 0.45? ? ? ? W7 = 0.50? ? ? ? W8 = 0.55
期望輸出(Target Output):T(o1) = 0.01? ? T(o2) = 0.99
[ 目標(biāo) ]? 輸入值 i1, i2 腋逆,經(jīng)過(guò)反向傳播,使得輸出值o1, o2與期望輸出T(o1), T(o2)接近
2.2? 算法流程
第1步:前向傳播(計(jì)算出輸出值 )
[前向傳播的計(jì)算公式]
Logistic Sigmoid函數(shù):?
假設(shè)(hypothesis):??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
[前向傳播的輸出結(jié)果]
a(h1) = 0.593269992? ? ?a(h2) = 0.596884378??
a(o1) = 0.75136507? ? ? ?a(o2) = 0.77292847
第2步:反向傳播(更新權(quán)重)
[反向傳播的計(jì)算公式]
神經(jīng)網(wǎng)絡(luò)在()上的均方誤差:?
(為輸出單元數(shù),?為輸出單元值,?為期望輸出值,是為后續(xù)求導(dǎo)的方便)
鏈?zhǔn)椒▌t:
結(jié)合鏈?zhǔn)椒▌t求導(dǎo)過(guò)程中的公式:
使用表示輸出層的誤差:
==
因此撑蚌,可表達(dá)為如下形式:
設(shè)學(xué)習(xí)率為0.5,更新W5的值:
同理搏屑,更新W6, W7, W8的值: