机器学习/深度学习几种典型学习范式|主动学习

article/2025/8/29 10:06:06

机器学习/深度学习几种典型学习范式|主动学习

  • 主动学习(Active Learning,AL):
    • Introduction
      • 主动学习的例子
    • 应用场景
      • 成员查询合成
      • 流式选择抽样
      • 基于池的主动学习
    • 查询策略框架
      • 不确定性抽样Uncertainty Sampling
      • 基于委员会的查询Query-By-Committee
      • 基于模型变化期望的查询
      • 基于方差减少的查询(Variance Reduction and Fisher Information Ratio)
      • 估计误差减少
      • 基于密度权重的选择方法
    • 主动学习的分析
    • 主动学习的相关研究领域

主动学习(Active Learning,AL):

原论文详细介绍Active Learning Literature Surve

Introduction

主动学习背后的关键思想是,如果允许机器学习算法选择要学习的数据,那么它可以用更少的标记训练实例实现更高的准确性。也就是说主动学习的应用场景是数据量大二标签少的场景,动机是减少人工标注的成本,提高学习的效率。一个积极的学习者可能会以未标记的实例的形式提出问题,比如在我们中学时代或者日常的学习过程中,总有一些理解不到位学不透的地方,所以我们会针对这些我们还没有搞懂的知识主动积极的向老师和同学寻求帮助,已达到解惑的目的,主动的学习的思想就与这个过程相似。在许多现代机器学习问题中,主动学习具有良好的动机,在这些问题中,未标记数据可能很丰富,但标签很难获得、耗时或昂贵。
主动学习(也被称为“查询学习”,在统计学文献中有时被称为“最佳实验设计”)是机器学习的一个子领域,更普遍地说,是人工智能的一个子领域。关键的假设是,如果允许学习算法选择它学习的数据——如果你愿意的话,可以让它“好奇”——它将在较少的训练下表现得更好。

主动学习的例子

在这里插入图片描述
在这里插入图片描述
主动学习又叫查询学习,顾名思义,有一些不同的查询策略用于决定哪些实例提供的信息最多。以上都是两种pool-based的主动学习实例,选用的查询策略为不确定抽样查询策略(选择池中模型最不确定如何标记的实例)。

【图1】展示了基于池的主动学习循环。学习者可以从有标签的训练数据集 L \mathcal{L} L中开始,为一个或者多个精心选择的实例查询标签,从查询结果中学习,然后利用它的新知识选择下一个要查询的实例。一旦进行了查询,学习算法部分通常就没有额外的假设了。新的有标签的实例被简单地添加至有标签的数据集 L \mathcal{L} L中,学习者一标准的监督学习方式继续学习。但也有一些例外情况,比如允许学习者进行其他类型的查询,或者当主动学习与半监督学习相结合时。

【图2】展示了以一种容易想象的方式进行主动学习的潜力。这是一个玩具数据集,由两个以(-2,0)和(2,0)为中心的高斯函数生成,标准差σ=1,每个代表一个不同的类分布。图2(a)显示了抽样400个实例(每个类200个)后的结果数据集;实例被表示为二维特征空间中的点。在现实环境中,这些实例可能是可用的,但它们的标签通常是不可用的。图2(b)显示了传统的监督学习方法,在随机选择30个实例进行标记后,从未标记的池中抽取 U \mathcal{U} U。这条线显示了使用这30个点训练的logistic回归模型(即后验值等于0.5)的线性决策边界。注意,在这个训练集中,大多数已标记的实例在水平轴上都远不是零,就是贝叶斯最优决策边界的位置。因此,该分类器在剩余未标记点上只能达到精度=0.7。然而,图2©讲述了一个非常不同的故事。主动学习者使用不确定性采样来关注最接近其决策边界的实例,假设它能充分解释以u为特征的输入空间的其他部分。因此,它避免了为冗余或不相关的实例请求标签,并且仅用30个已标记实例就实现了精度=0.9。与“被动”监督学习(即随机抽样)相比,这减少了67%的错误,而且只有不到10%的数据被标记。

应用场景

在这里插入图片描述
学习者提出查询的场景有很多种,这里主要讲3种:

  1. 成员查询合成;
  2. 流式选择抽样;
  3. 基于池的主动学习。

成员查询合成

在这种设置下,学习者可以为输入空间中任何未标记的实例请求标签,包括(通常是假设)学习者重新生成的查询,而不是从某些潜在的自然分布中采样的查询。对于有限的问题域,高效的查询合成通常是易于处理和高效的。综合查询的思想也被扩展到回归学习任务中,例如学习预测机器人手的绝对坐标,给定其机械臂的关节角度作为输入。
(这一块的英文原作没有理解透,也没有十分清楚到底什么是成员查询合成)

流式选择抽样

综合查询的另一种选择是选择性抽样。关键的假设是获得一个未标记的实例是免费的(或廉价的),所以它可以首先从实际分布中取样,然后学习者可以决定是否请求它的标签。这种方法被称作流式主动学习或者顺序主动学习(stream-basedorsequentialactive learning),因为每个未标记的实例通常一次从数据源中提取一个,学习者必须决定是查询还是丢弃它。如果输入分布是均匀的,选择抽样可以很好地表现为成员查询学习。然而,如果分布是非均匀的(更重要的是)未知的,我们可以保证查询仍然是合理的,因为它们来自真实的底层分布。

决定是否查询一个实例的方式:

  1. 使用一些“信息量测量”或者“查询策略”来评估样本,信息量越多的样本就越有可能被查询;
  2. 计算一个显示的不确定区域,即实例空间中对学习者来说仍然不明确的部分,并且只查询属于它的实例。一个朴素的方法是为定义该区域的信息度量设置一个最低门槛。然后查询评估值高于此阈值的实例。另一种更有原则的方法是定义整个模型类仍然未知的区域,即与当前标记的训练集一致的假设集,称为版本空间(version space)。换句话说,如果同一模型类的任意两个模型(但不同的参数设置)有一致的标签,但是在一些未标注的实例上存在分歧,那么该实例就属于不确定范围。但是,完全且显式地计算这个区域的计算开销很大,并且在每次新的查询之后都必须维护它。因此,在实践中使用近似法。

基于池的主动学习

对于许多现实世界中的学习问题,可以一次性收集大量未标记的数据。基于这种动机,基于池的主动学习,假设有一小组标记数据和大量的未标记数据可用。查询是有选择地从池中提取的,池通常被假定为关闭的(即静态的或不变的),尽管这并不是严格必需的。通常,根据用于评估池中所有实例(或者,如果 U \mathcal{U} U非常大,则可能是其中的一些子样本)的信息性度量,以一种贪婪的方式查询实例。

基于池的场景已经在现实应用中被广泛研究,如:文本分类、信息提取、图像分类与检索、视频分类与检索、语音识别、癌症诊断等等。

基于流的主动学习和基于池的主动学习的主要区别在于前者顺序地扫描数据并单独做出查询决定,而后者在选择最佳查询之前对整个集合进行评估和排名。虽然基于池的场景似乎在应用程序论文中更常见,但可以想象,在哪些设置中基于流的方法更合适。例如,当内存或处理能力可能受到限制时,如移动和嵌入式设备。

查询策略框架

所有的主动学习场景都需要评估未标记实例的信息量,这些实例既可以从头生成,也可以从给定的分布中取样。在文献中已经提出了许多构建此类查询策略的方法。
以下 x A ∗ x_A^{\ast} xA表示某些查询选择算法 A A A中的信息量最丰富的实例。

不确定性抽样Uncertainty Sampling

不确定性抽样也许是最简单最常用的查询框架。在这个框架中,主动学习者会查询最不确定如何标注的实例。对于概率学习模型来说,这种方法通常是直接的。例如,当使用概率模型进行二元分类时,不确定性抽样策略简单地查询后验概率为正的最接近0.5的实例

更一般的不确定性抽样策略使用熵作为不确定性度量:
在这里插入图片描述
y i y_i yi涵盖了所有可能的标签。信息理论中的熵,表示“编码”一个分布所需的信息量。因此,它通常被认为是机器学习中不确定性或杂质的衡量标准。对于二分类问题,基于熵的不确定抽样与选择后验最接近0.5的实例相同。然而,基于熵的方法可以很容易地推广到更复杂的结构化实例的概率多标签分类器和概率模型,如序列和树。在这些更复杂的设置中,熵的替代方法包括查询最佳标记最小置信度的实例:
在这里插入图片描述
其中, y ∗ = a r g m a x y P ( y ∣ x ; θ ) y^{\ast} = argmax_yP(y|x;\theta) y=argmaxyP(yx;θ)是最可能的类标记。

不确定性抽样策略也可用于非概率模型。探索不确定性采样的第一个工作是使用决策树分类器,修改它以具有概率输出。类似的方法也被用于最近邻(也就是“基于记忆的”或“基于实例的”)分类器的主动学习,允许每个邻居对x的类标签进行投票,这些投票的比例代表后验标签概率。Tong和Koller(2000)还试验了支持向量机或支持向量机的不确定性采样策略(Cortes和V apnik,1995),其中涉及查询最接近线性决策边界的实例。最后一种方法类似于使用概率二元线性分类器的不确定性采样,如逻辑回归或朴素贝叶斯。

基于委员会的查询Query-By-Committee

QBC方法包括维持一个委员会 C = θ ( 1 ) , . . . , θ ( C ) \mathcal{C}={\theta^{(1)},...,\theta^{(C)}} C=θ(1),...,θ(C),这些模型都是在当前标记的数据集 L \mathcal{L} L上训练的,但代表了相互竞争的假设。然后,每个委员会成员都被允许对提问候选人的标签进行投票。最有信息量的问题被认为是他们最不同意的问题。
QBC框架背后的基本前提是最小化版本空间,这是(如2.2节所述)与当前标记的训练数据 L \mathcal{L} L一致的一组假设。
在这里插入图片描述
【图5】给出了(a)线性函数和(b)轴平行箱式分类器在不同的二元分类任务中的版本空间概念。如果我们将机器学习视为在版本空间中搜索“最佳”模型,那么主动学习的目标就是尽可能地限制这个空间的大小(以便搜索能够更精确),使用尽可能少的标记实例。这正是QBC所做的,通过查询输入空间中有争议的区域。为了实现QBC选择算法,必须:

  1. 能够构建一个代表版本空间不同区域的模型委员会,并且
  2. 委员会成员之间存在一定程度的分歧。

为了测量分歧的程度,提出了两种主要的方法。第一个是投票熵:

在这里插入图片描述
其中, y i y_i yi也涵盖了所有可能的标签。 V ( y i ) V(y_i) V(yi)是一个标签从委员会成员的预测中获得的“票数”。这可以被认为是基于熵的不确定性抽样的QBC推广。另一个被提出的分歧度量是平均分歧(KL) (平均KL散度):
在这里插入图片描述
其中:
在这里插入图片描述

θ ( c ) \theta^{(c)} θ(c)表示委员会中的一个特定模型, C \mathcal{C} C表示整体委员会。因此:
在这里插入图片描述
y i y_i yi是正确标签的“共识”概率。KL散度是两种概率分布差异的信息理论度量。因此,这个分歧衡量标准认为,任何一个委员会成员的标签分布与共识之间的平均差异最大的问题,信息最丰富。

基于模型变化期望的查询

另一个通用的主动学习框架是查询实例,如果我们知道它的标签,它将给当前模型带来最大的变化。该框架中的一个查询策略示例是用于鉴别概率模型类的“期望梯度长度”(EGL)方法。该策略由赛德斯等人引入,用于多实例环境下的主动学习(见第5.4节),并已应用于CRFs等概率序列模型。

由于判别概率模型通常使用基于梯度的优化来训练,因此模型的“变化”可以通过训练梯度的长度(即用于重新估计参数值的向量)来衡量。换而言之,学习者应该查询的情况是:如果实例被标记或者加入 L \mathcal{L} L,将会新的最大幅度幅度的训练梯度。
假设 ∇ l ( L ; θ ) \nabla{\mathcal{l}(\mathcal{L};\theta)} l(L;θ)是目标函数 l \mathcal{l} l的梯度, θ \theta θ为模型参数。现在让 ∇ l ( L ⋃ ⟨ x , y ⟩ ; θ ) \nabla{\mathcal{l}(\mathcal{L}\bigcup \langle{x,y}\rangle;\theta)} l(Lx,y;θ)作为 L \mathcal{L} L加上训练元组 ⟨ x , y ⟩ \langle{x,y}\rangle x,y得到的新的梯度。由于查询算法事先不知道真正的标签,我们必须计算长度作为对可能标签的期望:
在这里插入图片描述
其中 ∥ ⋅ ∥ \Vert {\cdot} \Vert 每个梯度向量的欧几里得范数。注意,对于查询时间, ∥ ∇ l ( L ; θ ) ∥ \Vert {\nabla{\mathcal{l}(\mathcal{L};\theta)}} \Vert l(L;θ)应该是接近于0的,因为 l \mathcal{l} l在上一轮训练中是收敛的。因此,可以近似:
∇ l ( L ⋃ ⟨ x , y ⟩ ; θ ) ≈ ∇ l ( ⟨ x , y ⟩ ; θ ) \nabla{\mathcal{l}(\mathcal{L}\bigcup \langle{x,y}\rangle;\theta)} \approx \nabla{\mathcal{l}(\langle{x,y}\rangle;\theta)} l(Lx,y;θ)l(x,y;θ)
考虑到计算效率,因为假设训练实例是独立的。

这个框架背后的直觉是,它更喜欢那些可能对模型影响最大的实例(即对其参数影响最大的实例),而不管结果是什么查询标签。这种方法已经在实证研究中被证明工作得很好,但是如果特征空间和标签集都非常大,就会在计算上非常昂贵。’’

基于方差减少的查询(Variance Reduction and Fisher Information Ratio)

  • 通过最小化未来方差确定;
  • 使Fisher信息比率最小化,
    缺点是计算复杂度较高。

估计误差减少

估计误差减少框架具有接近最优和不依赖于模型类的双重优势。但是计算效率非常昂贵,所以常常使用增量学习或者近似技术。

基于密度权重的选择方法

有人指出,不确定性抽样和QBC策略容易查询离群点,这是Fisher信息和估计误差减少框架背后的主要激励因素。【图6】说明了使用不确定抽样的二元线性分类器的这个问题。最不确定的实例位于分类边界,但不是分布中其他实例的“代表性”,因此知道它的标签不太可能提高数据的整体准确性。QBC和EGL可能会表现出类似的行为,通过花费时间查询可能的离群值,仅仅是因为它们有争议,或者期望在模型中进行重大更改。Fisher信息和估计误差减少策略通过在估计比率和未来误差时使用未标记池 U \mathcal{U} U (分别)隐式地避免了这些陷阱。我们还可以对查询选择策略中的输入分布进行显式建模。

在这里插入图片描述

settle和Craven(2008)提出的信息密度框架是一种密度加权技术,在settle(2008)的第4章中进行了进一步分析。其主要思想是,信息性实例不仅应该是那些不确定的实例,还应该是那些“代表”输入分布的实例(即位于输入空间的密集区域)。因此,我们希望以如下方式查询实例:

在这里插入图片描述
其中, ϕ A ( x ) \phi_{A}(x) ϕA(x)某个不确定性采样方法或者QBC,表示 x x x的信息量。 β \beta β表示是控制密度项相对重要性的指数参数。

Settles和Craven(2008)表明,如果密度可以有效地预先计算并缓存以备用,则选择下一个查询所需的时间基本上与基本信息度量(例如,不确定性采样)没有什么不同。

主动学习的分析

本节讨论了主动学习在实践中如何以及何时起作用的一些经验和理论证据。

主动学习的相关研究领域

主动学习的研究是由两个关键思想驱动的:(i)学习者应该被允许提出问题,(ii)未标记的数据经常是现成的或很容易获得的。也有一些相关的研究领域,有丰富的文献。

  • 半监督学习Semi-Supervised Learning
  • 强化学习Reinforcement Learning
  • 等价查询学习Equivalence Query Learning
  • 主动类选择Equivalence Query Learning
  • 主动特征获取与分类Active Feature Acquisition and Classification
  • Model Parroting and Compression

http://chatgpt.dhexx.cn/article/KGYkcrW1.shtml

相关文章

机器学习中的主动学习(Active Learning)

最近在做主动学习相关的东西,随着深入了解和学习对于某些东西有一些模糊,先将所见所感整理如下,如有不正确之处希望大佬能够指正: 1.主动学习 1.1关键问题 对于监督学习模型,足够多的已标注样例是获得高精度分类器的…

主动学习数据标注

active learning与passive(supervised) learning最大的不同是其不需要大量的专家标注样本训练模型。 主动学习是利用少量标注样本,然后由模型(Learner)主动选择hard sample返回给用户或专家(Oracle)打标签,…

浅谈主动学习(Active Learning)

1背景概述 在机器学习领域有很多学习模式,比方说监督学习、半监督学习、强化学习、无监督学习等。平时大家接触比较多的一般都是监督学习,在监督学习里面,比方说要做个人和鱼的图像分类模型,假设有200张图片,那就需要把…

深度主动学习综述(Deep Active Learning)

原文 Abstract 主动学习试图通过标记最少量的样本使得模型的性能收益最大化。而深度学习则对数据比较贪婪,需要大量的数据供给来优化海量的参数,从而使得模型学会如何提取高质量的特征。近年来,由于互联网技术的快速发展,使得我…

AL-实体抽取主动学习调研

实体抽取主动学习调研 文章目录 实体抽取主动学习调研资料前言相关文献阅读一、主动学习与自学习的中文命名实体识别算法流程图 二、DEEP ACTIVE LEARNING FOR NAMED ENTITYRECOGNITION三、Visual Active Learning for Labeling: A Case for Soundscape四、Interactive visual …

《异常检测——从经典算法到深度学习》15 通过无监督和主动学习进行实用的白盒异常检测

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …

主动学习简单教程及代码示例

本文是这篇文章的(翻译)简化版。 本文代码地址 已经不止一次有人说代码地址打不开,但是每次我都打得开。。这里放个阿里云的地址吧Active_Learning_Tutorial.ipynb。需要的去阿里云下载文件就行了。 建议直接看代码地址(代码地…

主动学习研究现状

主动学习研究现状 一. 传统查询策略(Query Strategy)二. 在图像分类的应用三. 在目标检测的研究3.1.《Localization-Aware Active Learning for Object Detection 》(ACCV, 2018)3.2. 《Active Learning for Deep Object Detection via Probabilistic Mo…

什么是主动学习?

机器学习算法特别需要数据,需要成千上万的例子才能做出明智的决定。为我们的算法提供高质量的训练数据是一项昂贵的任务。主动学习是一种优化构建有效机器学习系统所需人力的策略。 主动学习定义 主动学习是一种机器学习训练策略,它使算法能够主动识别…

Deep Active Learning(深度主动学习)

在深度学习时代,以监督学习为首的各项模型都取得了非常好的效果,但是这往往需要非常多的数据量来支撑。所以主动学习这一领域主要的目的就是为了让目标模型达到性能的前提下,尽可能的减少标准成本。 Active Learning(主动学习&a…

主动学习入门

文章目录 1.介绍1.1 监督学习、半监督学习、非监督学习1.2 主动学习1.2.1 主动学习介绍1.2.2 主动学习与半监督学习异同1.2.3 主动学习流程 2. 基本思想2.1 图示2.2 策略 3. 算法3.1 基于流、基于池3.2 类别3.3 算法(这里只介绍基本的)3.3.1 基于不确定性3.3.2 多样性(一般与不…

主动学习(active learning)

背景 在现实应用场景中,训练一个有效的深度模型依赖大量已标注样本,而准确标注大规模数据往往耗时耗力且代价高昂。为降低模型对数据的依赖,相继提出无监督学习,半监督学习以及弱监督学习等领域的学习方法。在这些方法中&#xf…

主动学习(Active Learning,AL)综述

目录 1. 基本概念2. 基于不确定性的主动学习方法3.基于最近邻和支持向量的分类器的方法3.1 NNClassifier3.2 RBF network Gradient Penalty 4 基于特征空间覆盖的方法5 基于对抗学习的方法5.1 VAAL5.1.1 核心思想5.1.2 网络结构5.1.3 主动学习策略5.1.4 模型特点 5.2 SRAAL5.3…

主动学习(Active Learning) 概述、策略和不确定性度量

主动学习是指对需要标记的数据进行优先排序的过程,这样可以确定哪些数据对训练监督模型产生最大的影响。 主动学习是一种学习算法可以交互式查询用户(teacher 或 oracle),用真实标签标注新数据点的策略。主动学习的过程也被称为优化实验设计。主动学习的…

主动学习(Active Learning,AL)的理解以及代码流程讲解

为什么要使用主动学习(Active Learning,AL) 针对有监督的学习任务,存在标记成本较为昂贵且标记难以大量获取的问题。 在此问题背景下,主动学习(Active Learning, AL)尝试通过选择性的标记较少数据而训练出表现较好的模…

主动学习(Active learning)简介

文章目录 Labeling faster vs. labeling smarter1. 什么是主动学习?2. 主动学习如何运行?2.1 Stream-based Active Learning2.2 Pool-based Active Learning2.3 Membership Query Synthesis 3. 主动学习与强化学习的不同?4. 不确定性度量1&am…

哪本书适合推荐给 Java 初学者?

之前写过一篇文章叫《假如时光倒流, 我会这么学习Java》, 希望对你有帮助: ----------------------------------------------------------------------- 回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般…

Java程序员必看的20本书,从入门到精通!收藏

推荐的20本学习 Java 必看书,记得点收藏哈~ 基础核心 1、《Java核心技术卷2:高级特性(原书第9版)》 豆瓣评分: 8.7 推荐指数:👍👍👍👍 2、《图解 HTTP》 讲漫画一样的…

Java入门到进阶推荐书籍

Java学习中推荐的书籍 第一本,《Head First JAVA》 小白学习JAVA的入门书籍,这本书和其他专业书籍相比多了一些趣味性,让人能够读下去,知识点比较全面,但是也没有讲的很深。 第二本,《JAVA核心技术卷1》 …

【书籍学习】史上最全的Java进阶书籍推荐

学习Java,书籍是必不可少的学习工具之一,尤其是对于自学者而言。废话不多说,下边就给大家推荐一些Java进阶的好书。 第一部分:Java语言篇 1.《Java编程规范》 适合对象:初级、中级 介绍:这本书的作者是被…