输入层:神经元数量为
d
d
d个,输入为
x
i
x_i
xi,
i
=
1
,
2
,
.
.
.
,
d
i=1,2,...,d
i=1,2,...,d
隐藏层:神经元数量为
q
q
q个,阈值为
γ
h
γ_h
γh,
h
=
1
,
2
,
.
.
.
,
d
h=1,2,...,d
h=1,2,...,d
输出层:神经元数量为
l
l
l个,阈值为
θ
j
θ_j
θj,
j
=
1
,
2
,
.
.
.
,
l
j=1,2,...,l
j=1,2,...,l
输入层到隐藏层权值:
v
i
h
v_{ih}
vih
隐藏层到输出层权值:
ω
h
j
ω_{hj}
ωhj
第
h
h
h个隐藏层神经元输入为:
α
h
=
∑
i
=
1
d
v
i
h
x
i
α_h=\sum_{i=1}^d v_{ih}x_i
αh=∑i=1dvihxi
第
h
h
h个隐藏层神经元输出为:
b
h
=
f
(
α
h
−
γ
h
)
b_h=f(α_h-γ_h)
bh=f(αh−γh)
第
j
j
j个输出层神经元输入为:
β
j
=
∑
h
=
1
q
ω
h
j
b
h
β_j=\sum_{h=1}^q ω_{hj}b_h
βj=∑h=1qωhjbh
训练例:
(
x
k
,
y
k
)
(x_k,y_k)
(xk,yk)
第
j
j
j个输出层神经元输出为:
y
^
j
k
=
f
(
β
j
−
θ
j
)
\widehat y_j^k=f(β_j-θ_j)
yjk=f(βj−θj)
期待输出为:
y
j
k
y_j^k
yjk
网络在训练例
(
x
k
,
y
k
)
(x_k,y_k)
(xk,yk)的均方误差为:
E
k
=
1
2
∑
j
=
1
l
(
y
^
j
k
−
y
j
k
)
E_k=\frac{1}{2}\sum_{j=1}^l(\widehat y_j^k-y_j^k)
Ek=21∑j=1l(yjk−yjk)
激活函数采用Sigmoid:
f
(
x
)
=
1
1
+
e
−
x
f(x)=\frac{1}{1+e^{-x}}
f(x)=1+e−x1
采用最速下降策略 公式推导如下图所示:
结果如下:
Δ
ω
h
j
=
η
g
j
b
h
\Deltaω_{hj}=\eta g_jb_h
Δωhj=ηgjbh
Δ
θ
j
=
−
η
g
j
\Delta \theta _j=-\eta g_j
Δθj=−ηgj
Δ
v
i
h
=
η
e
h
x
i
\Delta v_{ih}=\eta e_hx_i
Δvih=ηehxi
Δ
γ
h
=
−
η
e
h
\Delta \gamma _h=-\eta e_h
Δγh=−ηeh 其中,
g
j
=
−
∂
E
k
∂
y
^
j
k
∂
y
^
j
k
∂
β
j
=
−
y
^
j
k
(
1
−
y
^
j
k
)
(
y
^
j
k
−
y
j
k
)
g_j=-\frac{\partial E_k}{\partial \widehat y_j^k} \frac{\partial \widehat y_j^k}{\partial \beta _j}=-\widehat y_j^k(1-\widehat y_j^k)(\widehat y_j^k-y_j^k)
gj=−∂yjk∂Ek∂βj∂yjk=−yjk(1−yjk)(yjk−yjk)
e
h
=
b
h
(
1
−
b
h
)
∑
j
=
1
l
ω
h
j
g
j
e_h=b_h(1-b_h)\sum_{j=1}^l\omega_{hj}g_j
eh=bh(1−bh)∑j=1lωhjgj