实验 03 / 约 40 分钟
用损失衡量错在哪里
训练时,模型怎么知道自己预测得不好?
未开始这和大模型有什么关系?
训练需要一个可计算的目标,衡量预测与目标数据的差距。本节用数值误差建立直觉;常见语言模型的下一 Token 训练会用交叉熵,鼓励提高目标 Token 的概率。
这个实验能解释到哪里:下方 MSE、MAE 是回归实验的损失,不是本课程声称大模型一律使用的损失。预训练、指令微调和偏好优化的目标也并不完全相同。
动手时带着这个问题:先理解“大错怎样计分”,再追问:如果答案是一整个词表上的概率,损失该怎样定义?
还没建立全貌?先看一次回答的完整过程 ↗LAB / LOSS看误差怎样被放大
试一试保持 w=2、b=1,把最后一个真实值调到 11:MSE=4,MAE=1。
绝对误差 MAE 4.0000 与 MSE 的单位不同
展开每一步的数值
| 步数 | w | b | MSE |
|---|
同一个原理 · 两种讲法
先理解,再往深处走。
先量出每一次差了多少
真实答案是 7,模型猜 4,就差了 3。直接把正负差加起来会互相抵消,所以不能用它来衡量总体误差。
两种不同的计分规则
MAE 把差距变成正数再平均;MSE 先把每个差距平方,再平均。差 3 在 MAE 里记 3,在 MSE 里记 9。它们的单位也不同。
试着加入一个离群点
拖动“最后一个真实值”,让它远离其余数据。保持预测线不动,对照两种分数的变化:平方会更重地惩罚大误差。MSE 和 MAE 不是同一量纲,数字不能直接当作谁更好的排名。
在线实验的数学设定
在线保持 x=[0,1,2,3],允许将最后一个目标值从 7 改到 19。MSE=(1/4)Σ(ŷ−y)²,MAE=(1/4)Σ|ŷ−y|。训练按钮优化的是 MSE,不是 MAE。MSE 的量纲是目标值单位的平方;MAE 与目标值同量纲。
前置知识
- 搭起第一个预测模型
本节目标
- 手算 MSE 与 MAE
- 理解优化目标如何影响模型选择
误差需要汇总
对每个样本,残差 e=ŷ−y 有正有负。直接取残差平均会相互抵消:预测偏高 2 和偏低 2,平均是 0,却并非全对。因此我们通常用绝对值或平方来汇总。
两把不同的尺子
MSE 是残差平方的平均,MAE 是残差绝对值的平均。真实值 [1,3]、预测值 [1,5] 的残差为 [0,2],MSE=(0²+2²)/2=2,MAE=(0+2)/2=1。不要把总和误当平均。
大错会被放大
平方让较大的残差获得更大惩罚,因此 MSE 对离群点更敏感。这不是天然的缺点:如果大错特别昂贵,这种惩罚可能符合目标;如果异常值来自坏传感器,则应先查数据。
训练目标与实际目标
预测耗电量时,平方误差可能适用;检测罕见故障时,漏报与误报可能代价不同。先写清任务的失败代价,再选指标。优化一个数字不等于解决了实际问题。
MSE = Σ(ŷᵢ − yᵢ)² / nPython / 只用标准库 / 无需 GPU
在自己的电脑上复现
运行 loss 实验并手工复算。把第二个预测从 5 改成 7,比较 MSE 和 MAE 的增长;在笔记中解释哪一种对大错惩罚更强。
下载实验代码 ↓保存为 ai_lab.py,在 Python 3.10 或以上运行。本单元使用人造数据,不调用外部服务。Python 练习与在线实验采用各自的小数据例子,练习相同原理,不要求数值逐项相同。
python ai_lab.py --lesson loss程序包含结果断言;如果不满足预期会报错。第 7 节会在运行目录生成 report.json。运行后,回到笔记写下你的观察与改动。
继续读原始资料
本站提供原创导读;以下链接前往资料原站。仅本成人学习栏目提供这些精选来源。
Google · 损失 ↗可切换中文 · 区分误差和损失核对日期 2026-09-21只对你可见
我的学习记录
登录后可保存笔记、打卡和学习进度。
删除本节的私密记录
删除本节进度、笔记、关联与打卡;其他课程和原作品保留。
验证方式 / 本节三题知识检验 v1
合上导读,检验一下
全部答对后记录“通过验证”。这表示通过本节知识小测,不等同于独立完成代码、人工评阅或能力认证。