如图是一个两层的神经网络,让我们更深入地了解神经网络到底在计算什么。
我们之前说过逻辑回归,下图中的圆圈代表了回归计算的两个步骤,首先按步骤计算出z,然后在第二部计算激活函数,就是函数
s
i
g
m
o
i
d
(
z
)
sigmoid(z)
sigmoid(z),所以神经网络只不过是重复计算这些步骤很多次。
首先看一下隐藏层中的一个节点,看看这个隐藏层中的第一个节点,如图,暂时隐去其它节点,左边看上去和逻辑回归很相似。隐藏层的这个节点进行两步计算,第一步计算
z
=
w
T
x
+
b
z=w^Tx+b
z=wTx+b,我们用到的标记都是和第一隐层有关的量,第一步就是这样,第二步是计算
a
1
[
1
]
=
s
i
g
m
o
i
d
(
z
1
[
1
]
)
a^{[1]}_1=sigmoid(z^{[1]}_1)
a1[1]=sigmoid(z1[1]),其中
a
i
[
l
]
a^{[l]}_i
ai[l]表示第l层上的第i个节点。
现在看一下神经网络第一层的第二个节点,与逻辑回归单元类似,小圆圈代表了计算的两个步骤,第一步是计算z,第二步是计算a。以此类推,第三个、第四个节点也表示同样的计算。
做一下整理,整体表示如下:
对于神经网络的第一层,给予一个输入x,有
z
[
1
]
=
W
[
1
]
x
+
b
[
1
]
z^{[1]}=W^{[1]}x+b^{[1]}
z[1]=W[1]x+b[1],而
a
[
1
]
=
σ
(
z
[
1
]
)
a^{[1]}=\sigma (z^{[1]})
a[1]=σ(z[1]),它的维度是
(
4
∗
1
)
(4*1)
(4∗1)同样的,对下一层的推理,可以写成类似的形式。
归纳一下,对于逻辑回归,为了计算输出或者说预测,要计算
z
=
w
T
x
+
b
z=w^Tx+b
z=wTx+b和
y
^
=
a
=
σ
(
z
)
\hat{y}=a=\sigma (z)
y^=a=σ(z)。当你有一个单隐层神经网络,需要在代码中实现的是计算这四个等式,且你可以把这看成是一个向量化的计算过程。
吴恩达深度学习 —— 3.3 计算神经网络的输出
最新推荐文章于 2024-05-22 09:42:56 发布