预测模型概览
基于该评分规则的最小化负对数损失 ( $\text{NLL}$ )方法,应该会产生良好校准的输出类概率。但在实践中,对数损失往往会过分强调概率分布的尾部。
一、问题提出
绝大多数机器学习都比较关注解决一个单纯的问题:从标记训练集 $\mathcal{D} = {(\boldsymbol{x}_n, \boldsymbol{y}_n), n = 1:N}$ 中学习得到某个函数 $f$,使其能够从未来的新输入 $\boldsymbol{x}$ 中预测输出 $\boldsymbol{y}$。 其中,$\boldsymbol{x}_n \in \mathcal{X} \subseteq \mathbb{R}^D$, $\boldsymbol{y}_n \in \mathcal{Y} \subseteq \mathbb{R}^C$ 。
我们可以使用形式为 $p(\boldsymbol{y}|f(\boldsymbol{x}))$ 的条件概率模型,对给定输入时正确输出的不确定性建模。
- 当 $\mathcal{Y}$ 是一组离散标签时,此类模型(在 ML 文献中)被称为判别模型或分类模型,因为它让我们能够判别(区分)$\boldsymbol{y}$ 的不同可能值。
- 如果输出是实值时,即 $\mathcal{Y} = \mathbb{R}$,则被称为回归模型。
本文中将使用更通用的术语 『预测模型』 来指代上述两类模型。
二、与生成模型的关系
『预测模型』可以被认为是条件生成模型的一种特例( 见 生成模型 ),因为从形式上看,两者貌似都在寻求解决 『**输入 $\boldsymbol{x}$,输出 $\boldsymbol{y}$**』 的问题。但两者又存在着显著区别:
- 在预测模型中,输出通常维度较低,并且通常会有一个想要预测的最佳答案。
- 在生成模型中,输出通常是高维的(例如图像或句子),并且对于任何输入都可能存在许多正确输出。
三、主要模型类型
有许多不同类型的预测模型,但最大的分类区别在于参数模型和非参数模型。
- 参数模型:具有 _固定数量的参数_,参数数量与训练集大小无关。参数模型通常不太灵活,但用于预测的速度更快。大多数参数模型的形式为 $p(\boldsymbol{y} \mid \boldsymbol{x}) = p(\boldsymbol{y} \mid f (\boldsymbol{x}; \boldsymbol{\theta}))$,其中 $f$ 是用于对输出分布(需要作出适当假设,如:
高斯分布
)的某些参数( 如高斯分布的均值
)做预测的函数。存在很多可以使用的此类函数:- (广义)线性模型:当该函数 $f$ 是参数 $\boldsymbol{\theta}$ 的线性函数时,即 $f(\boldsymbol{x};\boldsymbol{\theta})=\boldsymbol{\theta}^T \phi(\boldsymbol{x})$ , 这一大类模型被称为广义线性模型;
- 非线性模型(神经网络):当该函数 $f$ 是参数 $\boldsymbol{\theta}$ 的非线性可微分函数时, 例如:$f(\boldsymbol{x};\boldsymbol{\theta})=\boldsymbol{\theta}_2^T \phi(\boldsymbol{x};\boldsymbol{\theta}_1)$,其中 $\phi(\boldsymbol{x};\boldsymbol{\theta})$ 是某种可学习的函数,这一大类模型通常将被表示为神经网络模型。
- 非参数模型:此类模型的 _参数数量不固定_,会随着训练集的大小而增长。非参数模型通常更灵活,但用于预测的速度可能较慢。非参数模型通常将输入 $\boldsymbol{x}$ 与部分或全部存储的训练实例 ${\boldsymbol{x}_n, n = 1:N}$ 进行比较,比较往往采用某种形式的相似性度量 $s_n = \mathcal{K}(\boldsymbol{x}, \boldsymbol{x}n) \ge 0$,然后使用训练标签的一些加权组合来预测输出,例如 $\hat{\boldsymbol{y}} = \sum\limits^{N}{n=1} s_n \boldsymbol{y}_n$ 。典型如: 高斯过程、K 最近邻、决策树、随机森林等。
下图为常见的一些预测模型:
四、模型推断
统计推断的目的是根据样本,获得模型参数或隐变量的点估计、区间估计或者概率分布估计。对于预测任务而言,其统计推断大致可以分为两类:
4.1 频率派方法
频率派方法仅做出参数的点估计,通常通过增加正则化项解决过拟合问题。比较常见的方法有:
( 1 )『最大似然估计法( MLE )』
最大似然估计是一种基础并且跟随直觉的方法,其基本原理是估计使数据的似然最大化的模型参数 $\hat{\boldsymbol{\theta}}$ :
$$
\hat{\boldsymbol{\theta}}=\underset{\boldsymbol{\theta} \in \Theta}{\operatorname{argmax}} , p(\mathcal{D} \mid \boldsymbol{\theta}) \equiv \underset{\boldsymbol{\theta}\in \Theta}{\operatorname{argmax}} \log p(\mathcal{D} \mid \boldsymbol{\theta})
$$
对于预测任务而言,最大似然估计等价于寻求下式中的最优解:
$$
\hat{\boldsymbol{\theta}}=\underset{\boldsymbol{\theta} \in \Theta}{\operatorname{argmax}} , p(\boldsymbol{y} \mid \boldsymbol{x,\theta}) \equiv \underset{\boldsymbol{\theta}\in \Theta}{\operatorname{argmax}} \log p(\boldsymbol{y} \mid \boldsymbol{x,\theta})
$$
对于独立同分布假设和复对数似然(一种概率论中的常用技巧),上式可改写为:
$$
\hat{\boldsymbol{\theta}}=\underset{\boldsymbol{\theta}\in \Theta}{\operatorname{argmin}} \frac{1}{N}\sum\limits^{N}_{n=1}\left[ -\log p(\boldsymbol{y}_n \mid \boldsymbol{x}_n,\boldsymbol{\theta}) \right]
$$
上式中的负对数似然项可以泛化为对数损失,即 $\ell(\boldsymbol{\theta}) = - \log p(\boldsymbol{y}_n \mid \boldsymbol{x}n,\boldsymbol{\theta}))$,并令 $r(\boldsymbol{\theta})= \frac{1}{N}\sum\limits^{N}{n=1} \ell_n(\boldsymbol{\theta})$,则最大似然法可以量化为:
$$
\hat{\boldsymbol{\theta}}=\underset{\boldsymbol{\theta}\in \Theta}{\operatorname{argmin}}, r(\boldsymbol{\theta})
$$
此处的 $r(\boldsymbol{\theta})$ 就是我们常听说的『经验风险( Empirical Risk )』,因此上式也被称为『经验风险最小化』。
实践中表明,单纯采用经验风险最小化,容易导致过拟合现象,因此通常在其基础上增加一个正则化项(或称为惩罚项):
$$
\hat{\boldsymbol{\theta}}=\underset{\boldsymbol{\theta}\in \Theta}{\operatorname{argmin}}, r(\boldsymbol{\theta}) + \lambda C(\boldsymbol{\theta})
$$
$\lambda \geq 0$ 控制了正则化的程度,而 $C(\boldsymbol{\theta})$ 是某种模型复杂度的测度。
( 2 )『最大后验估计( MAP )』
最大后验估计部分采用了贝叶斯原理,为了避免过拟合现象,可以先对参数作出先验假设,然后估计使贝叶斯后验最大化的模型参数,其形式如下:
$$
\hat{\boldsymbol{\theta}}=\underset{\boldsymbol{\theta} \in \Theta}{\operatorname{argmax}} \log p(\mathcal{D} \mid \boldsymbol{\theta})+\log \pi_0(\boldsymbol{\theta})
$$
如果令最大似然方法中的 $\lambda = 1$,并令其模型复杂性测度等于最大后验估计中的先验分布 $C(\boldsymbol{\theta}) = -\log \pi_0(\boldsymbol{\theta})$ ,则可以看出带正则化项的最大似然估计等价于某种特殊形式的最大后验估计。
4.2 贝叶斯方法
贝叶斯方法与频率派方法最大的不同在于,贝叶斯方法会给出参数的概率分布估计 $q(\boldsymbol{\theta})$,而不仅仅是其点估计,并且贝叶斯方法可以灵活的通过先验假设解决过拟合问题。其容易被诟病的地方在于,后验分布同时受模型和先验假设影响,而先验假设来自于人为设计,这使得贝叶斯方法总体上存在了主观性。但贝叶斯派学者们并不这样人为,因为从贝叶斯角度来看,频率派方法只是贝叶斯方法中的一个特例。
与频率派方法简单地使用经验风险最小化方法求最优解不同,贝叶斯方法需要得到最终的分布形态,这对于哪怕最简单的模型而言,也是挺困难的一件事情。我们可以把贝叶斯推断看作是用数据(似然)对某个假想分布(先验)做重新塑型的操作:对于每一个可能的参数值(先验中的一个样本),根据数据都可以计算得到一个似然值,用似然值对假想分布进行调整使其更符合实际数据。显而易见,这是一个复杂度非常高的计算,其输入是一个分布而输出是另外一个分布(这一点与频率派方法截然不同),我们要为分布中每一个可能值都做上述计算显然是不可取的。因此,出现了各种近似计算的方法。其中比较常见的是两种:
( 1 ) 蒙特卡洛方法
根据上述分析,我们不可能为所有可能的参数值都计算后验概率,那有什么方法能够减少这种计算量呢?一种直观方法是对可能的值域做离散化,每个网格内只计算一个值,但网格大小和后验精度显然都会受到影响。此外,根据蒙特卡洛积分方法,网格法无法满足很多后续以计算期望为主的任务,因为蒙特卡洛方法要求概率大的地方采样密度也要更大,网格法显然无法做到这一点。更好的做法是『马尔可夫链蒙特卡洛方法( MCMC )』,该方法利用马尔可夫链存在平稳分布、可收敛等特性,可以实现从任意初始点通过马尔可夫状态转移到达平稳状态的能力,在到达平稳状态后,所有转移得到的样本点都是符合平稳分布的样本点。也就是说,MCMC 方法可以在一段时间的预热后达到平稳状态,在此之后的每一次状态转移都会产生一个符合目标分布的样本点。
MCMC 方法的优势在于,其样本点都是来自目标分布的样本点,因此常作为统计推断任务的黄金标准。其缺点计算复杂度仍然比较高,特别是当模型参数的维度较高、样本点数量较大的场景中,面临非常大的挑战。此外 MCMC 方法需要从后验分布中抽取和存储足够多的样本,其空间复杂度也较高。鉴于上述原因,在深度神经网络中很少使用 MCMC 方法,这也是一个可以深入研究的领域。
( 2 ) 变分推断方法
『变分推断概览』 )采用了另外一种解决问题的思路:将注意力限制在有限分布族上来简化问题,即在某个可参数化的有限分布族(如平均场)中,寻求后验分布的最优近似分布。变分推断将 “多维复杂分布的真实值求解问题” 简化为 “对其近似分布的参数最优化求解问题”,尽管损失了一定的精度,但计算效率的优势比较明显,尤其是在样本量较大时,可以直接使用随机梯度下降等优化方法,因此在神经网络的统计推断任务中比较常见。
从数学上来看,变分推断的目标是通过最小化 近似分布
和 目标分布
之间的的 $\mathbb{KL}$ 散度(注: $\mathbb{KL}$ 散度衡量两种概率分布之间的差异程度,但不具备可逆性,即 $D_{\mathbb{KL}}(q | p) \neq D_{\mathbb{KL}}(p | q)$ )。
$$
\hat{q} = \underset{q \in \mathcal{Q}(\Theta)} {\operatorname{argmin}} \mathbb{E}{q(\boldsymbol{\theta})} \left[-\log p(\mathcal{D} \mid \boldsymbol{\theta})\right] + D{\mathbb{KL}}(q || \pi_0) \tag{12}
$$
同样我们也可以将负对数似然损失做泛化,替换为一个更广义的风险损失 $r(\boldsymbol{\theta})$,将 $D_{\mathbb{KL}}(q || \pi_0)$ 的 $\mathbb{KL}$ 散度项替换为更为广义的散度项 $D(q || \pi_0)$ ,并赋予权重 $\lambda$,就可以得到『广义贝叶斯推断』:
$$
\hat{q} = \underset{q \in \mathcal{Q}(\Theta)} {\operatorname{argmin}} \mathbb{E}_{q(\boldsymbol{\theta})} \left[ r(\boldsymbol{\theta}) \right]+ D(q || \pi_0) \tag{13}
$$
变分推断方法中最简单的一个例子是对高斯混合模型进行推断时采用的 『EM 算法』,而在神经网络中的一个复杂例子是『变分自编码器』。
5.2 模型校准
什么样的预测模型是更好的模型呢?下面以分类任务为例,探讨这个问题,其中很多原则可以推广至回归问题。
5.1 评分规则
测量一个预测模型性能(主要值正确率)的常见方法是使用某种恰当的评分规则,如分类任务中常用的负对数似然、回归任务中常用的平方误差( MSE )等。
令 $S\left(p_{\boldsymbol{\theta}},(y, \boldsymbol{x})\right)$ 为预测性分布 $p_{\boldsymbol{\theta}}(y \mid \boldsymbol{x})$ 在给定事件 $y \mid \boldsymbol{x} \sim p^*(y \mid \boldsymbol{x})$ 时的分值,其中 $p^*$ 代表真实的条件分布。
评分的期望被定义为所有样本上的积分:
$$
S\left(p_{\boldsymbol{\theta}}, p^\right)=\int p^(\boldsymbol{x}) p^*(y \mid \boldsymbol{x}) S\left(p_{\boldsymbol{\theta}},(y, \boldsymbol{x})\right) d y d \boldsymbol{x} \tag{14}
$$
显而易见,恰当的评分规则应当符合 $S\left(p_{\boldsymbol{\theta}}, p^\right) \leq S\left(p^, p^\right)$,其中当模型的预测分布与真实数据分布一致时(即 $p_{\boldsymbol{\theta}}(y \mid \boldsymbol{x})=p^(y \mid \boldsymbol{x})$ )等号成立。
也就是说,最大化 $S\left(p_{\boldsymbol{\theta}},p^*\right)$ 这样一个恰当的评分规则,将迫使模型匹配真实的数据分布。
根据上述分析,负对数似然显然是一个恰当评分规则,因为评分规则 $S\left(p_{\boldsymbol{\theta}},(y, \boldsymbol{x})\right)=\log p_{\boldsymbol{\theta}}(y \mid \boldsymbol {x})$。这遵循『吉布斯不等式』:
$$
S\left(p_{\boldsymbol{\theta}}, p^\right)=\mathbb{E}_{p^(\boldsymbol{x}) p^*(y \mid \boldsymbol{x})}\left[\log p_{\boldsymbol{\theta}}(y \mid \boldsymbol{x})\right] \leq \mathbb{E}_{p^*(\boldsymbol{x}) p^*(y \mid \boldsymbol{x})}\left[\log p^*(y \mid \boldsymbol{x})\right] \tag{15}
$$
( 1 ) 校准的测量
对于分类任务而言,一种常见的替代方法是使用 『Brier 评分』,其定义如下:
$$
S\left(p_{\boldsymbol{\theta}},(y, \boldsymbol{x})\right) \triangleq \frac{1}{C} \sum_{c=1}^C\left(p_{\boldsymbol{\theta}}(y=c \mid \boldsymbol{x})-\mathbb{I}(y=c)\right)^2 \tag{16}
$$
这是预测概率分布 $p=p(1: C \mid x)$ (预测值)与独热标签分布 $\boldsymbol{y}$ (真实值)相比的平方误差。该 Brier 评分规则基于平方误差,因此其分数对极其罕见或极其常见的类别不太敏感。同样的,Brier 分数也是一个恰当的评分规则。
考虑到概率分布为连续值,因此为了能够评估校准,我们可以将预测概率分布划分为一组有限的桶(或区间),然后通过计数来评估经验频率和预测概率之间的差异。
我们可以使用 校准误差的期望( ECE ) 来衡量校准:
在多分类的情况下,$\text{ECE}$ 只查看 MAP 预测的误差(即最高的标签),因此,我们可以使用 边缘校准误差(或静态校准误差) 扩展该度量以观察所有的类:
更准确地说,假设我们有 $B$ 个桶,令 $\mathcal{B}_b$ 为样本预测信念落在区间 $I_b=\left(\frac{b-1}{B}, \frac{b}{B}\right]$ 中的索引集合。在此为了方便,我们使用了一致的桶宽度,但也可以根据桶中样本的数量来定义桶边界,以便每个桶中的样本数量相等。
令 $f(\boldsymbol{x})_c=p(y=c \mid \boldsymbol{x}), \hat{y}n= \operatorname{argmax}{c \in {1, \ldots, C} } f\left(\boldsymbol{x}_n\right)_c$ ,和 $\hat{p}_n=\max _{c \in{1, \ldots, C}} f\left(\boldsymbol{x}_n\right)_c$。 桶 $b$ 内的准确度定义为:
$$
\operatorname{acc}\left(\mathcal{B}_b\right)=\frac{1}{\left|\mathcal{B}b\right|} \sum{n \in \mathcal{B}_b} \mathbb{I}\left(\hat{y}_n=y_n\right) \tag{17}
$$
则该桶中的平均信念可以定义为:
$$
\operatorname{conf}\left(\mathcal{B}_b\right)=\frac{1}{\left|\mathcal{B}b\right|} \sum{n \in \mathcal{B}_b} \hat{p}_n \tag{18}
$$
如果我们将准确性(Accuracy)与平均信念(Confidence)绘制在同一张图上,会得到一个可靠性图,如下图所示。 准确性和置信度之间的差距显示在红色条中。
( 2 ) 改善校准
原则上,训练分类器以优化适当的评分规则(例如 NLL)应该会自动生成校准良好的分类器。但在实践中,不平衡的数据集可能导致校准不佳的预测结果,因此必须改善模型的校准情况。常见的模型校准方法有普式定标法
、直方图法
、调温法
、标签平滑法
、贝叶斯方法
等,详情参见Guo+17,本站有其译文《现代神经网络的校准》。在 『贝叶斯深度学习快速上手教程』 的第 9 节中也有部分阐述。
$$
\operatorname{ECE}(f)=\sum_{b=1}^B \frac{\left|\mathcal{B}_b\right|}{B}\left|\operatorname{acc}\left(\mathcal{B}_b\right)-\operatorname{conf}\left(\mathcal{B}_b\right)\right| \tag{19}
$$
评分规则侧重于提升模型的准确性,校准侧重于评估和改善单次预测的概率分布性质 $p(\boldsymbol{y} | \boldsymbol{x})$ ,但这些评估手段主要针对单次预测,在『在线学习』、『顺序决策』等连续预测场景中可能并不适用,或者说不足以区分模型的好坏。
$$
\begin{align*}
\mathrm{MCE} &=\sum_{c=1}^C w_c \mathbb{E}\left[\left(p\left(Y=c \mid f(\boldsymbol{x})c\right)-f(\boldsymbol{x})c\right)^2\right] \tag{20}\
&=\sum{c=1}^C w_c \sum{b=1}^B \frac{\left|\mathcal{B}{b, c}\right|}{B}\left(\operatorname{acc}\left(\mathcal{B}{b, c}\right)-\operatorname{conf}\left(\mathcal{B}_{b, c}\right)\right)^2 \tag{21}
\end{align*}
$$
其中 $\mathcal{B}_{b,c}$ 是 $c$ 类的第 $b$ 个桶,$w_c \in [0, 1]$ 表示 $c$ 类的重要性(如果所有类都同等重要,可以设置 $w_c = 1/C$)。 有实验表明,某些具有良好 $\text{ECE}$ 的方法可能具有较差的 $\text{MCE}$。
- 然后,将定义好的共形评分规则应用到含 $n$ 个样本的(未参与训练的)校准数据集上,获得分数集合 $\mathcal{S}={ s_i = s(\boldsymbol{x}_i,y_i), i = 1:n}$。此时,用户需要指定一个超参数:信念阈值 $\alpha$ ,例如 $0.1$,我们针对该信念阈值计算其在 $\mathcal{S}$ 上的 $1-\alpha$ 分位数 $\hat{q}$。实践中,考虑到 $\mathcal{S}$ 是一个有限集合,我们一般会用 $\frac{\lceil(n+1)(1-\alpha)\rceil}{n}$ 代替 $1-\alpha$ 。
上述流程中使用校准集的方式被称为分割共形预测,也就是预留单独的校准数据集。如果我们没有足够数据来支撑这种分割方法,可以使用完全共形预测 [VGS05],此时需要使用类似于留一法的过程对模型进行 $n$ 次拟合。
5.3 连续预测的评估
其中的概率是相对于真实分布 $P^*\left(\boldsymbol{x}{n+1}, y{n+1}\right)$ 而言的。我们说预测集的覆盖水平为 $1-\alpha$。这适用于 $n \geq 1$ 和 $\alpha \in[0,1]$ 的任何值。唯一的假设是值 $\left(\boldsymbol{x}_i, y_i\right)$ 是可交换的,因此校准分数 $s_i$ 也可交换。
基于上述讨论,我们可以看到:在评估预测模型时,评估未来序列的联合预测分布有时非常有意义。
有学者建议,给定过去包含 $T$ 个数据点的样本 $\mathcal{D}T=\left{\left(X_t, Y{t}\right) : t=0,1, \ldots, T-1\right}$,以及一组长度为 $\tau$ 的序列输入 $\boldsymbol{x}=X_{T: T+\tau-1}$,可以评估其对应的 $\tau$ 个输出 $\boldsymbol{y}=Y_{T+1: T+\tau}$ 的后验联合预测分布。
根据贝叶斯定理,该预测分布应当是:
$$
P_T^B=p\left(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{D}_T\right) \tag{24}
$$
上式在实践中通常无法计算。因此可以考虑使用一个被称为『信念状态(Confidence State)』的分布来对其做近似:
$$
Q_T=p\left(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{D}_T\right) \tag{25}
$$
根据信息论,测量上面两个分布之间差别的天然指标是 $\mathbb{KL}$ 散度。由于两个分布都依赖于输入 $\boldsymbol{x}$ 和数据 $\mathcal{D}T=\left(X{0: T-1}, Y_{1: T}\right)$,因此我们实际上是在这些依赖条件的值上求 $\mathbb{KL}$ 的均值。我们假设这些值是从真实数据生成分布中抽取的,即有:
$$
P(X, Y, \mathcal{E})=P(X \mid \mathcal{E}) P(Y \mid X, \mathcal{E}) P(\mathcal{E}) \tag{26}
$$
其中 $\mathcal{E}$ 是真实但未知的环境。进而,我们可以定义用于序列预测评估的测度指标:
$$
d_{B, Q}^{K L}=\mathbb{E}_{P\left(\boldsymbol{x}, \mathcal{D}T\right)}\left[D{\mathbb{K L}}\left(P^B\left(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{D}_T\right) | Q\left(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{D}_T\right)\right)\right] \tag{27}
$$
其中:
$$
P\left(\boldsymbol{x}, \mathcal{D}T, \mathcal{E}\right)=P(\mathcal{E}) \underbrace{\left[\prod{t=0}^{T-1} P\left(X_t \mid \mathcal{E}\right) P\left(Y_{t+1} \mid X_t, \mathcal{E}\right)\right]}{P\left(\mathcal{D}T \mid \mathcal{E}\right)} \underbrace{\left[\prod{t=T}^{T+\tau-1} P\left(x_t \mid \mathcal{E}\right)\right]}{P(\boldsymbol{x} \mid \mathcal{E})} \tag{28}
$$
并且 $P\left(\boldsymbol{x}, \mathcal{D}_T\right)$ 是上式在环境 $\mathcal{E}$ 上的边缘化。
不幸的是,通常很难计算精确的贝叶斯后验 $P_T^B$,也就是说我们无法计算 $d_{B, Q}^{K L}$。但是有科学家已经证明:
$$
d_{B, Q}^{K L}=d_{\mathcal{E}, Q}^{K L}-\mathbb{I}\left(\mathcal{E} ; \boldsymbol{y} \mid \mathcal{D}_T, \boldsymbol{x}\right) \tag{29}
$$
其中第二项是相对于学习代理的常数,而第一项则由下式给出:
$$
\begin{align*}
d_{\mathcal{E}, Q}^{K L} &=\mathbb{E}_{P\left(\boldsymbol{x}, \mathcal{D}T, \mathcal{E}\right)}\left[D{\mathbb{KL}}\left(P(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{E}) | Q\left(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{D}T\right)\right)\right] \tag{30} \
&=\mathbb{E}{P(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{E}) P\left(\boldsymbol{x}, \mathcal{D}_T, \mathcal{E}\right)}\left[\log \frac{P(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{E})}{Q\left(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{D}_T\right)}\right] \tag{31}
\end{align*}
$$
因此,如果根据 $d_{\mathcal{E}, Q}^{K L}$ 对学习代理进行评估排序,它将给出和 $d_{B, Q}^{K L}$ 一致的排名结果。
要在实践中计算 $d_{\mathcal{E}, Q}^{K L}$,可以使用蒙特卡洛方法:
我们采样获得 $J$ 个环境,其中 $\mathcal{E}^j \sim P (\mathcal{E})$,并且从每个环境 $\mathcal{E}^j$ 中采样得到一个训练集 $\mathcal{D}_T^j \sim P\left(\mathcal{D}T \mid \mathcal {E}^j\right)$;然后从每个环境中采样 $N$ 个长度为 $\tau$ 的数据向量: $\left(\boldsymbol{x}n^j, \boldsymbol{y}n^j\right) \sim P \left(X{T: T+\tau-1}, Y{T+1: T+\tau} \mid \mathcal{E}^j\right)$ 。然后利用上述采样样本,计算散度 $d{\mathcal{E}, Q}^{K L}$ 的估计值:
$$
\hat{d},{\mathcal{E}, Q}^{K L}=\frac{1}{J N} \sum{j=1}^J \sum_{n=1}^N\left[\log P\left(\boldsymbol{y}_n^j \mid \boldsymbol{x}_n^j, \mathcal{E}^j\right)-\log Q\left(\boldsymbol{y}_n^j \mid \boldsymbol{x}_n^j, \mathcal{D}_T^j\right)\right] \tag{32}
$$
其中
$$
\begin{align*}
p_{j n} &=P\left(\boldsymbol{y}n^j \mid \boldsymbol{x}n^j, \mathcal{E}^j\right)=\prod{t=T}^{T+\tau-1} P\left(Y{n, t+1}^j \mid X_{n, t}^j, \mathcal{E}^j\right) \tag{33}\
q_{j n} &=Q\left(\boldsymbol{y}_n^j \mid \boldsymbol{x}_n^j, \mathcal{D}T^j\right)=\int Q\left(\boldsymbol{y}n^j \mid \boldsymbol{x}n^j, \boldsymbol{\theta}\right) Q\left(\boldsymbol{\theta} \mid \mathcal{D}T^j\right) d \boldsymbol{\theta} \tag{34}\
& \approx \frac{1}{M} \sum{m=1}^M \prod{t=T}^{T+\tau-1} Q\left(Y{n, t+1}^j \mid X{n, t}^j, \boldsymbol{\theta}_m^j\right)\tag{35}
\end{align*}
$$
其中 $\boldsymbol{\theta}_m^j \sim Q\left(\boldsymbol{\theta} \mid \mathcal{D}_T^j\right)$ 是代理在环境中的后验样本。
以上推导假设 $P(Y \mid X)$ 已知( 这是我们使用合成数据生成器时常见的情况,例如 [Osb 2021] 中的“神经测试平台”)。如果我们有 $J$ 个经验分布 $P^j(X, Y)$ ,则可以用交叉熵替换 $\mathbb{KL}$ 散度,其区别仅在于一个加性常数:
$$
\begin{align*}
d_{\mathcal{E}, Q}^{K L} &=\mathbb{E}{P\left(\boldsymbol{x}, \mathcal{D}T, \mathcal{E}\right)}\left[D{\mathbb{K} L}\left(P(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{E}) | Q\left(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{D}T\right)\right)\right] \tag{36}\
&=\underbrace{\mathbb{E}{P(\boldsymbol{x}, \boldsymbol{y}, \mathcal{E})}[\log P(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{E})]}{\text {const }}-\underbrace{\mathbb{E}_{P\left(\boldsymbol{x}, \boldsymbol{y}, \mathcal{D}T \mid \mathcal{E}\right) P(\mathcal{E})}\left[\log Q\left(\boldsymbol{y} \mid \boldsymbol{x}, \mathcal{D}T\right)\right]}{d{\mathcal{E}, \mathcal{Q}}^C}\tag{37}
\end{align*}
$$
其中后一项是学习代理相对于环境样本的经验负对数似然( $\text{NLL}$ )。因此,如果根据负对数似然 $\text{NLL}$ 或交叉熵 $d_{\mathcal{E}, Q}^{CE}$ 对学习代理进行排名,我们将得到与通过 $d^{K L}{\mathcal{E}, Q}$ 排名一致的结果,并进一步实现与 $d{B, Q}^{K L}$ 排名相同。
在实践中,我们可以将交叉熵近似如下:
$$
\hat{d}{\mathcal{E}, Q}^{C E}=-\frac{1}{J N} \sum{j=1}^J \sum_{n=1}^N \log Q\left(\boldsymbol{y}_n^j \mid \boldsymbol{x}_n^j, \mathcal{D}_T^j\right) \tag{38}
$$
其中 $\mathcal{D}_T^j \sim P^j$ 和 $\left(\boldsymbol{x}_n^j, \boldsymbol{y}_n^j\right) \sim P^j$。
除了估计 $\mathbb{KL}$ 或 $\text{NLL}$ 外,还可以通过在下游任务中使用联合预测准确性来评估模型。 [Osb $+21]$ 表明良好的预测准确性(对于 $\tau>1$ )与赌博机问题的良好性能相关。 [WSG21] 表明良好的预测准确度(对于 $\tau>1$ )在转导式主动学习任务中具有良好的性能。
六、共形预测
在本节中,我们将简要讨论共形预测。
6.1 基本框架
共形预测是在任何预测方法 $p(y|\boldsymbol{x})$ 基础上构造具有覆盖概率保证的预测区间(或预测集合)的一种方法。共形预测相较于其所使用的基础预测方法而言,预测输出的覆盖更全面且信念更精确。该方法的优点是简单而有效,并且可以被视为一种无分布情况下的不确定性量化方法,这相较于很多与模型假设和分布假设绑定的不确定量化方法而言,显然适用性更广。
在共形预测中:
- 首先,我们会从一些启发式的不确定性概念开始( 例如,分类模型中通常会有 softmax 得分、回归问题可能会计算估计误差等),定义一个共形评分规则 $s(\boldsymbol{x},y) \in \mathbb{R}$,用于衡量输出 $y$ 与输入 $\boldsymbol{x}$ 之间的 “符合” 程度。共形得分越大,代表该结果越不可能(因此也可以将其视为不合格分数)。
要知道这为何成立,可以对分数进行排序得到 $s_1<\cdots s_n$,所以 $\hat{q}=s_i$,其中 $i=\frac{\lceil(n+1)(1-\alpha)\rceil}{n}$(为简单起见假设分值不同)。分数 $s_{n+1}$ 同样可能落在校准点 $s_1、\ldots、s_n$ 之间的任何位置,因为这些点之间是可交换的。因此 - 最后,对于给定新输入 $\boldsymbol{x}_{n+1}$,我们为其计算预测集合:
$$
\mathcal{T}(\boldsymbol{x}{n+1}) = {y : s(\boldsymbol{x}{n+1},y) \geq 1- \hat{q}} \tag{49}
$$
值得注意的是,可以得到以下泛化的结果:
$$
1-\alpha \leq P^*\left(y^{n+1} \in \mathcal{T}\left(\boldsymbol{x}_{n+1}\right)\right) \leq 1-\alpha+\frac{1}{n+1} \tag{50}
$$
由于大部分空间变化与地球相对于太阳的旋转特性有关,我们在这里将自己限制在旋转不变的协方差模型上,这样可以减少计算负担。但是,我们将允许区域偏离预期中的旋转对称。该模型通过假设气候可以通过非平稳期望和协方差参数 $μ(\mathbf{u})$、$\kappa(\mathbf{u})$ 和 $τ(\mathbf{u})$ 对 $\mathbf{u} \in \mathbb{S}^2$ 进行参数化,并假设每年的天气如下由 (12) 定义的模型,给定气候。使用 图 4
中的三角剖分和分段线性基函数,附录 A.3
给出的高斯马尔可夫随机场表示将被使用,其中 $\mathbf{x}_t$ 表示时间 $t$ 的离散场。为了避免由于月度值之间的时间依赖性而导致的复杂化,我们将测量值汇总为年均值,并且仅对每个位置的年平均温度进行建模。完整的分析需要考虑当地测点的相关影响。在这里,我们只包括海拔的影响。将完全集成的测点均质化程序纳入模型将远远超出本文的变程,因此我们使用 “调整后的” GHCN 数据集,其中包括一些异常值质量控制和相关测点校准。
大多数组合似然推断的研究都集中在点估计和复合最大似然估计的渐近方差估计上。这直接来自估计方程的理论,至少在样本量增加时向量的维数固定的情况下是这样。在普通似然理论中,基于对数似然比统计的推论通常是首选,但其组合似然类比的渐近分布很难处理。有前途的替代方案包括第 2.3 节中提到的 Satterthwaite (1946) 类型修正和 Pace、Salvan 和 Sartori (2011) 开发的调整。正如 Pauli、Racugno 和 Ventura (2011) 中所讨论的那样,组合似然的校准也是近似贝叶斯推断的关键要素。
$$
P^*\left(s_{n+1} \leq s_k\right)=\frac{k}{n+1} \tag{51}
$$
对于任何 $k \in{1, \ldots, n+1}$。事件 $\left{y_{n+1} \in \mathcal{T}\left(\boldsymbol{x}{n+1}\right)\right}$ 等价于 $\left{ s{n+1} \leq \hat{q}\right}$。因此
$$
P^\left(y_{n+1} \in \mathcal{T}\left(\boldsymbol{x}_{n+1}\right)\right)=P^\left(s_{n+1} \leq \hat{q}\right)=\frac{\lceil(n+1)(1-\alpha)\rceil}{n+1} \geq 1-\alpha \tag{52}
$$
有关上界的证明见 [Lei+18]。
尽管该结果看起来像是 “免费的午餐”,但需要注意的是,我们总是可以通过将预测集定义为所有可能的标签来实现所需的覆盖水平。在这种情况下,预测集将独立于输入,但它会在 $1-\alpha$ 的时间里覆盖真实标签。
为了排除一些退化的情况,我们寻求在满足覆盖要求同时,预测集尽可能小(尽管对于更难的例子我们允许预测集更大)。实现这一目标有赖于定义合适的共形评分规则。下面我们给出一些示例,说明如何为不同类型的问题计算共形分数 $s(\boldsymbol{x}, y)$。
6.2 分类问题的共形预测
将共形预测应用于多类分类的最简单方法是使用 $s(\boldsymbol{x}, y) = 1 - f (\boldsymbol{x})_y$ ,从分配给标签的 softmax 得分中得出共形得分,因此较大值被认为比较小值更不可能。我们按照上述方法计算阈值 $\hat{q}$ ,然后将预测集定义为 $\mathcal{T} (\boldsymbol{x}) = {y : f (\boldsymbol{x})_y \geq 1 - \hat{q} }$,它与公式 (49) 匹配。也就是说,我们采用高于指定阈值的所有类标签的集合,如图 4 所示。
尽管上述方法生成的预测集具有最小的平均大小(证明见 [SLW19] ),但对于简单样本来说,该集合大小往往过大,而对于困难样本来说又会太小。
根据[RSC20],现在提出了一种改进的方法,称为『自适应预测集(Adaptive Prediction Sets)』,它解决了预测集大小不合理的问题。其想法很简单:
对所有 softmax 分数 $f (\boldsymbol{x})c, c = 1 : C$ 进行排序,得到排列 $\pi{1:C}$,然后我们将 $s(\boldsymbol{x}, y)$ 定义为 softmax 分数的累积和,直到到达标签 $y:s(\boldsymbol{x}, y) = \sum^k_{c=1} f(\boldsymbol{x})_{\pi_j}$ ,其中 $k = \pi_y$。我们现在像以前一样计算 $\hat{q}$ ,并将预测集 $\mathcal{T} (\boldsymbol{x})$ 定义为所有标签的集合,按概率递减的顺序排序,直到覆盖概率质量的 $\hat{q}$ 。参见图 5a 中的说明。这使用了模型输出的所有 softmax 分数,而不仅仅是最高分数,使其性能得到提高。
6.3 回归问题的共形预测
在本节中,我们考虑共形回归问题。由于现在 $y \in \mathbb{R}$,计算方程(49)中的预测集是代价较高的,所以我们将转而求取一个由下限和上限指定的预测区间。
6.3.1 分位数回归
在本节中,我们使用『分位数回归』来计算下限和上限。
我们首先拟合一个形式为 $t_\gamma(\boldsymbol{x})$ 的函数,它用于预测概率密度 $P(Y \mid \boldsymbol{x})$ 的 $\gamma$ 分位数。例如,如果设置 $\gamma=0.5$,我们将得到中位数。如果使用 $\gamma=0.05$ 和 $\gamma=0.95$,我们就可以使用 $\left[t_{0.05}(\boldsymbol{x}), t_{0.95}( \boldsymbol{x})\right]$得到一个近似 $90 %$ 的预测区间,如图 5b 中的灰线所示。
拟合分位数回归模型,我们只需将平方损失替换为『分位数损失』即可,也被称为 pillball 损失,定义为:
$$
\ell_\gamma(y, \hat{t})=(y-\hat{t}) \gamma \mathbb{I}(y>\hat{t})+(\hat{t}-y)(1-\gamma) \mathbb{I}(y<\hat{t})
$$
其中 $y$ 是真实输出,$\hat{t}$ 是在分位数 $\gamma$ 处的预测值。参见图 5c 中的展示。
回归分位数只是近似 $90 %$ 区间,源于模型可能与真实分布不匹配。但我们可以使用共形预测来解决这个问题。特别是,让我们将共形得分定义为:
$$
s(\boldsymbol{x}, y)=\max \left(\hat{t}{\alpha / 2}(\boldsymbol{x})-y, y-\hat{t}{\alpha / 2}(\boldsymbol{x})\right)
$$
换句话说,$s(\boldsymbol{x}, y)$ 是对 $y$ 值超出预测区间距离的正度量,或者 $y$ 在预测区间内距离的负度量。然后像以前一样计算 $\hat{q}$,并将共形预测区间定义为:
$$
\mathcal{T}(\boldsymbol{x})=\left[\hat{t}{\alpha / 2}(\boldsymbol{x})-\hat{q}, \hat{t}{\alpha / 2}(\boldsymbol{x})+\hat{q}\right]
$$
如果 $\hat{q}$ 为正(基础方法过于自信),这会使分位数回归的区间更宽,如果 $\hat{q}$ 为负(基础方法不够自信),则分位数回归的区间更窄。请参见图 5b 中的展示。这种方法被称为『共形分位数回归』或简写为 CQR [RPC19]。
6.3.2 预测方差
定义不确定性分数 $u(\boldsymbol{x})$ 的方法有很多,其中比较典型的是『预测标准差』,我们可以从标准差推导出预测区间:
$$
\mathcal{T}(\boldsymbol{x})=[f(\boldsymbol{x})-u(\boldsymbol{x}) \hat{q}, f(\boldsymbol{x})+u(\boldsymbol{x}) \hat{q}]
$$
这里的 $\hat{q}$ 是从以下共形分数的分位数推导出来的:
$$
s(\boldsymbol{x}, y)=\frac{|y-f(\boldsymbol{x})|}{u(\boldsymbol{x})}
$$
这种方法产生的区间往往比 CQR 计算的区间更宽,因为它在预测值 $f(\boldsymbol{x})$ 之上和之下扩展了相等的量。此外,不确定性度量 $u(\boldsymbol{x})$ 可能无法与 $\alpha$ 保持正确的比例缩放。尽管如此,该事后处理方法比较简单,可以应用于很多回归方法,而无需重新训练它们。
七、 小样本问题
许多 ML 模型,尤其是神经网络,通常具有比我们标记的训练示例更多的参数。例如,一个 50 层的 ResNet CNN 有 2300 万个参数。变压器模型可以更大。当然这些参数是高度相关的,所以它们不是独立的“自由度”。然而,如此大的模型训练起来很慢,更重要的是,它们很容易过拟合。当您没有大型标记训练集时,这尤其是一个问题。在本章中,我们讨论了一些解决这个问题的方法,超出了我们在第 2 节讨论的通用正则化技术,如提前停止、权重衰减和 dropout 等。
7.1 数据增强
假设我们只有一个小的标记数据集。在某些情况下,我们可能能够创建输入向量的人工修改版本,这些版本捕获我们期望在测试时看到的各种变化,同时保持原始标签不变,这称为数据增强。
7.2 迁移学习
许多数据贫乏的任务与其他数据丰富的任务有一些高级别的结构相似性。例如,考虑对濒危鸟类进行细粒度视觉分类的任务。鉴于濒临灭绝的鸟类根据定义是罕见的,这些鸟类的大量不同标记图像不太可能存在。然而,鸟类在物种间具有许多结构相似性——例如,大多数鸟类都有翅膀、羽毛、喙、爪等。因此,我们可能期望首先在非濒危鸟类物种的大型数据集上训练模型,然后继续训练它在濒危物种的小数据集上比单独在小数据集上训练可以产生更好的性能。这称为迁移学习,因为我们通过一组共享的参数将信息从一个数据集传输到另一个数据集。更准确地说,我们首先执行预训练阶段,在此阶段我们在大型源数据集 Dp 上训练具有参数 θ 的模型;这可能被标记或未标记。然后,我们对感兴趣的小标记目标数据集 Dq 执行第二个微调阶段。 我们将在下面更详细地讨论这两个阶段,但要了解更多信息, 参见例如 [Tan+18; Zhu+19] 最近的综述。
7.3 半监督学习
机器学习最近的许多成功应用都在监督学习环境中,其中有大量标记示例数据集可用于训练模型。然而,在许多实际应用中,获取这些标记数据的成本很高。考虑自动语音识别的案例:现代数据集包含数千小时的录音 [Pan+15;阿德+20]。注释录音中所说的单词的过程比实时慢很多倍,可能会导致一个漫长(且成本高昂)的注释过程。更糟糕的是,在某些应用程序中,数据必须由专家(例如医疗应用程序中的医生)标记,这会进一步增加成本。
半监督学习可以通过利用未标记数据来减轻对标记数据的需求。半监督学习的总体目标是让模型从未标记的数据中学习数据分布的高级结构,并且只依赖标记的数据来学习给定任务的细粒度细节。在标准监督学习中,我们假设我们可以从数据和标签 x, y ∼ p(x, y) 的联合分布中获取样本,而半监督学习假设我们还可以从 x 的边缘分布中获取样本,即 x ∼ p(x)。此外,通常假设我们有更多这些未标记的样本,因为它们通常更便宜。继续自动语音识别的例子,简单地记录人们的谈话(这将产生未标记的数据)通常比转录记录的语音便宜得多。半监督学习非常适合收集大量未标记数据并且从业者希望避免对所有数据进行标记的场景。
7.4 主动学习
在主动学习中,目标是通过查询尽可能少的 (x, y) 点来识别真正的预测映射 y = f (x)。有三个主要变体。在查询合成中,算法可以选择任何输入 x,并可以要求其相应的输出 y = f (x)。在基于池的主动学习中,有大量但固定的未标记数据点集,算法会为这些点中的一个或多个请求标签。最后,在基于流的主动学习中,传入的数据不断到达,算法必须选择是否要为当前输入请求标签。
存在各种密切相关的问题。在贝叶斯优化(第 8.8.3 节)中,目标是在尽可能少的查询中估计全局最优 x∗ = argminx f (x) 的位置;通常我们将代理(响应面)模型拟合到中间(x,y)查询,以决定接下来要问哪个问题。在实验设计中,目标是使用精心挑选的数据样本 D = {x1, . . . , xN },即我们希望使用尽可能少的数据来估计 p(θ|D)。 (这可以被认为是一种无监督或广义的主动学习形式。)
有关更多详细信息,请参阅例如 [Set12] 进行评论。
7.5 元学习
元学习领域,也称为学习学习[TP97],涉及学习多个相关功能(通常称为“任务”)。例如,假设我们有一组 J 相关数据集,{Dj : j = 1 : J},其中 Dj = {(xjn, yj n) : n = 1 : Nj}, xjn ∼ p(x) 和 yj n = f j(xjn)。 (例如,p(x) 可以是图像的分布,f 1 可以是将图像映射到狗品种的函数,f 2 可以是将图像映射到汽车类型的函数,等等。)我们可以应用这个内部算法来生成一个标记集 Dmeta = {(Dj, f j) : j = 1 : J },我们可以用它来学习一个外部或“元”算法或函数 ^ M ,它将数据集映射到一个预测函数, ^ fj = ^ M (Dj) (c.f., [Min99])。相比之下,传统的监督学习学习一个将单个示例映射到标签的函数 ^ f ^ yn = ^ f (xn)。
元学习还有许多其他方法(例如,请参阅 [Van18] 进行调查)。在秒。 19.5.1,我们讨论了一种流行的方法,称为 MAML。元学习也有许多应用,例如小样本学习(见第 19.6 节)。
7.6 弱监督学习
弱监督学习一词是指我们没有与训练集中的每个特征向量相关联的确切标签的场景。
一种情况是当我们为每种情况分配多个标签而不是单个标签时。实际上,用“软”版本人为地替换精确标签通常很有用,其中我们将 delta 函数替换为一个分布,例如,将其质量的 90% 放在观察到的标签上,并将剩余的质量均匀分布在其他选择。这称为标签平滑,是一种有用的正则化形式(参见例如 [MKH19])。
另一种情况是,当我们有一组实例时,xn = {xn,1, . . . , xn,B},但我们只有整个包的标签 yn,而不是包的成员 ynb。我们经常假设如果包中的任何成员为正,则整个包被标记为正,因此 yn = ∨bB=1ynb,但我们不知道哪个成员“导致”了正结果。但是,如果所有成员都是负数,则整个包都是负数。这被称为多实例学习 [DLLP97]。 (有关 COVID-19 风险评分学习背景下的最新示例,请参阅 [MKS21]。)根据我们对每个袋子中标签之间的相关性所做的假设,可以使用各种算法来解决 MIL 问题,以及我们期望看到的积极成员的比例(参见例如 [KF05])。
另一种场景称为远程监督 [Min+09],通常用于训练信息提取系统。这个想法是我们有一些事实,例如“Married(B,M)”,我们知道这是真的(因为它存储在数据库中)。我们使用它来标记每个句子(在我们未标记的训练语料库中),其中实体 B 和 M 被称为“已婚”关系的正例。例如,“B 和 M 邀请 100 人参加他们的婚礼”这句话将被标记为正面。但是这种启发式可能包括误报,例如“B和M出去吃饭”也将被标记为肯定。因此,生成的标签将是嘈杂的。我们在 Sec 中讨论了一些处理标签噪声的方法。 10.4.