基于高斯过程的主动学习(Gaussian Process-based Active Learning)算法:预测方差采样与决策边界优化
字数 4379 2025-12-22 02:15:24

基于高斯过程的主动学习(Gaussian Process-based Active Learning)算法:预测方差采样与决策边界优化


题目描述

在高斯过程回归(GPR)框架中,主动学习(又称查询学习)旨在通过智能地选择最有价值的未标记样本进行标注,以最小化所需标注成本,同时最大化模型性能。本题目聚焦于“基于预测不确定性采样”的经典主动学习策略。其核心问题是:给定一个已训练的高斯过程模型和一组未标记的候选样本池,如何根据模型在当前状态下的预测(均值和方差),选择“最优”的一个或一批样本交由专家标注,从而使模型在新增样本上重新训练后,全局预测误差下降最快?

我们将详细拆解高斯过程回归的预测分布、基于预测方差的采样准则(如“不确定性采样”)、以及其与决策边界优化的联系,并逐步推导其计算和实施过程。


解题过程

第一步:回顾高斯过程回归的基础

  1. 高斯过程定义:高斯过程是定义在函数空间上的分布,由均值函数 \(m(\mathbf{x})\) 和协方差函数(核函数) \(k(\mathbf{x}, \mathbf{x}')\) 完全指定。我们通常设先验均值函数为零:\(f(\mathbf{x}) \sim \mathcal{GP}(0, k(\mathbf{x}, \mathbf{x}'))\)

  2. 预测分布:给定一组带噪声的观测数据集 \(\mathcal{D} = \{ (\mathbf{x}_i, y_i) \}_{i=1}^n\),其中 \(y_i = f(\mathbf{x}_i) + \epsilon_i\),噪声 \(\epsilon_i \sim \mathcal{N}(0, \sigma_n^2)\)。对于一个新的测试点 \(\mathbf{x}_*\),高斯过程回归给出的预测分布是一个高斯分布:

\[ p(f_* | \mathbf{x}_*, \mathcal{D}) = \mathcal{N}(\mu_*, \sigma_*^2) \]

其中,

\[ \mu_* = \mathbf{k}_*^T (\mathbf{K} + \sigma_n^2 \mathbf{I})^{-1} \mathbf{y} \]

\[ \sigma_*^2 = k(\mathbf{x}_*, \mathbf{x}_*) - \mathbf{k}_*^T (\mathbf{K} + \sigma_n^2 \mathbf{I})^{-1} \mathbf{k}_* \]

这里,$ \mathbf{K} $ 是训练点之间的 $ n \times n $ 核矩阵,$ \mathbf{k}_* $ 是测试点与所有训练点之间的 $ n \times 1 $ 核向量,$ \mathbf{y} $ 是观测值向量。
  1. 关键洞察:预测方差 \(\sigma_*^2\) 度量了模型在 \(\mathbf{x}_*\) 处的不确定性。它不依赖于观测值 \(\mathbf{y}\),只依赖于输入点 \(\mathbf{x}_*\) 相对于已有训练点的位置。在数据稀疏的区域,预测方差较大。

第二步:定义主动学习框架与采样准则

  1. 问题形式化:我们有一个已标记数据集 \(\mathcal{D}_L\) 和一个大的未标记候选池 \(\mathcal{U}\)。主动学习循环如下:
    a. 用 \(\mathcal{D}_L\) 训练高斯过程模型。
    b. 对 \(\mathcal{U}\) 中每个点 \(\mathbf{x}\),计算其“获取函数” \(a(\mathbf{x})\)
    c. 选择使得 \(a(\mathbf{x})\) 最大化的点 \(\mathbf{x}^* = \arg\max_{\mathbf{x} \in \mathcal{U}} a(\mathbf{x})\)
    d. 查询(获取) \(\mathbf{x}^*\) 的真实标签 \(y^*\),将 \((\mathbf{x}^*, y^*)\) 加入 \(\mathcal{D}_L\),并从 \(\mathcal{U}\) 中移除 \(\mathbf{x}^*\)
    e. 重复步骤a-d,直到标注预算耗尽。

  2. 不确定性采样:最直接的获取函数是预测方差:

\[ a_{\text{US}}(\mathbf{x}) = \sigma^2(\mathbf{x}) \]

其动机是:在模型最不确定的地方进行标注,可以最大程度地减少模型的总体不确定性。这种方法计算简单,直观有效。

第三步:深入分析不确定性采样的计算与行为

  1. 方差计算分解:回顾预测方差公式 \(\sigma_*^2 = k_{**} - \mathbf{k}_*^T \mathbf{K}^{-1} \mathbf{k}_*\),其中 \(\mathbf{K} = \mathbf{K}_{XX} + \sigma_n^2\mathbf{I}\)\(k_{**}\) 是先验方差,\(\mathbf{k}_*^T \mathbf{K}^{-1} \mathbf{k}_*\) 可以理解为由于观测到数据 \(\mathcal{D}_L\) 而减少的不确定性(信息增益)。\(\mathbf{k}_*^T \mathbf{K}^{-1} \mathbf{k}_*\) 越大,方差越小。

  2. 空间解释:在已标注点附近,\(\mathbf{k}_*\)\(\mathbf{K}\) 中的某些行高度相关,导致 \(\mathbf{k}_*^T \mathbf{K}^{-1} \mathbf{k}_*\) 较大,从而方差小。在远离所有已标注点的区域,\(\mathbf{k}_*\) 与所有训练点相关性弱,\(\mathbf{k}_*^T \mathbf{K}^{-1} \mathbf{k}_*\) 小,方差接近先验方差 \(k_{**}\)。因此,不确定性采样倾向于在输入空间中最“空旷”、距离已标注点最远的区域选择样本。

  3. 与探索-利用权衡:在主动学习中,探索是指采样模型不确定的区域(如方差大的地方),以改进全局模型;利用是指采样模型预测可能对任务目标(如找到最大值、确定决策边界)关键的区域。纯不确定性采样是一种纯探索策略。

第四步:扩展到决策边界优化与改进策略

  1. 分类任务中的决策边界不确定性:在分类问题中(尽管GPR主要用于回归,但可通过拉普拉斯近似等方法用于分类),我们关心的是决策边界(如后验概率 \(p(y=1|\mathbf{x}) \approx 0.5\) 的区域)。一种改进的获取函数是“预测熵”或“边际采样”:

    • 边际采样:选择模型预测概率最接近0.5(最不确定类别)的点。对于二分类,\(a_{\text{MS}}(\mathbf{x}) = -|p(y=1|\mathbf{x}) - 0.5|\)
    • 预测熵\(a_{\text{E}}(\mathbf{x}) = -\sum_{c} p(y=c|\mathbf{x}) \log p(y=c|\mathbf{x})\)
      这些方法将不确定性从函数值空间(方差)转移到了输出类别空间。
  2. 回归任务中的集成改进:在回归中,纯方差采样可能忽略函数值本身的大小。有时,高方差区域对应的函数值可能并不重要。基于方差的改进策略包括:

    • 方差缩减:选择能使未来模型整体预测方差期望减少最多的点。这需要计算在添加一个假设点后的后方差,计算量较大,但可通过公式近似。
    • 集成方法:结合预测均值和方差。例如,上置信界\(a_{\text{UCB}}(\mathbf{x}) = \mu(\mathbf{x}) + \beta \sigma(\mathbf{x})\),其中 \(\beta\) 是平衡探索与利用的超参数。这在贝叶斯优化中很常见,旨在寻找函数最大值。
  3. 批处理主动学习:为了并行标注,需要一次选择一批 \(q\) 个点。简单选方差最大的 \(q\) 个点可能彼此很近,信息冗余。批处理策略如:

    • 贪婪法:顺序选择,每选一个点,将其加入训练集(虚拟地),重新计算所有剩余点的方差,再选下一个。
    • 基于行列式的准则:选择能使核矩阵 \(\mathbf{K}\) 的行列式(或对数行列式)增加最多的点集,这对应于最大化信息增益。

第五步:算法实现步骤总结

  1. 初始化:随机选择少量样本创建初始已标记集 \(\mathcal{D}_L\),剩余为未标记池 \(\mathcal{U}\)
  2. 循环直到满足停止条件
    a. 模型训练:使用当前 \(\mathcal{D}_L\) 训练高斯过程模型,优化核超参数。
    b. 不确定性计算:对 \(\mathcal{U}\) 中每个点 \(\mathbf{x}_i\),利用训练好的GP计算其预测方差 \(\sigma^2(\mathbf{x}_i)\)(对于回归)或预测熵/边际概率(对于分类)。
    c. 查询点选择:选择 \(\mathbf{x}^* = \arg\max_{\mathbf{x} \in \mathcal{U}} a(\mathbf{x})\) (例如 \(a(\mathbf{x}) = \sigma^2(\mathbf{x})\))。
    d. 标签获取与更新:获取 \(\mathbf{x}^*\) 的真实标签 \(y^*\),更新 \(\mathcal{D}_L \leftarrow \mathcal{D}_L \cup \{(\mathbf{x}^*, y^*)\}\)\(\mathcal{U} \leftarrow \mathcal{U} \setminus \{\mathbf{x}^*\}\)
  3. 输出:最终在完整 \(\mathcal{D}_L\) 上训练的高斯过程模型。

核心要点:基于高斯过程的主动学习,其力量源于GP提供的不确定性量化(预测方差)。不确定性采样准则直接利用此方差作为信息价值的代理,优先查询模型最不确定的样本,从而高效引导数据标注,是贝叶斯优化和实验设计的核心思想之一。通过改进获取函数,可以适应分类任务、平衡探索与利用,以及实现批处理查询。

基于高斯过程的主动学习(Gaussian Process-based Active Learning)算法:预测方差采样与决策边界优化 题目描述 在高斯过程回归(GPR)框架中,主动学习(又称查询学习)旨在通过智能地选择最有价值的未标记样本进行标注,以最小化所需标注成本,同时最大化模型性能。本题目聚焦于“基于预测不确定性采样”的经典主动学习策略。其核心问题是:给定一个已训练的高斯过程模型和一组未标记的候选样本池,如何根据模型在当前状态下的预测(均值和方差),选择“最优”的一个或一批样本交由专家标注,从而使模型在新增样本上重新训练后,全局预测误差下降最快? 我们将详细拆解高斯过程回归的预测分布、基于预测方差的采样准则(如“不确定性采样”)、以及其与决策边界优化的联系,并逐步推导其计算和实施过程。 解题过程 第一步:回顾高斯过程回归的基础 高斯过程定义 :高斯过程是定义在函数空间上的分布,由均值函数 \( m(\mathbf{x}) \) 和协方差函数(核函数) \( k(\mathbf{x}, \mathbf{x}') \) 完全指定。我们通常设先验均值函数为零:\( f(\mathbf{x}) \sim \mathcal{GP}(0, k(\mathbf{x}, \mathbf{x}')) \)。 预测分布 :给定一组带噪声的观测数据集 \( \mathcal{D} = \{ (\mathbf{x} i, y_ i) \} {i=1}^n \),其中 \( y_ i = f(\mathbf{x} i) + \epsilon_ i \),噪声 \( \epsilon_ i \sim \mathcal{N}(0, \sigma_ n^2) \)。对于一个新的测试点 \( \mathbf{x} * \),高斯过程回归给出的预测分布是一个高斯分布: \[ p(f_* | \mathbf{x} * , \mathcal{D}) = \mathcal{N}(\mu , \sigma_ ^2) \] 其中, \[ \mu_* = \mathbf{k} * ^T (\mathbf{K} + \sigma_ n^2 \mathbf{I})^{-1} \mathbf{y} \] \[ \sigma ^2 = k(\mathbf{x}_ , \mathbf{x} * ) - \mathbf{k} ^T (\mathbf{K} + \sigma_ n^2 \mathbf{I})^{-1} \mathbf{k}_ \] 这里,\( \mathbf{K} \) 是训练点之间的 \( n \times n \) 核矩阵,\( \mathbf{k}_ * \) 是测试点与所有训练点之间的 \( n \times 1 \) 核向量,\( \mathbf{y} \) 是观测值向量。 关键洞察 :预测方差 \( \sigma_ ^2 \) 度量了模型在 \( \mathbf{x}_ \) 处的不确定性。它 不依赖于观测值 \( \mathbf{y} \) ,只依赖于输入点 \( \mathbf{x}_ * \) 相对于已有训练点的位置。在数据稀疏的区域,预测方差较大。 第二步:定义主动学习框架与采样准则 问题形式化 :我们有一个已标记数据集 \( \mathcal{D}_ L \) 和一个大的未标记候选池 \( \mathcal{U} \)。主动学习循环如下: a. 用 \( \mathcal{D} L \) 训练高斯过程模型。 b. 对 \( \mathcal{U} \) 中每个点 \( \mathbf{x} \),计算其“获取函数” \( a(\mathbf{x}) \)。 c. 选择使得 \( a(\mathbf{x}) \) 最大化的点 \( \mathbf{x}^* = \arg\max {\mathbf{x} \in \mathcal{U}} a(\mathbf{x}) \)。 d. 查询(获取) \( \mathbf{x}^* \) 的真实标签 \( y^* \),将 \( (\mathbf{x}^ , y^ ) \) 加入 \( \mathcal{D}_ L \),并从 \( \mathcal{U} \) 中移除 \( \mathbf{x}^* \)。 e. 重复步骤a-d,直到标注预算耗尽。 不确定性采样 :最直接的获取函数是预测方差: \[ a_ {\text{US}}(\mathbf{x}) = \sigma^2(\mathbf{x}) \] 其动机是:在模型最不确定的地方进行标注,可以最大程度地减少模型的总体不确定性。这种方法计算简单,直观有效。 第三步:深入分析不确定性采样的计算与行为 方差计算分解 :回顾预测方差公式 \( \sigma_ ^2 = k_ {** } - \mathbf{k}_ ^T \mathbf{K}^{-1} \mathbf{k} * \),其中 \( \mathbf{K} = \mathbf{K} {XX} + \sigma_ n^2\mathbf{I} \)。\( k_ {** } \) 是先验方差,\( \mathbf{k} * ^T \mathbf{K}^{-1} \mathbf{k} * \) 可以理解为由于观测到数据 \( \mathcal{D} L \) 而减少的不确定性(信息增益)。\( \mathbf{k} ^T \mathbf{K}^{-1} \mathbf{k}_ \) 越大,方差越小。 空间解释 :在已标注点附近,\( \mathbf{k} * \) 与 \( \mathbf{K} \) 中的某些行高度相关,导致 \( \mathbf{k} ^T \mathbf{K}^{-1} \mathbf{k}_ \) 较大,从而方差小。在远离所有已标注点的区域,\( \mathbf{k} * \) 与所有训练点相关性弱,\( \mathbf{k} ^T \mathbf{K}^{-1} \mathbf{k}_ \) 小,方差接近先验方差 \( k_ {** } \)。因此,不确定性采样倾向于在输入空间中最“空旷”、距离已标注点最远的区域选择样本。 与探索-利用权衡 :在主动学习中, 探索 是指采样模型不确定的区域(如方差大的地方),以改进全局模型; 利用 是指采样模型预测可能对任务目标(如找到最大值、确定决策边界)关键的区域。纯不确定性采样是一种纯探索策略。 第四步:扩展到决策边界优化与改进策略 分类任务中的决策边界不确定性 :在分类问题中(尽管GPR主要用于回归,但可通过拉普拉斯近似等方法用于分类),我们关心的是决策边界(如后验概率 \( p(y=1|\mathbf{x}) \approx 0.5 \) 的区域)。一种改进的获取函数是“预测熵”或“边际采样”: 边际采样 :选择模型预测概率最接近0.5(最不确定类别)的点。对于二分类,\( a_ {\text{MS}}(\mathbf{x}) = -|p(y=1|\mathbf{x}) - 0.5| \)。 预测熵 :\( a_ {\text{E}}(\mathbf{x}) = -\sum_ {c} p(y=c|\mathbf{x}) \log p(y=c|\mathbf{x}) \)。 这些方法将不确定性从函数值空间(方差)转移到了输出类别空间。 回归任务中的集成改进 :在回归中,纯方差采样可能忽略函数值本身的大小。有时,高方差区域对应的函数值可能并不重要。 基于方差的改进策略 包括: 方差缩减 :选择能使未来模型 整体预测方差期望减少最多 的点。这需要计算在添加一个假设点后的后方差,计算量较大,但可通过公式近似。 集成方法 :结合预测均值和方差。例如, 上置信界 :\( a_ {\text{UCB}}(\mathbf{x}) = \mu(\mathbf{x}) + \beta \sigma(\mathbf{x}) \),其中 \( \beta \) 是平衡探索与利用的超参数。这在贝叶斯优化中很常见,旨在寻找函数最大值。 批处理主动学习 :为了并行标注,需要一次选择一批 \( q \) 个点。简单选方差最大的 \( q \) 个点可能彼此很近,信息冗余。 批处理策略 如: 贪婪法 :顺序选择,每选一个点,将其加入训练集(虚拟地),重新计算所有剩余点的方差,再选下一个。 基于行列式的准则 :选择能使核矩阵 \( \mathbf{K} \) 的行列式(或对数行列式)增加最多的点集,这对应于最大化信息增益。 第五步:算法实现步骤总结 初始化 :随机选择少量样本创建初始已标记集 \( \mathcal{D}_ L \),剩余为未标记池 \( \mathcal{U} \)。 循环直到满足停止条件 : a. 模型训练 :使用当前 \( \mathcal{D}_ L \) 训练高斯过程模型,优化核超参数。 b. 不确定性计算 :对 \( \mathcal{U} \) 中每个点 \( \mathbf{x}_ i \),利用训练好的GP计算其预测方差 \( \sigma^2(\mathbf{x} i) \)(对于回归)或预测熵/边际概率(对于分类)。 c. 查询点选择 :选择 \( \mathbf{x}^* = \arg\max {\mathbf{x} \in \mathcal{U}} a(\mathbf{x}) \) (例如 \( a(\mathbf{x}) = \sigma^2(\mathbf{x}) \))。 d. 标签获取与更新 :获取 \( \mathbf{x}^* \) 的真实标签 \( y^* \),更新 \( \mathcal{D}_ L \leftarrow \mathcal{D}_ L \cup \{(\mathbf{x}^ , y^ )\} \),\( \mathcal{U} \leftarrow \mathcal{U} \setminus \{\mathbf{x}^* \} \)。 输出 :最终在完整 \( \mathcal{D}_ L \) 上训练的高斯过程模型。 核心要点 :基于高斯过程的主动学习,其力量源于GP提供的 不确定性量化 (预测方差)。不确定性采样准则直接利用此方差作为信息价值的代理,优先查询模型最不确定的样本,从而高效引导数据标注,是贝叶斯优化和实验设计的核心思想之一。通过改进获取函数,可以适应分类任务、平衡探索与利用,以及实现批处理查询。