机械学习 数学研究室
CHAPTER 05阅读进度
JUNIOR ML MATH / REGRESSION

最小二乘找到最贴近数据的预测线

散点看起来有点乱,但可能藏着规律。回归用一条线总结关系;最小二乘法让所有数据共同评分,再用导数找到总误差最小的斜率。

回归预测残差与平方和最佳斜率最小二乘实验
LEARNING ROUTE
1看见散点规律
2给直线评分
3找到最佳斜率
4预测新数据
00 / WHY REGRESSION

没有见过的数据,机器怎样给出一个数值答案?

如果只见过 18、22、38 平方米房屋的租金,怎样估计 30 平方米?回归不是查表,而是从已有数据中学出“输入和输出大致怎样一起变化”。

3 点

训练数据

(18,5)、(22,9)、(38,15) 告诉机器面积和租金的已有对应关系。

30 → ?

新预测

模型学出一条近似直线后,可以给训练数据中没有出现过的面积估计租金。

先约定单位:x 表示面积,单位是 m²;y 表示每月租金,单位是“千元/月”。所以数据 (18,5) 读作“18 m²,每月 5 千元”。本章数字是教学样本,不代表某个城市的真实市场价格。

回归学习的完整任务

① 数据收集输入 x 与真实 y
② 模型提出预测规则 ŷ=ax
③ 损失所有残差平方求和
④ 学习找出让损失最小的 a

这正是第 4 章“损失山谷”的真实版本

第 4 章 / 一个玩具例子L(w)=(w−3)²

只有一个参数 w,帮助我们看懂“导数指方向、谷底损失最小”。

第 5 章 / 数据真正参与E(a)=Σ(axᵢ−yᵢ)²

参数换成预测线斜率 a,每个训练样本都通过残差平方参与评分。

尝试 a画出预测线算残差逐点比较合成损失平方后求和利用导数找到谷底
  • 能说明回归解决“预测连续数值”问题
  • 能区分真实值 y、预测值 ŷ 和残差
  • 能解释为什么使用误差平方和
  • 能跟随导数推导得到最佳斜率
01 / REGRESSION

回归:用一条公式总结数据关系

最简单的线性回归用直线表示输入和输出的关系。数据点不会全部落在线上,因为现实还会受到其他因素和随机变化影响。

学生把不同大小的房屋模型与已知数据点放在预测直线上,并利用已知趋势估计一座新房屋对应的数值
先看回归在做什么:橙色点是已经见过的房屋,蓝色直轨概括它们的共同趋势;新的中等大小房屋落在青色位置,模型沿直线读出一个估计值。
房屋面积和租金散点、回归线以及三十平方米的租金预测
再翻译成坐标图:直线既总结“面积越大,租金通常越高”的趋势,也能为新面积产生连续数值预测。
预测规则:ŷ = ax
先用最简单版本:x 是面积,ŷ 是模型预测租金,a 是斜率。a≈0.381 表示面积每增加 1 m²,预测的每月租金约增加 0.381 千元。
教学简化:这里让直线经过原点,所以没有截距 b。真实房租即使面积趋近 0 也可能有基础成本,更常用 ŷ=ax+b;它需要同时调整 a、b,将在偏微分章节继续。
02 / WHO IS WHO

同一张图里,四个角色不要混

输入特征 x
面积 22

已知的线索,用来做预测。

真实目标 y
实际租金 9

训练数据给出的正确结果。

模型参数 a
斜率 0.381

机器需要从数据中学出的数。

预测结果 ŷ
a×22≈8.38

模型按照当前参数算出的答案。

函数公式

ŷ=ax

给定 x 和 a,就能产生一个预测。

学习任务

从数据求 a

选择哪个 a,才让整条线总体最贴近数据?

“训练模型”在这个例子里并不神秘:就是利用数据找出一个合适的斜率 a。

03 / RESIDUAL

残差:真实答案与预测答案之间的竖直差

每个数据点都会检查预测线:把自己的真实 y 与直线在同一 x 位置给出的 ŷ 比较。这个差叫残差。

三个数据点到回归直线的竖直残差箭头
方向要看清:本章残差沿 y 方向计算,不是点到直线的最短斜线距离。
第 i 个残差:ei = yi − ŷi = yi − axi

残差为正

yᵢ > ŷᵢ

真实值在线上方,模型预测偏低。

残差为负

yᵢ < ŷᵢ

真实值在线下方,模型预测偏高。

为什么不能直接把残差相加?一个 +4 和一个 −4 会变成 0,看起来完全没错。方向抵消了,但两次预测其实都相差 4。
04 / LEAST SQUARES

最小二乘:让所有残差平方共同给直线打分

“二乘”就是平方。把每个残差平方后求和,得到这条线的总损失;总损失越小,直线总体越贴近数据。

学生测量三个数据点到预测线的竖直残差,每个残差变成同边长的正方形,三个正方形一起组成直线的损失
按顺序读图:绿色竖杆先量同一 x 上的残差长度;每根杆变成一个同边长的蓝色正方形,长残差会产生更大的面积;最后把三块面积放进同一个托盘,就是这条线的总评分。
E(a) = ∑i=1n (axi − yi
为什么这里写“预测−真实”,前面却写“真实−预测”?平方后两种顺序相同。例如 y=9、ŷ=7 时,残差是 9−7=+2;反过来是 7−9=−2,但 (+2)² 和 (−2)² 都等于 4。所以损失也可以写成 Σ(yᵢ−axᵢ)²。
  1. 预测:第 i 个输入 xᵢ 得到 ŷᵢ=axᵢ。
  2. 比较:预测与真实值的差是 axᵢ−yᵢ。
  3. 平方:消除正负抵消,并让大错误更显眼。
  4. 求和:Σ 收集全部样本的意见,得到 E(a)。
  5. 最小化:选择让 E(a) 最小的斜率 a。
a=0.25

线太平,后面的点预测偏低。

E=42.75
a≈0.381

三点的总体平方误差最小。

E≈4.11
a=0.50

线太陡,多个点预测偏高。

E=36.00
注意:最佳直线不一定经过任何一个数据点。它平衡的是所有数据的平方误差,不是优先照顾某一个点。
05 / FITTING LAB

亲手改变斜率,看见损失山谷

斜率 a 是候选答案。拖动它,相当于让模型尝试一条新直线;三条残差会改变,总损失也会随之改变。

a
LINE FITTER / 预测线实验室
数据:(18,5)、(22,9)、(38,15),模型 ŷ=ax
面积 x(m²)租金 y(千元/月)
数据真实 y预测 ŷ残差²
06 / DERIVE THE ANSWER

导数怎样直接找到最佳斜率?

不断试滑块能接近答案,但导数可以把“谷底斜率为 0”写成方程,一次解出准确结果。

误差平方和展开、求导、设为零并解出最佳斜率的四步图
推导主线:损失是关于 a 的二次函数;它开口向上,所以导数为 0 的位置就是最低点。
1 写损失
E=Σ(axᵢ−yᵢ)²
2 展开
a²Σxᵢ²−2aΣxᵢyᵢ+Σyᵢ²
3 求导并设 0
2aΣxᵢ²−2Σxᵢyᵢ=0
4 解出 a
a=Σxᵢyᵢ/Σxᵢ²
为什么 Σyᵢ² 消失?
对 a 求导时,它不含 a,是常数。
为什么 Σxᵢ² 可看成常数?
训练数据 xᵢ 已经固定,我们只在改变 a。
为什么设导数为 0?
开口向上的损失曲线在谷底切线水平。
a = (18×5 + 22×9 + 38×15) / (18² + 22² + 38²) = 858 / 2252 ≈ 0.381
这就是“学习”出来的参数:不是人凭眼睛画线,也不是随便猜,而是所有训练数据通过误差平方和共同决定。
07 / USE & LIMITS

回归可以预测什么,又不能保证什么?

EXAMPLE 01

根据面积预测租金

输入面积,输出一个连续的价格估计。真实模型还会加入房龄、位置等特征。

EXAMPLE 02

根据气象数据预测温度

输入湿度、气压、时间等线索,预测下一时刻的温度数值。

EXAMPLE 03

根据学习记录估计用时

输入题目数量、难度等特征,估计完成作业所需分钟数。

回归 REGRESSION

答案可以落在连续数轴上。

11.43 千元/月、26.5℃、42 分钟
分类 CLASSIFICATION

答案是有限类别之一。

猫/狗、垃圾邮件/正常邮件
训练数据站点支撑着已知范围内的预测轨道,轨道延伸到范围外后变成没有数据支撑的多条不确定路线
为什么远距离外推危险:围栏里的数据站点支撑着预测轨道,中间的绿色小车附近有真实样本;轨道伸进范围外的雾区后,没有新数据告诉我们真实规律是否继续保持直线,可能出现多种方向。
回归线是近似规律,不是保证。它依赖训练数据、特征选择和模型形状。在已见范围外做很远的预测叫外推,风险通常更大;相关关系也不自动证明因果关系。
08 / REGRESSION MISSION

预测探索队:图形直觉与数学训练都要掌握

先通过拖动预测线、驾驶补给艇和派出探测器建立直觉;再用快速数学小游戏,把看到的变化变成会计算、会解释的知识。

CHAPTER 05 / BRIGHT FUTURE LAB

让数据帮助城市生长

三张地图,三种手感,最后连成一次完整的机器学习任务。

任务进度0 / 3
01

绿色城市能量校准

拖动蓝色能量束,让三块误差电池一起变小

等待校准
02

天空补给航线

横向输入一改变,补给艇就沿预测线得到新的纵向结果

0 / 3 送达
03

预测探索队

驶入数据雾区,找到新信标,让分叉路线重新收拢

0 / 2 信标
三次任务连起来就是一次机器学习:先用全部样本把模型校准到损失谷底,再让模型把新输入转换成预测;如果任务走出数据覆盖范围,就收集新样本,而不是盲目信任延长线。
SECOND ROUTE / MATH TRAINING

数学知识训练站

图形告诉你“发生了什么”,下面三局负责检查你能不能把它写成数、比较整体损失,并说清预测边界。

训练完成0 / 3
A

残差修理站

按照 e=y−ŷ 计算方向和大小

训练中
回合 1 / 5答对 0
真实值 y9.0
预测值 ŷ7.0

残差 e=y−ŷ 等于多少?

先看减法顺序。真实值减预测值;正数表示模型预测偏低。
B

预测线对比台

比较所有样本,而不是只照顾一个点

训练中
回合 1 / 4答对 0

哪条候选线的残差平方和更小?

不要只看是否经过一个点。最佳线要让三个残差平方加起来更小。
C

预测边界巡逻

识别训练范围内估计和范围外外推

训练中
回合 1 / 5答对 0训练面积范围 18–38 m²
0 m²60 m²

现在要预测 x=30 m²。它属于哪一种?

看青色点与绿色区域的位置。范围内也不保证正确,但通常有更接近的训练样本支撑。
两条路线的分工:图形任务帮助“看懂”;数学训练帮助“算对并说清”。完成任意一条都能获得进度,但两条都完成才算真正掌握本章。
09 / RECAP

从散点到预测,压缩成四步

提出模型用参数 a 控制直线
ŷ=ax
计算残差真实值减预测值
eᵢ=yᵢ−ŷᵢ
整体评分残差平方后求和
E=Σeᵢ²
求出参数导数为 0 找谷底
a=Σxy/Σx²
STORY LAB / 爸爸藏起的第四张价格牌

爸爸把第四间小屋的价格藏了起来

一个下雨的周末,客厅里的模型和画纸堆满了餐桌。爸爸找来四份小屋资料,想看看能不能租一间作周末手工角。他把第四份价格折到背后,只留下房屋面积。开米和米悦必须先用前三间小屋的资料,给这间没有标价的小屋作一个有根据的估计。

爸爸 · 只提问,在最后归纳姐姐 · 开米 Kimi · 13 岁妹妹 · 米悦 · 6 岁任务 · 估计第四间小屋的租金
ACT01
雨天的餐桌旁,爸爸把三间已知小屋和一间盖住价格牌的小屋摆在开米和米悦面前,米悦先指向一间相近的小屋,开米观察全部资料
PICTURE KEY / 看图读数学三间小屋有已知资料,盖着布的第四间只有面积。新的答案不能直接从旧表里抄出来,这就是需要预测的时刻。

米悦只看了最近的一间,开米却迟迟没有下笔

前三张资料分别写着:18 平方米每月 5 千元、22 平方米每月 9 千元、38 平方米每月 15 千元。第四间是 30 平方米,价格牌却被爸爸翻到了背面。

米悦把 22 平方米的小屋推过来:“它离 30 最近,就照着 9 猜吧。”开米没有反驳,只把三张旧资料排成一行。最小的小屋和最大的小屋,难道一点意见都没有吗?

爸爸只问:一间旧小屋,能替另外两间把话都说完吗?
故事里三份已知资料数学里三个训练样本新任务给 x=30 估计一个连续数值
ACT02
开米把三间小屋按面积与租金高低摆到方格垫上,并用一根蓝色直轨概括整体上升趋势,米悦放下只连接两个点的短绳,爸爸指向全部三间小屋
PICTURE KEY / 看图读数学蓝色直轨不是把数据点逐个连起来,而是用一条共同规则概括三份资料的总体趋势。

一把蓝尺不负责“穿过”,只负责“概括”

开米在方格垫上横向摆面积,纵向摆租金。三间小屋大体呈现“面积越大,租金越高”,可它们并不整整齐齐落在同一条线上。米悦想用短绳把点一个个连起来,开米却拿来一把长蓝尺,让它从三份资料中间穿过。

这条尺子不是行走路线,也不必碰到每一个点。它只想用一个简单规则,给所有看过的数据找出共同趋势。本章先使用最简单的直线模型。

预测租金 ŷ = a × 面积 x
爸爸继续问:如果蓝尺为了碰到第一间小屋而离另外两间越来越远,它真的算“照顾了全部资料”吗?
ACT03
姐妹俩用橙色转轴、蓝色斜轨和高低标记做成小屋预测装置,米悦推入小屋面积,开米调节斜率,爸爸拿着尚未翻开的真实价格牌
PICTURE KEY / 看图读数学小屋大小是输入 x,橙色转轴控制参数 a,蓝轨给出的高度是预测 ŷ,爸爸手里尚未翻开的卡片才是真实 y。

同一个公式里,四个角色不能互相换衣服

姐妹俩把蓝尺装到橙色转轴上。米悦每推入一块代表面积的小屋,蓝尺就在相同横向位置给出一个预测高度。开米转动转轴,整条尺子的陡缓都会改变。

x 是已经知道的面积,a 是模型要学的斜率,ŷ 是蓝尺算出的预测。真实租金 y 则藏在资料卡里,训练时用来检查预测,而不是由模型自己决定。

推入小屋输入 x转动铰链参数 a蓝轨高度预测 ŷ=ax资料原价真实 y
米悦自问:要是我转了橙色铰链,变的是小屋本身,还是模型作出预测的办法?
ACT04
三间已知小屋在同一条蓝色预测轨旁,开米和米悦用绿色竖杆测量每个真实价格标记到同一横向位置预测线的高低差,爸爸指向一组配对
PICTURE KEY / 看图读数学绿色杆总在同一个 x 位置竖直比较。点在线上方表示预测偏低,点在线下方表示预测偏高;杆长表示相差多少。

绿色短杆不是惩罚,是每间小屋递来的修改意见

蓝尺摆好后,开米在每间小屋的位置都立起一根绿色短杆:一头碰真实租金,另一头碰蓝尺的预测。三根杆有的向上,有的向下,也有的很短。

这个竖直差叫残差。它保留两个信息:正负告诉模型预测偏低还是偏高,长度告诉模型偏了多少。比较时面积 x 不动,只看同一 x 上的真实 y 与预测 ŷ。

第 i 间小屋的残差:eᵢ = yᵢ − ŷᵢ
爸爸指着一根斜放的绳问:我们是在找“离直线最近的方向”,还是在固定同一面积后比较两个租金答案?
ACT05
开米把绿色残差杆折成大小不同的青色正方形,米悦发现向上与向下的两次错误不能真正消失,爸爸示意把三块误差方形放进同一个托盘
PICTURE KEY / 看图读数学方向相反的杆直接相加可能抵消;把每根杆变成正方形后,每次错误都会留下正面积,长错误还会变成更大的方块。

一个向上、一个向下,不能假装两次都没错

米悦把一根向上的 2 和一根向下的 −2 拼在一起,结果正好是 0。可两间小屋明明都预测错了。开米便把每根残差当作正方形边长:2 变成 4,−2 平方以后也变成 4。

三间小屋各自交出一块误差方形,再全部放进同一个托盘。方块总面积越小,表示这条蓝尺总体越贴近全部资料;某一间恰好完全预测正确,也不能替其他小屋免除误差。

总损失 E(a)=∑(axᵢ−yᵢ)²
每根绿杆一个样本的残差每块青方形残差平方同一个托盘全部样本的总损失
ACT06
开米旋转蓝色预测尺尝试不同斜率,米悦把每次产生的误差方块排成两边高中央低的山谷,爸爸指向中央最低处的橙色调节钮
PICTURE KEY / 看图读数学斜率太小或太大时,误差方块都会堆高;中间总量最少的地方就是损失谷底。

蓝尺每转一点,三间小屋都会重新打分

开米先把尺子压得很平,后面的大房子留下长残差;又把尺子抬得很陡,前面的房子开始留下大方块。米悦把每次尝试的总方块排开,竟排出一条两边高、中间低的山谷。

导数像谷底旁的坡度提示:为负时,增大 a 还能下坡;为正时,应该减小 a。最低处附近再小动一点都不会继续下降,所以 E′(a)=0。把式子解开,就能直接得到最佳斜率。

a = ∑xᵢyᵢ ÷ ∑xᵢ² = 858 ÷ 2252 ≈ 0.381
爸爸没有说“选中间”,只问:向左走损失会上升,向右走也会上升,那橙色旋钮现在站在哪里?
ACT07
最佳斜率固定后,开米把第四间中等小屋推到已知范围中,预测标记升到蓝轨,米悦翻开价格卡发现真实标记就在附近但并不完全重合,爸爸做出谨慎手势
PICTURE KEY / 看图读数学30 平方米位于旧数据范围中。模型沿学到的蓝轨给出估计;真实价格靠近却不必完全重合。

11.43 是有根据的估计,不是水晶球的预言

开米把 30 平方米代入最佳直线,得到 ŷ≈0.381×30≈11.43 千元/月。米悦终于翻开背面的教学价格:12 千元/月。她先有点失望——模型怎么没有一分不差?

开米量出约 0.57 的残差。爸爸提醒她们,房龄、位置、采光等线索都没有放进这个单特征模型。能把许多旧资料压缩成一个可检验的估计,已经是回归的价值;误差则告诉我们模型还没有解释什么。

30新输入 x11.43模型预测 ŷ12揭晓后的真实 y0.57这次新的残差
ACT08
四间熟悉小屋位于有数据支持的明亮区域,米悦试图把预测轨延伸到雾中的高楼,轨道在范围外分成多种方向,开米摆出交通、房龄和环境线索,爸爸在边界处总结
PICTURE KEY / 看图读数学围栏内有相近样本支撑,雾区外却可能有多种走势。地点、房龄、交通等缺失特征,也会让同样面积出现不同租金。

米悦把蓝尺伸向高楼,雾里却分出了三条路

米悦刚想用这条线估计一座大得多的高楼,开米发现它早已跑出 18 到 38 平方米的已知范围。没有附近数据作证,真实规律可能继续上升,也可能变平或转弯。这种远离训练范围的预测叫外推,不能只因为尺子够长就相信它。

爸爸最后把桌上的过程慢慢复述了一遍:先把已知面积和租金当作训练样本;再让参数 a 控制预测线;用残差检查每间小屋;把残差平方后求和;最后寻找总损失最低的 a,再对新输入作谨慎预测。

数据 → 预测 ŷ=ax → 残差 → 平方和损失 → 最小化 → 新预测
爸爸的总结:机器学习不是把答案藏进直尺,而是让全部旧经验共同选择一把比较合适的直尺;到了旧经验照不到的地方,就要收集更多线索,而不是把直尺无限延长。
11 / CHECK

知识检测:选择后立即诊断

检测不只看会不会算,也检查你是否理解每个量的角色、最小二乘的目的和适用边界。

题目
已作答0
当前答对0
首次薄弱点0
历史最好
1. 哪个任务最适合用回归?
2. 在 ŷ=ax 中,a 表示什么?
3. y 与 ŷ 的区别是什么?
4. 真实值 y=9,预测值 ŷ=7,残差 y−ŷ 是多少?
5. 本章线性回归图中的残差画在哪个方向?
6. 为什么不直接把所有残差相加?
7. 最小二乘法在本章要最小化什么?
8. 最佳回归线是否必须经过某个数据点?
9. 为什么令 E′(a)=0?
10. 对 a 求导时,为什么 Σyᵢ² 的导数是 0?
11. 本章使用 ŷ=ax 而不是 ŷ=ax+b,会造成什么限制?
12. 哪句话对回归预测最准确?
0 / 100