什么是线性回归?
线性回归是最基础的机器学习算法之一。它的目标是找到一条最佳直线(或超平面),用来描述因变量和自变量之间的关系。
例如:根据房屋面积预测房价、根据学习时间预测考试成绩等。
核心直觉:想象你在散点图中画一条线,让所有点到这条线的距离总和最小。
🎯 适用场景
- 数据呈线性关系:自变量和因变量之间大致呈直线关系
- 需要可解释性:想了解每个特征对结果的影响程度
- 快速基线模型:作为复杂模型的基准对比
- 特征数量适中:特征数不超过样本数太多
- 预测连续值:房价、销量、温度等数值预测
📜 历史渊源
问题背景:19世纪初,天文学家面临一个棘手的问题——如何从少量带噪声的观测数据中精确预测小行星的轨道?每次观测都有误差,直接连线根本不靠谱。
关键突破:1805年,法国数学家勒让德(Legendre)发表了最小二乘法:找一条线,使所有观测点到这条线的距离平方和最小。四年后,高斯(Gauss)声称自己早在1795年就用过这个方法,并给出了更严格的概率论证明——两人为此争论了数十年。
深远影响:最小二乘法成为了整个统计学和机器学习的基石。从天文学到经济学,从工程到医学,几乎所有"从数据中学习"的方法都可以追溯到这个200多年前的想法。
趣闻:高斯用最小二乘法仅凭几个观测点就成功预测了小行星谷神星(Ceres)的轨道,让天文学家在它消失数月后重新找到了它——这大概是人类历史上最早的"机器学习预测"。
🔗 发展脉络
⚠️ 局限性
- 只能拟合线性关系:如果数据是曲线,线性回归效果很差
- 对异常值敏感:一个极端的离群点可以显著影响回归线
- 假设特征独立:多重共线性会导致参数估计不稳定
- 容易过拟合:当特征很多而样本很少时
- 外推不可靠:超出训练数据范围的预测往往不准
💡 这些局限催生了:多项式回归(非线性)、Ridge/Lasso(正则化)、鲁棒回归(抗异常值)
🏢 工业界地位
尽管已有200多年历史,线性回归在工业界仍然是最常用的算法之一:
- 金融风控:信用评分、违约预测(作为基线模型)
- 电商:销量预测、价格敏感度分析
- 广告:点击率预估的基础模型
- 因果推断:A/B测试分析、政策效果评估
🎯 为什么还在用?简单、快速、可解释性强。在很多场景下,复杂模型的性能提升并不显著,而线性回归的透明度和可维护性更有价值。
交互式可视化
拖动滑块调整参数,观察拟合线如何变化
- 拖动「斜率」和「截距」滑块,观察回归线如何变化——能否手动找到最佳拟合?
- 增大「噪声」,观察数据变散后 R² 值下降——噪声越大,线性关系越弱
- 改变「样本数」,体会样本越多、拟合越稳定的道理
当前状态:
拟合方程:
MSE (均方误差):
💡 提示:尝试调整斜率和截距,观察MSE变化。MSE越小,拟合越好!
数学原理
直觉引入:给你一堆散点,画一条"最贴近"的直线——怎么定义"最贴近"?最自然的想法:让每个点到直线的垂直距离尽量小。平方是为了避免正负抵消,求平均是为了公平对待每个点。
模型:
损失函数(均方误差 MSE):
为什么用平方?① 消除正负抵消 ② 对大误差惩罚更重 ③ 处处可导,方便优化。
闭式解(直接算出最优解):
梯度下降(迭代求解):
当特征很多时,闭式解需要求逆矩阵($O(d^3)$),不如迭代更新:
$\eta$ 是学习率——太大会震荡,太小收敛慢。
模型:$\hat{y} = X\mathbf{w}$,闭式解:$\mathbf{w} = (X^TX)^{-1}X^T\mathbf{y}$
这就是著名的正规方程(Normal Equation)。