神经网络中的权重矩阵维数直觉

Lit*_*tle 8 neural-network

我一直在 Coursera 上学习有关神经网络的课程,并遇到了这个模型:

在此输入图像描述

据我了解,z1、z2 等的值是将线性回归的值放入激活函数中。我遇到的问题是,当作者说应该有一个权重矩阵和一个输入向量时,如下所示:

在此输入图像描述

我知道 Xs 的向量的尺寸为 3 x 1,因为有三个输入,但为什么 Ws 的数组的尺寸为 4 x 3?我可以推断它有四行,因为这些是权重 w1、w2、w3 和 w4,它们对应于 a1...a4 的每个值,但是该数组内部是什么?它的元素类似于:

w1T w1T w1T
w2T w2T w3T
... ?
Run Code Online (Sandbox Code Playgroud)

例如,当我乘以 x1 时,我将得到:

w1Tx1+w1Tx2+w1Tx3=w1T(x1+x2+x3)=w1TX
Run Code Online (Sandbox Code Playgroud)

我已经考虑过了,但我无法真正理解这个数组包含的内容,即使我知道最后我将有一个对应于 z 值的 4 x 1 向量。有什么帮助吗?

谢谢

小智 10

根据经验,权重矩阵具有以下维度:

  • 行数必须等于前一层神经元的数量。(在这种情况下,前一层是输入层)。所以3
  • 列数必须与下一层神经元的数量相匹配。所以4。

因此权重矩阵=(3X4)。如果进行转置,则变为(4X3)。

  • 我认为你应该将“下一个”一词替换为“我们正在决定权重维度的当前层”,即:**列数必须与我们正在决定权重维度的当前层中的神经元数量相匹配,即第 1 层。所以 4** (5认同)

che*_*ate 1

如果x3x1,那么大小的权重矩阵Nx3将为您提供一个带有N单位的隐藏层。根据您的情况N = 4(请参阅网络原理图)。这是因为将Nx3矩阵与3x1向量相乘会得到一个Nx1向量作为输出,即N隐藏单元。

w_1权重矩阵的每一行定义单个隐藏单元的权重,因此和的标量积x(加上偏差)给出z_1

最后,将所有量写为向量和矩阵只是允许您使用简洁的线性代数符号:

我们假设激活是按元素应用的。