在标准深度学习框架(PyTorch、TensorFlow)中,输入矩阵的每一行是一个样本,每一列是一个特征维度。
所以,列是特征维度,而不是特征向量本身。一个特征向量(即一个样本的所有特征)在矩阵中表现为一行。
绝大多数深度学习库都遵循 (batch_size, features) 的格式
举例:假设你有 100 个用户,每个用户有 128 个特征(比如年龄、收入、浏览时长等)。
输入矩阵形状:100, 128
每一行(共100行):代表一个完整的用户特征向量(1 × 128)。
每一列(共128列):代表所有用户在某个特征维度上的取值(100 × 1)。
在实际计算(矩阵乘法)中,输入 X 必须放在前面,权重矩阵 W 放在后面。
数学表达式就是:Y = X @ W(或者 Y = X · W),其中 @ 代表矩阵乘法。
数学公式中:b 看作行向量(1, H),与输出矩阵的每一行对齐。
代码存储中:b 是一维张量(H),框架通过广播自动处理。
广播机制:当执行 X @ W + b 时:
X @ W 的结果形状是 N, H。
b 的形状是 H。
NumPy/PyTorch 的广播规则会自动将形状 H 的数组视为行向量(即 1, H),然后复制N份,扩展成 N, H,完成加法。