浅层神经网络
神经网络概述(Neural Network Overview)
把许多sigmoid单元堆叠起来形成一个神经网络。
神经网络的表示
例子只有一个隐藏层:
隐藏层只是表无法在训练集中看到他们。
a a a表示激活的意思,它意味着网络中不同层的值会传递到它们后面的层中,输入层将 x x x传递给隐藏层,所以我们将输入层的激活值称为 a [ 0 ] a^{[0]} a[0]如果写成Python代码,那么它是一个规模为4x1的矩阵或一个大小为4的列向量,如下公式,它是四维的,因为在本例中,我们有四个隐藏层单元
a [ 1 ] = [ a 1 [ 1 ] a 2 [ 1 ] a 3 [ 1 ] a 4 [ 1 ] ] a^{[1]} = \begin{bmatrix} a^{[1]}_{1} \\ a^{[1]}_{2} \\ a^{[1]}_{3} \\ a^{[1]}_{4} \end{bmatrix} a[1]=⎣⎢⎢⎢⎡a1[1]a2[1]a3[1]a4[1]⎦⎥⎥⎥⎤
隐藏层是第一层,输出层是第二层,我们不将输入层看作一个标准的层。
向量化计算
z [ n ] = w [ n ] x + b [ n ] z^{[n]} = w^{[n]}x + b^{[n]} z[n]=w[n]x+b[n]
公式3.9:
a [ n ] = σ ( z [ n ] ) a^{[n]}=\sigma(z^{[n]}) a[n]=σ(z[n])
详细过程见下:
公式3.10: a [ 1 ] = [ a 1 [ 1 ] a 2 [ 1 ] a 3 [ 1 ] a 4 [ 1 ] ] a^{[1]} = \begin{bmatrix} a^{[1]}_{1}\\ a^{[1]}_{2}\\ a^{[1]}_{3}\\ a^{[1]}_{4} \end{bmatrix} a[1]=⎣⎢⎢⎢⎡a1[1]a2[1]a3[1]a4[1]⎦⎥⎥⎥⎤
公式3.11: [ z 1 [ 1 ] z 2 [ 1 ] z 3 [ 1 ] z 4 [ 1 ] ] = [ . . . W 1 [ 1 ] T . . . . . . W 2 [ 1 ] T . . . . . . W 3 [ 1 ] T . . . . . . W 4 [ 1 ] T . . . ] ⏞ W [ 1 ] ∗ [ x 1 x 2 x 3 ] ⏞ i n p u t + [ b 1 [ 1 ] b 2 [ 1 ] b 3 [ 1 ] b 4 [ 1 ] ] ⏞ b [ 1 ] \begin{bmatrix} z^{[1]}_{1}\\ z^{[1]}_{2}\\ z^{[1]}_{3}\\ z^{[1]}_{4} \end{bmatrix} = \overbrace{ \begin{bmatrix} ...W^{[1]T}_{1}...\\...W^{[1]T}_{2}...\\ ...W^{[1]T}_{3}...\\ ...W^{[1]T}_{4}... \end{bmatrix} }^{W^{[1]}} * \overbrace{ \begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} }^{input} + \overbrace{ \left[ \begin{array}{c} b^{[1]}_1\\ b^{[1]}_2\\ b^{[1]}_3\\ b^{[1]}_4\\ \end{array} \right] }^{b^{[1]}} ⎣⎢⎢⎢⎡z1[1]z2[1]z3[1]z4[1]⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡...W1[1]T......W2[1]T......W3[1]T......W4[1]T...⎦⎥⎥⎥⎤
W[1]∗⎣⎡x1x2