吴恩达深度学习 —— 3.3 计算神经网络的输出

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