得分与损失
让 XW 产生 class scores,再由 SVM/softmax 把错误压成标量。
为什么需要它
没有标量 objective,就没有统一的优化方向。
开始前应该已经会回答
- 会从 shape 推导 XW
- 能解释数值稳定 softmax 为什么减 max
输入、输出与契约
- 输入
- X [N,D], W [D,C], y [N]
- 输出
- scores [N,C], scalar loss
- 每个样本只有正确类别索引
- regularization 只约束参数
- 把 score 当 probability
- 在 batch sum 后忘记除 N
用最小例子检查
用 N=2,C=3 的整数 scores 手算 softmax probability 与平均 loss。
如果你看到……
优先检查:softmax 稳定化/归一化
优先检查:是否取平均
预测 → 实验 → 证据
- 先预测
- 同一行 scores 加常数不改变 softmax;增大正确类相对 margin 应降低 loss。
- 做实验
- 对固定 scores 做两次受控扰动并记录 loss 变化。
- 留证据
- 原始/扰动 scores
- 概率和是否为 1
- loss 变化方向
渐进提示
先独立排查 10–15 分钟,再按需展开。
提示 1
先算 exp 前的相对差
提示 2
检查 softmax dimension
提示 3
把 batch 缩成两行
闭卷检查 · 得分与损失
- 手算与实现一致
- 能解释 invariance
- loss 对正确方向响应