从手写数字到预测
手写数字预测先把 28×28 图像变成十个模型分数,再转换为概率,选出一个数字,最后按策略分流。策略可以读取置信度,但是否正确,要等独立保留的真实标签参与核验才能判断。
本课将评分、80% 阈值分流、真实标签核验分开。这样可以看见:错误答案也可能以高置信度通过自动接受门槛。
手写数字预测如何工作
输入是真实 MNIST 测试图,含 784 个字节强度值。固定网络为 784 → 25 → 25 → 10,各次运行权重不变,也不接收真实标签。一轮执行 20,475 次权重乘积及 60 次偏置相加。动画把归一化、仿射变换、ReLU 等汇为一个模型站,以观察推理后的流程。
输出十个 logit,每类一个有符号分数。它们可比较,但不是概率:能为负,没有固定上界,也不要求和为一。全部 30 个样本共用 [-40, 30] 轴,避免每次缩放都让获胜类看起来同样占优。
稳定 softmax 使用:
p_i = exp(logit_i - max(logits)) / sum_j exp(logit_j - max(logits))
减去最大值可避免不必要的大指数,不改变排序,因此最大分数仍是最大概率。画面用最大余数舍入把概率分成恰好 100 格,打印百分比保留计算结果的数值细节。
argmax 选最大概率类并写入 prediction。策略只看 topProbability:topProbability >= 0.80 自动接受,低于 0.80 则送审。此时真实标签仍封存,分流不能读它。
分流完成后,独立评估通道才揭示 trueLabel,比较 prediction 得出对错。若提前把真实标签送进推理或策略,就泄漏答案,测试失效。
数字预测逐步演示
默认 d7-b 是真实标签为 7 的模糊测试图。模型以 74.84% 正确预测 7,但未过 80% 阈值,进入人工复核。
- 接收 28×28 图和样本 ID d7-b,真实标签保持封存。
- 固定模型处理 784 像素,输出十个 logit,不训练、不更新权重。
- 十个类别卡到达零线,此时只是有符号分数,还不是概率或预测。
- 按共享
[-40, 30]轴移动到真实 logit:7 为4.834,9 为3.737,差为1.097。 - softmax 转换时保留前两类身份,其余八类合为余量流;此时不填概率格,先显示对应关系。
- 概率总量落定:7 得 74.84%,9 得 24.99%,其他八类共享余量,总计 100%。
- 生成结果记录,包含样本 ID、模型版本、最高分数、置信度;真实标签仍封存。
- 最大概率类写入
prediction = 7,对错尚未知。 - 74.84% < 80%,进入 Review,即使它稍后会被证明正确,分流规则也没有错。
- 分流后打开评估记录,揭示
trueLabel = 7。 - 预测与真值相同,判定正确;路线仍为 Review,不事后改写。
- 并列展示另一个真实记录:d7-b 为
74.84% · REVIEW · CORRECT,d7-m 为99.79% · AUTO-ACCEPT · WRONG。模型和策略相同,只有保留测试输入不同。 - 两份记录留在画面:置信度解释路线,独立真值决定判定。
默认运行已包含对比,无需打开配置才能看到结论。仍可对 0–9 任一数字选择明确、模糊、误分类样本,查看完整路径。
置信阈值为何不能证明正确
80% 门槛只判断模型是否把至少 80% 的 softmax 质量集中在首选类,并不判断首选类是否符合事实。30 个精选样本的结果如下:
| 样本类型 | 0–9 的结果 | 最高概率 | 80% 门槛路线 |
|---|---|---|---|
| 明确 | 10/10 正确 | 大于 99.999% | 10/10 自动接受 |
| 模糊 | 10/10 正确 | 74.56%–75.29% | 10/10 复核 |
| 误分类 | 10/10 错误 | 99.26%–99.99% | 10/10 自动接受 |
门槛区分了低置信组和高置信组,却没有区分正确与错误。这不代表阈值没用,它可分配复核资源、决定弃权或落实服务规则,但不能把未经校准的分数变成正确性证明。这些精选样本也不是整体准确率估计。
降到 70% 会让 d7-b 从复核变为自动接受,预测与对错不变;提高阈值通常使更多结果送审。阈值属于复核成本与错误风险的策略选择,评估仍需保留样本的真实结果。
边界情况
>99.99%仍为有限概率,不显示为数学上的确定。- 极小非零概率用科学记数法,避免错误显示为零。
- 恰好 80% 时自动接受,代码使用
>=而非>。 - 100 格只是显示,最大余数舍入让格数总和正好 100,数值详情看打印百分比。
- 所有 logit 加同一常数,softmax 不变,分数差才影响分布。
- 全零图仍会因偏置产生 logit,输入是否有效应由系统另外判断。
常见错误
- 把 logit 叫概率。先是有符号分数,softmax 后才是和为一的分布。
- 认为 softmax 检查真实标签。它只转换模型自己的分数,并保留排序。
- 把 Review 当预测错误。默认样本复核且正确。
- 把 Auto-accept 当正确证明。全部精选误分类样本都通过门槛。
- 尚未说明复核与错误成本就选阈值。模型不能替产品作这个决策。
- 把真实标签输入推理或分流,泄漏答案。
- 每个样本独立缩放 logit 轴后比较视觉优势。本课固定
[-40, 30]。
模型范围
这是两层各 25 单元、固定权重的 MNIST 全连接网络。模型站把内部计算合成一个节拍,前向传播和 MNIST 课程会展开。
80% 规则仅作示例,不声明概率已校准。省略校准测量、分布漂移检测、模型注册与上线、监控、重试、队列、隐私控制和复核人员的实际工作。生产评估需要大量结果。本课只区分按置信度分流与按真值判断对错。