最小二乘逼近
Least Squares Approximation
约 25 分钟 · v1
最小二乘
math/least-squares · MATH20991 现实数据不会乖乖排成一条线
广告费越多,销量越高;复习时间越长,分数越好——可真把数据画出来,点是散的,从不精确落在一条直线上(总有测量误差、随机波动)。我们想要一条"最能代表大趋势"的直线。问题是:哪条算最好?最小二乘给出公认答案。
最小二乘法:在所有可能的直线里,挑使"各点到直线的竖直误差的平方和"最小的那一条。
每个点的"误差(残差)"= 真实 y − 直线预测 y。把它们平方、加起来,得到一个总误差 SSE。最小二乘就是让这个 SSE 降到最低的拟合线——它是统计、机器学习里最基础的拟合方法。
2 为什么偏偏要"平方"误差?
直接把误差加起来不行——正负会抵消(线穿过点群中间时,上下误差互相抵消成 0,看起来"完美"其实不然)。取平方既解决抵消,又重罚大偏差,还让目标函数光滑可求导。
3 拖一拖:你能找到误差最小的那条线吗?
下面是一组散点。拖动两个滑块改变直线的斜率和截距,红色竖线是每个点的残差,浅红方块的面积 = 残差的平方。目标:让误差平方和 SSE 尽量小。试完手动,再点"自动求最优"看看最小二乘解,对比你差多少。
手动拟合 vs 最小二乘最优
4 几何真相:把数据投影到"模型够得着"的空间
把问题写成 Ax = b:b 是真实数据向量,A 的列是模型能给出的方向。点不在一条线上,意味着 b 不在 A 的列空间里,方程无解。最小二乘的办法:退而求其次,把 b 正交投影到列空间上,投影点就是"模型能达到的、离 b 最近的点"。
让残差 b − Ax̂ 垂直于 A 的每一列,推出正规方程 AᵀA x̂ = Aᵀb,解出最优 x̂ = (AᵀA)⁻¹Aᵀb。
这正是正交性那一节"投影 = 最近点、误差垂直"的直接应用!"误差垂直于模型空间"⟺"误差平方和最小"。这两种视角(代数最小化 / 几何投影)给出完全相同的答案。
5 试三道(先想,再点)
三道题,点选项即时判;答题进度显示在右侧目录。
一句话带走:
数据点不在一条线上时,最小二乘挑出"残差平方和 SSE 最小"的拟合线。用平方是为了不让正负抵消、重罚大偏差、便于求导。几何上 = 把数据 b 正交投影到模型列空间,让残差垂直于模型,由此得正规方程 AᵀAx̂=Aᵀb。代数的"误差最小"与几何的"投影最近"是同一件事。