DL笔记:理解多节点神经网络

:上回我们在 python 里面实现了单个神经元的梯度下降算法。现在可以挑战一下多个神经元的网络了。

:那会不会很难哦?

:也不会,原理其实是一样的,只是需要分辨清楚各个参数属于哪一层。

:(不祥预感)

:比如说,下面这个网络:

有 3 个输入 x1,x2,x3,2 个隐层节点 h1,h2

节点之间的权重用 w 表示,第一个下标为出发节点,第二个下标为目标节点,比如 w11表示 x1 到 h1 的权重

我们把权重存在一个矩阵中,每一行对应一个输入值的权重,每一列对应一个隐层节点的权重:

所以,隐层的第 j 个节点就表示为:

权重和输入值相乘时,需要用到矩阵乘法中的点乘(dot product):

:啊……矩阵,我好些已经忘得差不多了……

:没关系,慢慢回忆起来。这里比较关键的是,两个矩阵相乘,左边矩阵的行数,必需跟右边矩阵的列数相等,不然没法相乘。

比如我们要计算的神经网络的矩阵:

左边矩阵有 1 行 3 列,右边矩阵有 3 行 1 列,它们是可以相乘的。

:让我数一数……

:记得矩阵需要「门当户对」就好 。上面这个矩阵,我们也可以调换左右顺序,并且让两个矩阵都转置(就是行列互换)一下来满足相乘的条件:

:这跟上面那两个矩阵相乘的结果是一样的吗?

:是的。按照矩阵点乘的公式 () 把它们展开,会发现其实是一个东西。

00 的 DeepLearning 笔记

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180104G0Q57200?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区