(深度学习by Andrew Ng)第三周:浅层神经网络
这篇文章主要想通过一个双层的神经网络,来介绍神经网络将会用到的各种矩阵和向量的表达。
1.单样本向量化:
用圆圈表示神经网络的计算单元:
一个神经网络只是这样子做了好多次重复计算:
我们先看其中一个节点:
把以上式子向量化:
2.多样本向量化:
以上内容介绍了如何针对于单一的训练样本,在神经网络上计算出预测值。
下面,将会了解到如何向量化多个训练样本,并计算出结果。
将各个训练样本组合成矩阵,对矩阵的各列进行计算,这种计算是所有的训练样本同时进行的,以下是实现它具体的步骤:
m个训练样本:
一个样本可以得到一个预测值,m个样本,就得到m个预测值。
一个样本,对应的权重是一个的矩阵,每一行有三列,因为每一个样本有三个属性:
一个样本,再layer1层计算得到一个的向量,
m个样本,在layer1层计算得到一个的矩阵:
一个样本,在layer1层计算得到的的向量,再经过**函数,得到的:
m个样本,在layer1层计算得到一个的矩阵:
现在,我们在layer1层,对m个样本同时计算,就可以写成(我们需要注意的是,在layer1层,每一个样本对应的权重都是:
总结
这篇文章,我们主要介绍了layer1的计算,一个样本在layer1的计算以及m个样本在layer1的计算,即便随着网络的深度变大,基本上也还是重复这两步运算,只不过是比这里你看到的重复次数更多!