1、前向传播:向量化实现
上一篇文章,我们提到了神经网络种的一些约定表示,我们还可以进一步利用一些符号简化表示:
比如,将连接第2层的第1个单元的线性加权和
Θ
10
(
1
)
x
0
+
Θ
11
(
1
)
x
1
+
Θ
12
(
1
)
x
2
\Theta_{10}^{(1)}x_{0}+\Theta_{11}^{(1)}x_{1}+\Theta_{12}^{(1)}x_{2}
Θ10(1)x0+Θ11(1)x1+Θ12(1)x2表示成
z
1
(
2
)
z_{1}^{(2)}
z1(2),这样,该单元逻辑函数的输出值:
a
1
(
2
)
=
g
(
z
1
(
2
)
)
a_{1}^{(2)}=g(z_{1}^{(2)})
a1(2)=g(z1(2)),
同理,
a
2
(
2
)
=
g
(
z
2
(
2
)
)
a_{2}^{(2)}=g(z_{2}^{(2)})
a2(2)=g(z2(2))
a
3
(
2
)
=
g
(
z
3
(
2
)
)
a_{3}^{(2)}=g(z_{3}^{(2)})
a3(2)=g(z3(2))
进一步,如果把
x
x
x记为
a
(
1
)
a^{(1)}
a(1),
那么:
z
(
2
)
=
Θ
(
1
)
a
(
1
)
z^{(2)}=\Theta^{(1)}a^{(1)}
z(2)=Θ(1)a(1)
a
(
2
)
=
g
(
z
(
2
)
)
a^{(2)}=g(z^{(2)})
a(2)=g(z(2))
a
d
d
a
0
(
2
)
=
1
add\ a_{0}^{(2)}=1
add a0(2)=1
z
(
3
)
=
Θ
(
2
)
a
(
2
)
z^{(3)}=\Theta^{(2)}a^{(2)}
z(3)=Θ(2)a(2)
a
(
3
)
=
g
(
z
(
3
)
)
a^{(3)}=g(z^{(3)})
a(3)=g(z(3))
h
Θ
(
x
)
=
a
(
3
)
h_{\Theta}(x)=a^{(3)}
hΘ(x)=a(3)
从前向传播的式子可以看出,每一层的输入都是上一层抽象出来的特征: