上图是一个神经网络。神经网络中每个的节点对应于的两个步骤:
首先计算
z
=
w
T
x
+
b
z=w^Tx+b
z=wTx+b ,然后计算
a
=
σ
(
z
)
a=\sigma(z)
a=σ(z) ,如下图所示。
它的计算图如下所示:
首先输入
x
,
W
[
1
]
,
b
[
1
]
x,W^{[1]},b^{[1]}
x,W[1],b[1] ,来计算
z
[
1
]
z^{[1]}
z[1] ,然后与对数几率回归类似,使其通过
σ
\sigma
σ 函数得到
a
[
1
]
a^{[1]}
a[1] 。然后使用另一个线性函数计算
z
[
2
]
z^{[2]}
z[2] ,然后再用相似的方式计算
a
[
2
]
a^{[2]}
a[2] 。在神经网络中,也使用类似的反向计算方式得到各个参数的梯度。
下图是一个单隐层神经网络的照片。
将
x
1
,
x
2
,
x
3
x_1,x_2,x_3
x1,x2,x3 堆叠并输入的层被称为是神经网络的输入层。
中间一层包括很多圆形圈圈的层,被称为神经网络的隐藏层。
最后一层只有一个节点,被称为输出层,负责生成预测值
y
^
\hat y
y^ 。
在神经网络中,监督式学习的练集包含输入
x
x
x 的值以及所述目标调整输出
y
y
y 。
所以隐含层这个术语指的是,在训练集中这些因素的真值没有被观察到,而只看到了输入输出。
使用矢量
X
X
X 来表示输入的特征和,并令
a
[
0
]
=
X
a^{[0]}=X
a[0]=X 。
a
a
a 代表着激活的意思,它指的是神经网络的不同的层中会被传递到随后的层的值。
所以输入层传递值
X
X
X 到隐藏层,所以这里被称为第0个隐藏层。
下一层,隐层又会产生激活,写为
a
[
1
]
a^{[1]}
a[1] ,在这个图中它是一个四维向量,
之后是输出层的
a
[
2
]
a^{[2]}
a[2] ,它会是一个实数,并且
y
^
\hat y
y^ 采用这个数值
a
[
2
]
a^{[2]}
a[2] 。
关于神经网络符号约定一个有趣的事情是:这个网络被称为两层神经网络。
其原因是,当我们在计算神经网络层, 我们不计算输入层。
所以图中隐层是第一层,输出层是第二层。
常规的用法中,一般将这个神经网络认为是两层的神经网络,因为不希望输入层作为正式层。
最后,隐藏层和输出层将具有与它们相关联的参数。 所以隐层将有与它相关的参数
W
[
1
]
W^{[1]}
W[1] 和
b
[
1
]
b^{[1]}
b[1] 。
W
[
1
]
W^{[1]}
W[1] 是一个4×3矩阵,
b
[
1
]
b^{[1]}
b[1] 是4×1向量。因为这个隐藏层有四个节点,并有三个输入。
输出层也有某些参数与之相关联,也
W
[
2
]
W^{[2]}
W[2] 和
b
[
2
]
b^{[2]}
b[2] 。它们的尺寸是是由 1×4 和 1×1 。
因为隐藏层具有四个隐藏单元, 输出层只有一个单元。