上一篇我们讨论了凸优化。线性回归和 Logistic 回归正是最经典的无约束凸优化问题——它们的损失函数像一个完美的碗,保证了梯度下降一定能找到全局最优解。而拉格朗日乘子等高级工具,我们将在后续的 SVM 中大显身手。
几乎所有 ML 模型的骨架都可以写成同一个形式:
f(x)=w⋅x+b
这只是一个线性函数——一条线、一个面、一个超平面。但通过改变损失函数和输出变换,同一个骨架可以变成三种完全不同的模型:
- 预测连续值(房价、温度)→ 线性回归
- 预测离散类别(猫/狗)→ 感知机
- 预测概率(这张图 87% 是猫)→ Logistic 回归
理解这三者的关系,就是理解后面 SVM、神经网络、甚至 LLM 最后一层的起点。
最简单的回归问题:给你一组 (xi,yi) 数据点,找一条直线 y^=wx+b 让所有点的误差尽量小。
误差怎么衡量? 最常见的是均方误差(MSE):
L=n1i=1∑n(yi−y^i)2=n1i=1∑n(yi−wxi−b)2
几何上:每个点到直线的竖直距离(残差)平方后加起来最小。拖动下面的数据点,看最小二乘拟合线如何变化:
y = 0.81x + 1.44MSE = 1.38
拖动蓝色圆点改变数据。拖动红色离群点远离趋势,观察拟合线如何被剧烈拉扯——这就是 MSE 对离群点敏感的代价。紫色直线是最小二乘拟合——让所有残差平方和最小的那条线。切换「显示残差」看每个点到直线的垂直距离。
怎么找到最优的 w 和 b? 对 L 求偏导令其为零,可以得到解析解(正规方程):
w=(X⊤X)−1X⊤y
其中 X 是把所有样本叠成的矩阵,y 是目标向量。这个公式在统计上叫最小二乘估计(OLS),在几何上,预测值 y^ 就是把 y 投影到 X 的列空间上,而 w 是对应的坐标。
注意:如果特征数量比样本还多(高维小样本),X⊤X 将不可逆,模型会彻底崩溃。怎么解决?这就需要下一篇讲的正则化技巧。
一个关键的概率解读:如果我们假设 yi=w⋅xi+b+ϵ,其中 ϵ 是高斯噪声,那么最小化 MSE 恰好等价于极大似然估计(MLE)——找到让数据出现概率最大的参数。这把回归问题拉回到了概率的框架里。
回归预测连续值,分类预测离散类别。最简单的做法是用线性函数的符号当决策:
y^=sign(w⋅x+b)
w⋅x+b>0 预测为 +1 类,<0 预测为 -1 类。几何上,w⋅x+b=0 就是一条超平面(2D 里是直线)——它把空间切成两半,每半边染一种颜色。关键点:w 是这个超平面的法向量(垂直于超平面),它决定了超平面的朝向;b 决定了平面的平移。
感知机训练算法(Rosenblatt, 1958):
假设类别标签 yi∈{+1,−1},遍历每个样本,如果分错了就更新权重:
w←w+ηyixi,b←b+ηyi
直觉上:分错的样本会把超平面往它的方向推一推。看对了就不动。
感知机的损失函数是所有误分类样本的"惩罚"之和:
L=i∈错分∑−yi(w⋅xi+b)
这个形式后来演变成了 SVM 的 Hinge Loss——只是加了一个"间隔"的概念。
Novikoff 收敛定理(1962):如果数据线性可分,感知机一定收敛。收敛速度只取决于数据的间隔大小——间隔越大收敛越快。
但感知机有两个致命缺陷:
- 解不唯一——找到的那条线取决于初始化和扫描顺序,没有"最优"的标准。(究竟哪条线最好?这将引出后面的主角:寻找最大间隔的 SVM)
- 线性不可分就完全没办法——XOR 问题(对角两点一类、另一对角一类)感知机永远学不会。
第二个缺陷在 1969 年被 Minsky 和 Papert 严格证明,直接引发了 AI 的第一个寒冬。绕过这个限制需要非线性模型——但那是后面的故事。
感知机的问题是输出非黑即白(+1 或 -1),没有置信度。现实中我们更想要一个概率:"这张图 87% 是猫"。
Logistic 回归的做法:用 sigmoid 函数把线性分数压到 (0,1) 区间:
P(y=1∣x)=σ(w⋅x+b)=1+e−(w⋅x+b)1
σ 把任意实数 (−∞,+∞) 映射到 (0,1),正好可以当概率用。
为什么叫"回归"? 如果把 sigmoid 公式反过来推导,会发现:
ln(1−pp)=w⋅x+b
左边是对数几率(log-odds)——事件发生概率与不发生概率之比的对数。所以 logistic 回归本质上是在用线性模型拟合对数几率,这就是它为什么叫"回归"。
拖动滑块感受:
P(y=1∣x)=σ(wx+b)交叉熵 = 0.136 拖动 w 和 b 调整 sigmoid 曲线。紫色虚线是决策边界(σ=0.5处)。调大 w 让边界更陡,曲线更像阶跃函数;调小则更平缓。
决策边界还是 w⋅x+b=0(对应 σ=0.5),所以 logistic 回归还是线性分类器。但多出来的好处是:
- 概率输出——不只告诉你"分到哪类",还有"模型有多确信"。
- 处处可微——sigmoid 光滑可导,梯度下降稳定工作。
损失函数:交叉熵(即负对数似然):
L=−n1i=1∑n[yilogp^i+(1−yi)log(1−p^i)]
为什么不用 MSE?因为 sigmoid 把输出压到 (0,1) 后,MSE 对"远端"样本的梯度几乎为零(sigmoid 的导数在两端很小),训练会卡住。交叉熵配合 sigmoid 则给出恒定的梯度规模,训练效率更高——这可以从概率视角严格推导(交叉熵就是 logistic 模型的负对数似然)。
多类扩展:当类别超过 2 个时,logistic 退化成 softmax 回归:
P(y=k∣x)=∑jewj⋅x+bjewk⋅x+bk
这就是 LLM 最后一层的形态——把隐状态映射成词表上的概率分布。
回过头看,这三个模型的骨架完全一样——都是 w⋅x+b。真正区分它们的,是损失函数:
| 模型 | 输出 | 损失函数 | 概率解释 |
|---|
| 线性回归 | 连续值 | n1∑i(yi−y^i)2 | 高斯噪声下的 MLE |
| 感知机 | ±1 | ∑i∈错分−yi(w⋅xi+b) | (无) |
| Logistic 回归 | [0,1] 概率 | −n1∑i[yilogp^i+(1−yi)log(1−p^i)] | Bernoulli 模型的 MLE |
| Softmax 回归 | 多类概率 | −n1∑ilogP(yi∣xi) | Multinomial 的 MLE |
这个视角很重要:选择损失函数 = 选择"什么叫好的模型"的定义。MSE 说"预测离真值近就好",交叉熵说"预测的分布贴近真实分布就好"。不同的定义,引导出不同的最优解。
还有一个统一的几何事实:所有的线性模型,无论损失函数怎么变,决策边界(或拟合函数)都只取决于数据的线性组合。如果数据本身有非线性结构(两个新月、同心圆),线性模型就只能认命——这是下一篇要解决的问题。