X
数据矩阵:每行一个样本,每列一个特征。
调整样本数 m、特征数 n 和输出数 k,观察机器学习中最常见的数据、参数与运算结果怎样一起改变。
矩阵乘法口诀:
中间维度要相等,
结果留下外侧维度。
逗号表示一维向量;乘号表示矩阵的行数与列数。
数据矩阵:每行一个样本,每列一个特征。
单输出模型的参数向量:每个特征一个权重。
目标向量:每个样本对应一个目标值。
多输出参数矩阵:把 n 个特征映射到 k 个输出。
单输出预测:每个样本得到一个预测值。
多输出预测:每个样本得到 k 个结果。
特征两两组合,得到特征空间中的方阵。
矩阵乘法只检查相邻的两个维度。匹配时,它们在结果中“消去”;不匹配时,运算没有定义。
试着令 m=n,或令 k=m,再观察后两个运算如何从“不匹配”变成“匹配”。
相接维度:3 = 3
✓ 维度匹配,可以相乘。
中间的 n 与 n 消去,外侧留下 m,因此得到长度为 m 的预测向量。
一维向量没有明确的“行”或“列”。当它和二维列向量相减时,广播会从最右侧对齐维度,于是一次看似逐元素的相减,悄悄长成了方阵。
y_flat
(4,)
y_column
(4, 1)
y_flat - y_column
(4, 4)
(m,)。(m, 1)。.shape,不要只看元素个数。y_flat = [1, 2, 3, 4]
选择答案后会立即反馈。若拿不准,先写出每个操作数的形状,再圈出相接的两个维度。
离开实验室前记住:形状不是附属信息,而是运算规则的一部分。先标形状、再看相接维度,能提前消灭大量机器学习代码中的维度错误。