本文梳理 Math-00 数学分布 系列与机器学习损失函数的对应:多数训练目标本质是负对数似然(negative log-likelihood,NLL)或等价形式。理解分布 → 似然 → 损失,有助于正确选型与诊断。
段末注释:NLL 为负对数似然;最小化 NLL 等价于极大似然估计(maximum likelihood estimation,MLE)。
读前说明:本篇为衔接专论,不对应单一分布的 PMF/PDF;下文以损失—分布对照表为主。系列:00 规划 | 01 总论。
1. 为什么从分布理解损失

监督学习假设数据由某概率模型生成:$p(y \mid \mathbf{x}, \boldsymbol{\theta})$。训练求:
$$
\hat{\boldsymbol{\theta}} = \arg\max_{\boldsymbol{\theta}} \sum_i \log p(y_i \mid \mathbf{x}i, \boldsymbol{\theta})
\quad \Leftrightarrow \quad
\arg\min{\boldsymbol{\theta}} \underbrace{-\sum_i \log p(y_i \mid \mathbf{x}i, \boldsymbol{\theta})}{\text{损失 = NLL}}
$$
选错分布 ≈ 选错损失 → 偏差、校准差、异常点敏感。
2. 基本设定
| 符号 | 含义 |
|---|---|
| $y$ | 标签(连续 / 0-1 / 多类 / 计数) |
| $f(\mathbf{x})$ | 模型输出(均值、logit、log-rate 等) |
| $\phi$ | 分布族参数与链接函数 |
3. 损失—分布对照

| 任务 | 假设分布 | 损失(NLL 等价) | 系列专篇 |
|---|---|---|---|
| 回归(同方差) | $y \sim \mathcal{N}(f(\mathbf{x}), \sigma^2)$ | MSE $\propto (y-f)^2$ | 20.正态 |
| 回归(重尾) | $y \sim t(f, \sigma^2, \nu)$ | 加权 MSE / Huber | 27.t |
| 二分类 | $y \sim \mathrm{Bernoulli}(\sigma(f))$ | BCE / Logistic NLL | 10.伯努利 |
| 多分类 | $y \sim \mathrm{Categorical}(\mathrm{softmax}(f))$ | 交叉熵 | 15.多项 |
| 计数 | $y \sim \mathrm{Poisson}(\exp(f))$ | Poisson NLL | 12.泊松 |
| 过离散计数 | $y \sim \mathrm{NB}(\mu, \alpha)$ | NB NLL | 14.负二项 |
| 正值连续 | $\log y \sim \mathcal{N}(f, \sigma^2)$ | 对 $\log y$ 的 MSE | 21.对数正态 |
| 比例/不确定性 | $p \sim \mathrm{Beta}(\alpha,\beta)$ | 非点损失;贝叶斯 NLL | 25.Beta |
3.1 回归:MSE ↔ 正态
$$
p(y \mid f) = \frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{(y-f)^2}{2\sigma^2}\right)
\Rightarrow -\log p \propto (y-f)^2 + \text{const}
$$
3.2 分类:交叉熵 ↔ 多项
$$
-\log p(y=k \mid f) = -\log \frac{e^{f_k}}{\sum_j e^{f_j}} = \text{CrossEntropy}(f, y)
$$
3.3 计数:Poisson NLL
$$
-\log p(y \mid f) = e^{f} - y f + \log(y!)
$$
($\log(y!)$ 与 $\theta$ 无关,训练时常省略。)
4. 数字特征与鲁棒性
| 损失 | 对异常值 | 隐含假设 |
|---|---|---|
| MSE | 敏感(平方) | 正态噪声 |
| MAE | 较鲁棒 | 拉普拉斯(Laplace) |
| Huber | 折中 | 混合 |
| BCE | 标签噪声敏感 | Bernoulli |
| Poisson | 大计数权重大 | 等离散 |
5. 分布族扩展
| 扩展 | 说明 |
|---|---|
| GLM | 指数族 + 链接:Poisson/log、Binomial/logit |
| 异方差 | $y \sim \mathcal{N}(f, \sigma^2(\mathbf{x}))$ → 加权 NLL |
| 零膨胀 | ZIP / ZINB → 混合分布 |
| 贝叶斯 NN | 权重先验 → 后验预测 |
| focal loss | 修正类别不平衡(非严格 NLL,但源于 BCE 加权) |
6. 前提假设(损失—分布对应)
选用某种损失时,隐含假设训练数据由对应分布生成:
| 损失 | 隐含生成假设 | 违背时 |
|---|---|---|
| MSE | $y\mid x \sim N(f(x),\sigma^2)$ | 厚尾/异常值 → Huber 等 |
| BCE | $y\in{0,1}\sim\mathrm{Bernoulli}(\sigma(f))$ | 标签噪声大 → 鲁棒损失 |
| 交叉熵(多类) | $y\sim\mathrm{Multinomial}(1,\mathrm{softmax}(f))$ | 类不平衡 → 加权 |
| Poisson NLL | $y\sim\mathrm{Poisson}(e^f)$ | 过离散 → NB 损失 |
| 通用假设 | 含义 |
|---|---|
| i.i.d. 样本 | 各训练样本独立同分布(或条件 i.i.d.) |
| 正确设定 | 所选分布族与真实 $p(y\mid x)$ 一致 |
| 可识别 | 参数由无限数据可唯一确定 |
段末注释:NLL(negative log-likelihood,负对数似然)最小化等价于 MLE(maximum likelihood estimation,极大似然估计)。
7. 适用场景

| 数据 | 推荐损失/分布 |
|---|---|
| 酶活/表达(正偏) | 对数正态 → $\log y$ 上 MSE |
| RNA-seq 读段 | Poisson / NB NLL |
| 0/1 有害突变 | BCE(Bernoulli) |
| 10 类结构预测 | Softmax + 交叉熵 |
| 蛋白活性回归(WT 附近对称) | MSE / 正态 |
8. 局限与误用

| 误用 | 后果 |
|---|---|
| 正偏数据用 MSE | 低估高值、残差非正态 |
| 过离散计数用 Poisson NLL | 校准差、标准误偏小 |
| 多标签当多类 Softmax | 互斥假设错误 |
| 忽略 $\sigma$ 变化 | 异方差下 MLE 非最优 |
| 只调损失不调评估 | 业务指标与 NLL 脱节 |
9. 实践建议
- 看 $y$ 类型 → 01 总论 决策树
- 看残差/QQ → 正态性、Poisson 等离散
- 看离散度 $\mathrm{Var}/\mathbb{E}$ → Poisson vs NB
- 交叉验证 比较 NLL 与业务指标(Spearman、RMSE)
10. 示例与代码
场景:同一合成数据,比较 MSE(正态)与 Poisson NLL 拟合计数。
1 | import numpy as np |
11. 小结
- MSE ↔ 正态、BCE ↔ Bernoulli、交叉熵 ↔ 多项、Poisson NLL ↔ Poisson 是最常用四条。
- 选型先问「$y$ 如何生成」,再选分布与损失;与 40.极限 及酶学 ML 最佳实践 衔接。
ML 数学续读:Math-05/03 CE与KL | Math-04/01 优化总论 | Math-04/04 Adam | Math-03 线性代数
参考文献
- Murphy K. P. Probabilistic Machine Learning.
- sklearn PoissonRegressor