回归与分类是同一个问题
同样的
wx + b,接恒等映射就是回归,接 sigmoid 就是分类。输入输出维度不同、损失函数不同——但梯度形式完全一致。
线性基底:wx + b
给定特征向量
$$\mathbf{x} \in \mathbb{R}^d$$,线性模型的核心是:
$$z = \mathbf{w}^\top \mathbf{x} + b$$参数
$$\mathbf{w}$$决定了每个特征的权重方向,
$$b$$是偏置。这个基底在回归和分类中完全共享——不管最后输出什么,模型的第一层计算是一样的。
回归:恒等映射 + MSE
回归任务输出连续实数
$$y \in \mathbb{R}$$。线性回归直接使用 z 作为预测值:
损失函数采用均方误差(Mean Squared Error, MSE):
$$\mathcal{L}_{\text{MSE}} = \frac{1}{2}(\hat{y} - y)^2$$对参数
$$\mathbf{w}$$求梯度:
$$\frac{\partial \mathcal{L}}{\partial \mathbf{w}} = (\hat{y} - y) \cdot \mathbf{x}$$梯度方向 = 预测减真实 × 输入向量。
分类:sigmoid 映射 + CrossEntropy
二分类任务输出离散标签
$$y \in \{0, 1\}$$。线性基底 z 经过 sigmoid 函数压缩到 (0, 1) 区间:
其中
$$p$$解释为样本属于正类的概率。损失函数采用交叉熵(CrossEntropy):
$$\mathcal{L}_{\text{CE}} = -\big[y \log p + (1-y)\log(1-p)\big]$$对参数
$$\mathbf{w}$$求梯度。sigmoid 的导数是
$$p(1-p)$$:
$$\frac{\partial p}{\partial z} = p(1-p)$$链式法则展开:
$$\frac{\partial \mathcal{L}}{\partial \mathbf{w}} = \frac{\partial \mathcal{L}}{\partial p} \cdot \frac{\partial p}{\partial z} \cdot \frac{\partial z}{\partial \mathbf{w}}$$$$= \left[-\frac{y}{p} + \frac{1-y}{1-p}\right] \cdot p(1-p) \cdot \mathbf{x}$$$$= \bigg[-(1-p)y + p(1-y)\bigg] \cdot \mathbf{x}$$$$= (p - y) \cdot \mathbf{x}$$关键发现:梯度形式统一
| 回归 (MSE) | 分类 (CE + sigmoid) | |
|---|---|---|
| 输出映射 | 恒等: $$\hat{y} = z$$ | sigmoid: $$p = \sigma(z)$$ |
| 损失函数 | $$(\hat{y}-y)^2/2$$ | $$-y\log p - (1-y)\log(1-p)$$ |
| 参数量 | $$d+1$$ | $$d+1$$ |
| 梯度形状 | $$(\hat{y}-y) \cdot \mathbf{x}$$ | $$(p-y) \cdot \mathbf{x}$$ |
| 梯度含义 | 预测 − 真实 | 预测 − 真实 |
梯度完全一致:(预测值 − 真实值)× 输入向量。MSE 的
$$\hat{y} - y$$和 CE+sigmoid 的
$$p - y$$是同一个数学结构——sigmoid 的导数
$$p(1-p)$$恰好约掉了 CE 分母中的
$$p$$和
$$1-p$$。
这不是巧合。这是**广义线性模型(GLM)**框架的必然:
- 系统组件(线性预测器):$$\eta = \mathbf{w}^\top \mathbf{x}$$
- 链接函数:回归用恒等 $$g(\mu) = \mu$$,二分类用 logit $$g(p) = \log\frac{p}{1-p}$$
- 误差分布:回归假设高斯,分类假设伯努利
不同链接函数 + 不同误差分布 → 不同的损失函数。但梯度形状由 (预测−真实)×输入 统一。
多分类扩展:softmax
从二分类推广到
$$k$$类分类,输出从单值
$$p$$变成向量
$$\mathbf{p} \in \mathbb{R}^k$$:
$$p_i = \text{softmax}(\mathbf{z})_i = \frac{e^{z_i}}{\sum_{j=1}^k e^{z_j}}$$交叉熵损失:
$$\mathcal{L} = -\sum_{i=1}^k y_i \log p_i$$对
$$z_i$$求梯度:
$$\frac{\partial \mathcal{L}}{\partial z_i} = p_i - y_i$$和二元分类完全一致——(softmax 概率 − one-hot 真实标签)。
从西瓜书到 WMT
NMT 的翻译训练就是这个对称结构的最大规模实例:
分类任务: 56K 词选一个
模型基底: Attention/Transformer 的 hidden state → Linear(56K)
输出映射: softmax
损失函数: CrossEntropy(label_smoothing=0.1)
梯度形状: (p - y_onehot) × hidden_state
我们的 WMT 系列(003-009)跑了 30+ 组实验,不管 RNN 还是 Attention 还是 Transformer,梯度始终是同一个形式:预测概率 − 真实分布,回传到 hidden 层。K_lang 限制 softmax 分母的研究正是建立在这个对称性之上的——你不需要理解"翻译"这个任务,你只需要理解 softmax 在 56K 维空间里的梯度稀释规律。
小结
- 回归和分类共享同一个线性基底 $$wx+b$$
- 差异只在链接函数(sigmoid/softmax)和损失函数(MSE/CE)
- 梯度形式统一为
(prediction − truth) × input - 这个对称性是广义线性模型(GLM)的数学结论,不依赖具体任务
- NMT 翻译只是这个结构在大规模分类上的应用
May the Code be with us.
License: GPLv3
本文《Watermelon》系列采用 GNU 通用公共许可证第三版 (GNU General Public License v3.0) 协议进行开源发布与分发。