好。数学工具凑齐了现在我们要让它们真刀真枪地干活了。第一个活儿是“预测一个数字”。你有一个朋友要卖房子。他问你“根据现在的行情我家这套房子大概能卖多少钱”你打开房产App输入面积、卧室数、房龄——App两秒钟之后给你报了一个价。这个App里那个“估价模型”做的事情就叫回归。更具体地说大概率是线性回归。它是机器学习里最古老、最基础、但也最顽强的算法。所有后面那些花哨的东西——决策树、随机森林、神经网络——它们的目标本质上跟线性回归一样从数据中找到一个函数把输入变成正确的输出。区别只在“这个函数长什么样”以及“怎么找到它”。画一条线穿过点我们从最简单的版本开始。假设你只有一条信息房子的面积。你手头有几套房子的数据每一套都标注了“面积”和“实际成交价”。把它们画在坐标纸上——横轴是面积纵轴是价格——你会得到一片散落的点。每一个点都代表一套真实的房子。它们大概分布在一条从左下到右上的带状区域里。面积越大价格越高。这是废话。但你注意看这些点并不完美地排在一条直线上——同样100平米的房子有的卖了300万有的卖了320万有的才卖280万。原因很多楼层不同、装修不同、卖家急不急、买家喜不喜欢。但总的来说趋势是清晰的面积和价格之间存在一个近似线性的关系。线性回归要做的就是在所有这些点中间画一条直线使得这条线“穿过”它们的方式尽可能好。误差猜错了要罚多少直线画出来了。但你怎么知道这条线画得好不好举个例子。你画了一条线用来预测房价。现在有一套100平米的房子实际成交价是300万。你的直线预测是310万。你猜错了10万。这个“猜错了10万”就是误差。对于每一套房子你都可以算一个“预测值”和“真实值”的差距。把所有差距都加起来就能得到“总误差”——总误差越小说明直线拟合得越好。但直接加起来有一个问题有的预测高了正误差有的预测低了负误差正负会互相抵消。你猜高10万又猜低10万加起来是0——你可能会误以为“完全没有误差”但这显然不对。所以线性回归用了一个小技巧把每个误差平方之后再求和。平方之后所有误差都变成了正数不会抵消。而且平方还有一个附带效果——误差越大惩罚越重。猜错10万平方是100猜错20万平方是400——后者的惩罚是前者的四倍。这符合直觉偏差越大越不可接受。这个“误差平方和”在机器学习里有一个专门的名字叫均方误差Mean Squared Error简称MSE。实际上MSE还要再除以样本数量——取一个平均——但核心思想完全一样把每个预测错误的平方加总然后求平均值。怎么找到最好的那条线现在问题变成了在无数条可能的直线里哪一条的均方误差最小我们稍微把这个问题的数学形式写出来。一条直线的一般形式是y wx b其中 w 是斜率每平米的价格b 是截距房子面积为0时的基础价格——在现实中意义不大但它让直线有更灵活的偏移能力。给定一组数据你有一堆 (x₁, y₁)、(x₂, y₂)、……、(xₙ, yₙ)。你希望找到一组 (w, b)使得所有点上的“误差平方和”最小。这个“误差平方和”是一个函数——它把 (w, b) 作为输入输出一个代表“拟合质量”的数值。你要找的就是这个函数的最小值点。这就是微积分登场的地方。还记得第9章讲的“梯度”——那个指向函数上升最快方向的向量吗如果你沿着梯度的反方向走函数值就会下降。你把 w 和 b 当作两个可以调整的变量计算“误差平方和”对 w 和 b 的偏导数然后反复朝下降最快的方向挪动一点点——用不了几步你就能找到那个让误差最小的 (w, b) 组合。这就是梯度下降在线性回归上的具体应用。你不需要手算偏导数但你至少能感受到微积分里那些抽象的概念到了这儿变成了实打实的“怎么调参数”的指南。解析解一步到位但只在小问题上管用梯度下降是一步一步挪。但线性回归有一个好处它太简单了简单到你可以用公式一步算出最佳 (w, b) 是多少不需要挪。这个一步到位的解叫“解析解”或“正规方程”。你给数据套一个公式咔一下最优参数就出来了。但解析解有一个限制。它涉及矩阵求逆——也就是要算一个矩阵的“逆矩阵”——你可以把它当成类似数字“倒数”的东西。矩阵越大求逆越慢。当数据量达到几万、几十万的时候求逆的计算量会大到让人想哭。而且有些矩阵根本不可逆——它的“倒数”在数学上不存在。所以你看到了。解析解虽然在数学上很优雅但在大规模数据面前不太实用。而梯度下降——那个“蒙着眼睛一步一步挪”的方法——虽然笨拙却能处理超大矩阵。它不需要求逆只需要反复做矩阵乘法。矩阵乘法可以并行可以在GPU上跑得飞快。这就是为什么今天几乎所有机器学习模型都用梯度下降来训练而不是解方程。一步到位看着帅但挪着走能走得更远。一个直观的比喻理解为什么要“挪”想象你站在一座山谷的边缘。脚下是连绵起伏的地形每个点的高度代表“误差”——你站得越高说明误差越大。你的目标是下到山谷的最低点。你看不见全局——大雾弥漫你只能感觉到脚下的坡度。你摸一下地面的倾斜方向然后朝那个方向迈一小步。到了新位置再摸一下再迈一小步。这就是梯度下降。你不需要知道整个山谷的地形图只需要每一步都朝着“下降最快”的方向走。走足够多步你就能到达谷底。如果步子太大呢你可能会跨过谷底冲到对面的山坡上。如果步子太小呢你可能走到天黑都到不了。所以“迈多大步”是个很关键的问题——我们后面会有专门一章来讨论学习率。但至少现在你能理解线性回归虽然可以用公式一步到位但在更复杂的模型里你只能走。而这“一步一步走”的步骤就跟AI里面“训练”的过程一模一样。线性回归的野心远远不止房价你可能觉得线性回归听起来太简单了怎么能用在AI里答案是你完全可以把它当成一个“神经元”来看待。线性回归做的事情是输入 x输出 w·x b。一个神经元做的事情是输入 x输出 g(w·x b)其中 g 是一个非线性激活函数。你看去掉那个激活函数神经元就是线性回归。而一个只有一层神经元的网络实际上就是一个线性回归模型——它只能拟合线性的关系。但一旦你开始堆叠多层神经元情况就不同了。虽然每一层本身是线性的——w·x b——但层与层之间插入了非线性激活函数整个网络就变成了一个非线性的复合函数。它不再是一条直线而是一条可以扭来扭去、无限弯曲的曲线。这个“从线性到非线性”的飞跃正是深度学习能处理复杂问题的核心原因。而线性回归就是你踏入这个世界的第一个台阶。下一章我们要把“预测一个数字”升级成“判断属于哪一类”——从回归到分类。那是一个完全不同的故事。参考文献3Blue1Brown. (2017). “Gradient descent, how neural networks learn | Chapter 2, Deep Learning”. YouTube.推荐理由虽然标题是“神经网络如何学习”但这期视频用“盲人下山”的动画把梯度下降讲得极其透彻。线性回归只是梯度下降的一个应用场景看完你会对“挪着走”有更身体级别的感受。3Blue1Brown. (2016). “Fitting a line to data | Chapter 2, Essence of Calculus”. YouTube.推荐理由这一期直接讲线性回归。它从“散点图和一条直线”开始推导出了“误差平方和最小”的直觉然后展示了梯度下降如何一步步把直线移动到最佳位置。配合本篇阅读文字和动画交叉印证效果最好。Hastie, T., Tibshirani, R., Friedman, J. (2009).The Elements of Statistical Learning(2nd ed.). Springer. 第3章Linear Methods for Regression。推荐理由统计学习领域最经典的教材之一。第3章全部在讲线性回归——从最小二乘到正则化到模型选择覆盖得非常完整。但不用全读翻一翻开头的图和公式旁白感受一下“教科书怎么用数学描述这件事”就够了。