(深度学习by Andrew Ng)第三周:浅层神经网络

这篇文章主要想通过一个双层的神经网络,来介绍神经网络将会用到的各种矩阵和向量的表达。
(深度学习by Andrew Ng)第三周:浅层神经网络

1.单样本向量化:

用圆圈表示神经网络的计算单元:
(深度学习by Andrew Ng)第三周:浅层神经网络
一个神经网络只是这样子做了好多次重复计算:
(深度学习by Andrew Ng)第三周:浅层神经网络
我们先看其中一个节点:
(深度学习by Andrew Ng)第三周:浅层神经网络
(深度学习by Andrew Ng)第三周:浅层神经网络
把以上式子向量化:
(深度学习by Andrew Ng)第三周:浅层神经网络
(深度学习by Andrew Ng)第三周:浅层神经网络

2.多样本向量化:

以上内容介绍了如何针对于单一的训练样本,在神经网络上计算出预测值。

下面,将会了解到如何向量化多个训练样本,并计算出结果。

将各个训练样本组合成矩阵,对矩阵的各列进行计算,这种计算是所有的训练样本同时进行的,以下是实现它具体的步骤:

m个训练样本:
(深度学习by Andrew Ng)第三周:浅层神经网络
一个样本x(i)x^{(i)}可以得到一个预测值y(i)y^{(i)},m个样本,就得到m个预测值。
一个样本,对应的权重ww是一个4×34\times 3的矩阵,每一行有三列,因为每一个样本有三个属性x1x2,x3x_1,x_2,x_3:
(深度学习by Andrew Ng)第三周:浅层神经网络
一个样本,再layer1层计算得到一个4×14\times 1的向量z[1]z^{[1]},
(深度学习by Andrew Ng)第三周:浅层神经网络
m个样本,在layer1层计算得到一个4×m4\times m的矩阵Z[1]Z^{[1]}:
(深度学习by Andrew Ng)第三周:浅层神经网络
一个样本,在layer1层计算得到的4×14×1的向量z[1]z^{[1]},再经过**函数,得到4×14\times 1a[1]a^{[1]}
(深度学习by Andrew Ng)第三周:浅层神经网络
m个样本,在layer1层计算得到一个4×m4\times m的矩阵A[1]A^{[1]}:
(深度学习by Andrew Ng)第三周:浅层神经网络

现在,我们在layer1层,对m个样本同时计算Z[1]=W[1]XZ^{[1]}=W^{[1]}X,就可以写成(我们需要注意的是,在layer1层,每一个样本对应的权重都是W[1]W^{[1]}
(深度学习by Andrew Ng)第三周:浅层神经网络

总结

这篇文章,我们主要介绍了layer1的计算,一个样本在layer1的计算以及m个样本在layer1的计算,即便随着网络的深度变大,基本上也还是重复这两步运算,只不过是比这里你看到的重复次数更多!