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