ML | 主动学习

2025年2月3日 | 阅读 7 分钟

在机器学习领域,数据是驱动算法和模型的生命线。然而,获取标记数据,这对于监督学习至关重要,通常是一项昂贵且耗时的任务。主动学习应运而生:一种机器学习的专门方法,旨在最大化数据标记的效率。通过允许模型主动查询并选择最有信息量的数据点进行标记,主动学习极大地减轻了手动注释的负担并提高了模型性能。

理解主动学习

主动学习是一种学习算法与用户或其他数据源进行交互式查询以获取特定数据点标签的过程。核心思想是策略性地选择最有益于改进模型的数据点,从而最大限度地减少训练所需的标记实例数量。

主动学习的关键策略

主动学习利用各种技术来识别最有信息量的数据点进行标记,从而优化学习过程。以下是主动学习中使用的一些最突出的技术:

1. 不确定性采样

不确定性采样是主动学习中最广泛使用的技术之一。它侧重于选择模型对其预测置信度最低的数据点。目的是这些不确定的实例很可能提供最多的信息来改进模型。

  • 最低置信度采样:选择模型对最有可能类别的预测概率最低的数据点。例如,在二元分类任务中,这将是模型预测概率最接近 0.5 的数据点。
  • 边距采样:选择最有可能的类别概率之间的差异最小的数据点。这表明模型在这些类别之间不确定。
  • 基于熵的采样:使用预测类别概率的熵来衡量不确定性。更高的熵表示不确定性更高。

2. 委员会查询 (QBC)

委员会查询包括维护一个由模型组成的委员会,每个模型都基于当前的标记数据集进行训练。数据点是根据委员会成员之间的冲突程度来选择的。假设委员会争议最大的数据点是最有信息量的。

  • 委员会分歧:度量可以包括预测中的方差、投票熵或模型输出分布之间的 Kullback-Leibler 散度。
  • 多样化模型:委员会可以包括不同架构的模型或使用不同随机种子初始化的模型,以确保多样化的视角。

3. 预期模型变化

预期模型变化方法选择在被标记并添加到训练集的情况下会导致当前模型发生最显著变化的数据点。其思想是最大化每个新数据点的学习效果。

  • 基于梯度的模型:评估添加数据点时模型梯度的变化。优先处理导致最大梯度变化的数据点。
  • 参数变化:衡量模型参数的预期变化。

4. 基于密度的方法

基于密度的方法考虑数据的分布,以确保选择的样本代表整个数据集。这有助于避免异常值并专注于典型实例。

  • 聚类:对数据点进行聚类,并从每个簇中选择代表性点。这可确保覆盖整个特征空间。
  • 密度加权:将不确定性采样与数据点的密度相结合,优先处理数据区域中更密集的不确定点。

5. 多样性采样

多样性采样旨在选择多样化的数据集以最大化输入空间的各个区域的覆盖率。此方法可防止冗余并确保数据的广泛表示。

  • 子模优化:使用自然地模拟多样性的数学函数来选择数据点的子集。
  • 最大边际相关性 (MMR):通过选择既有信息量又具多样性的数据点来平衡相关性和多样性。

主动学习工作流程

主动学习是一个迭代过程,旨在通过选择性地查询最有信息量的数据点进行标记来提高机器学习模型的性能。以下是主动学习标准工作流程的详细介绍:

1. 初始模型训练

从一个标记的数据集开始

  • 从一个小型的、标记过的数据集开始训练初始模型。
  • 此初始集可以通过随机抽样或选择代表性样本来创建,以覆盖数据的不同方面。

训练初始模型

  • 使用标记过的数据训练基线机器学习模型。
  • 模型的选择可能取决于具体应用(例如,逻辑回归、决策树、神经网络)。

2. 查询选择

应用查询策略

  • 使用特定的查询策略来识别最有信息量且未标记的数据点。常见策略包括:
  • 不确定性采样:选择模型最不确定的数据点。
  • 委员会查询:选择多个模型存在分歧的点。
  • 预期模型变化:选择预计对模型影响最大的数据点。
  • 基于密度的方法:关注代表数据分布的点。

选择数据点

  • 基于查询策略,从未标记的数据池中选择并收集一批数据点。
  • 批处理大小可能因可用资源和具体要求而异。

3. 标签获取

获取标签

  • 将选定的数据点发送到标记员以获取真实标签。此标记员可以是:
  • 人工注释员或专家。

众包平台。

  • 自动化标记系统(如果适用)。
  • 确保标签的质量以保持训练过程的完整性。

4. 模型更新

整合新标签

  • 将新标记的数据点添加到现有的训练集中。
  • 使用这些新样本更新训练集。

重新训练模型

  • 使用增强的标记数据集重新训练机器学习模型。
  • 由于包含了更多信息量的数据点,此更新后的模型应该具有更高的性能。

5. 迭代

重复过程

  • 查询选择、标签获取和模型更新的步骤会迭代重复。
  • 每次迭代,模型都会随着引入更多信息量样本而逐步改进。

监控性能

  • 持续在验证集上评估模型的性能以跟踪改进情况。
  • 使用与任务相关的性能指标(例如,准确率、精确率、召回率)。

6. 停止标准

确定何时停止

  • 建立停止主动学习过程的标准。这些标准可能包括:
  • 在验证集或测试集上达到期望的性能水平。
  • 用完标签预算或资源。
  • 收益递减,即额外的标记数据点带来的性能提升很小。

主动学习的优势

主动学习是机器学习领域中的一种强大方法,与传统的被动学习技术相比,它提供了许多优势。通过主动选择最有信息量的数据点进行标记,主动学习提高了训练过程的效率和有效性。以下是主动学习的一些关键优势:

1. 成本效益

  • 降低标记成本
    通过专注于最有信息量的样本,主动学习大大减少了获得高性能所需的标记实例数量。这在数据标记成本高昂或耗时的情况下尤其有利,例如医学影像、法律文件分析或专业医疗数据。
  • 资源的最优利用
    标签资源(如时间和人力)的利用效率更高。主动学习确保了努力集中在能够为改进模型提供最大价值的数据点上。

2. 改进模型性能

  • 更快收敛
    与使用随机选择的数据点训练的模型相比,使用主动学习训练的模型通常能更快地收敛到高水平的性能。这是因为选定的数据点更具信息量,并有助于模型更有效地学习。
  • 更高准确率
    通过专注于不确定或模糊的数据点,主动学习可以帮助模型在未见过的数据上获得更高的准确率和更好的泛化能力。这会导致在实际应用中性能得到提升。

3. 处理不平衡数据

  • 解决类别不平衡
    主动学习可用于选择性地查询少数类别的实例,有助于平衡训练数据集。此方法缓解了类别不平衡的常见问题,在这种情况下,由于示例不足,模型在少数类别上的表现可能很差。
  • 提高少数类别的性能
    通过优先标记少数类别示例,主动学习确保模型学习识别并准确预测这些类别。这导致所有类别的性能都得到提高,包括那些不太常见的类别。

4. 可扩展性

  • 高效的数据处理
    主动学习非常适合大型数据集,因为它避免了对整个数据集进行标记的需要。通过仅选择最有信息量的数据点,它减少了总体的标记负担,同时仍能实现高性能。
  • 可扩展的解决方案
    主动学习可以集成到可扩展的机器学习管道中,使其能够用于大规模问题。这种可扩展性确保主动学习可用于各种工业和研究应用。

5. 有限数据下的增强学习

  • 最大化信息增益
    在标记数据稀缺的情况下,主动学习最大化了从每个标记样本中获得的信息。这在医疗保健等领域尤其有价值,在这些领域获取标记数据可能既困难又昂贵。
  • 有效利用小型数据集
    即使有小的初始标记数据集,主动学习也可以通过选择最有信息量的附加示例来迭代地改进模型。这种迭代改进有助于构建具有有限数据的健壮模型。

6. 提高鲁棒性和泛化能力

  • 关注模糊性
    通过专注于模型不确定的数据点,主动学习有助于模型学习如何处理模糊和边界情况。这导致了一个更强大的模型,在各种具有挑战性的数据点上表现良好。
  • 泛化到新数据
    主动学习通过确保训练集涵盖广泛的场景和边缘案例,提高了模型泛化到新的、未见过的数据的能力。这种改进的泛化能力使模型在实际应用中更加可靠。

下一个主题主成分分析