主动学习(Active Learning)系列介绍(一)基本概念及应用场景

一个小假设

在我们正式了解主动学习之前,不妨先假设发生了这样一件事情:
假设你是一个探险队的首领,你们来到了一个外太空星球。幸运的是,这个星球很适宜你们生活,同时这个星球有大量的植被可以作为食物。这些植被有的很光滑圆润,有的崎岖不平,如下图所示:
在这里插入图片描述
这时,你们的随队医生突然发现,在这种当地的植被中,外形光滑的可以当食物,但是外形不规则的会使人生病,因此当前问题就是确定哪些植被可以食用,哪些植被会让人中毒!
X表示所有的样本实例,Y={safe, noxious}表示这些植被的标记,我们就是要学得一个分类器:
在这里插入图片描述

有监督学习思想

我们首先尝试使用传统的有监督学习方法,假设数据集都是有标记的(labeled data)。我们要从数据集中训练出参数 Θ ∗ \Theta^* Θ ,我们将这些植被如下图所示,按照不规则程度进行排序:
在这里插入图片描述
在安全的(safe)和有毒的(noxious)中间,我们就可以找到阈值 Θ ∗ \Theta^* Θ,这时模型构建完毕,可准确区分植被。
然而这种方法需要付出的代价比较大,需要确定每个植被是否有毒,在确定label的过程中会有人中毒的风险。
实际上,不需要标记所有植被,只需要知道一部分植被标记即可,下面介绍主动学习的思想:

主动学习思想

我们如何利用尽可能的少的有标记样本就得出结论呢?我们可以使用二分查找的方法,具体步骤如下图所示:

在这里插入图片描述
还是根据不规则程度将食物排序,每次只需要判断位于中间位置的食物是否有毒(noxious)即可。
这样,只需要三个有标记数据:编号分别为5、6、7的植被,减少了标记成本。
这就是主动学习的基本思想,每一轮主动地(actively)选择少部分样本,直至满足我们的要求!

研究背景

传统的机器学习(Machine Leaning)任务,特别是有监督学习任务为取得良好的性能,通常需要在成百上千的有标记数据(labeled data上训练。

然而,在现实生活中的很多应用,为得到有标记数据,是一个困难的(difficult)、耗时的(time-consuming)、昂贵(expensive)的过程。

幸运的是,在当今这个数据井喷的时代,有大量的未标记的数据(unlabeled data),而这些数据往往更容易获得。

在此背景下,为了更好地利用大量的无标记数据,我们提出主动学习(Active Learning),旨在使我们的学习系统变得主动(active)起来,在大量未标记数据中寻找最有价值的数据,进而提升模型性能。

主动学习

主动学习是人工智能和机器学习研究范围内的一个子领域。如下图[1]所示,每一轮主动学习通过“query”(查询)获得一些标记数据(labeled data),负责标记数据的专家被称为“oracle”。经过多次query,得到labeled data,再去训练我们的模型,就是主动学习的大概流程。因此,主动学习也可被称作“query learning”。
在这里插入图片描述

在现实生活中,以下问题应用到了主动学习:
(1)分类与过滤(Classification and filtering):互联网上有大量数据需要分类。
(2)语音识别(Speech recognition):一分钟的语音往往需要十分钟来进行标记。
(3)信息提取(Information extraction):需要对文件信息进行详细具体的标记。
(4)计算生物学(Computational Biology):该研究领域有大量的数据需要处理。

以上这些例子获取标记的代价都是很大的,如果我们的学习器learner可以主动地选择样本,那么我们就可以事半功倍(learn the task better with less training)

之前介绍的二分法查找只是一种比较简单的查询策略,在处理高维数据时不太实用,在接下来的系列介绍中,我们会再介绍四种查询选择框架(query selection frameworks):

  1. Uncertainty Sampling 不确定度采样
  2. Searching Through the Hypothesis Space 搜索假设空间
  3. Minimizing Expected Error and Variance 最小化期望误差和方差
  4. Exploiting Structure in Data 探索数据中的结构

问题场景

本节主要讨论主动学习适用的场景,以及三种询问query的场景:
首先,若获取标记的代价很小(instance labels come at little or no cost),比如标记一个垃圾邮件,或给一部电影五星好评这种在日常就会做的事情,这时我们一般不使用主动学习的方法。
其次,如果只需要几十或几百个标记样例(tens or hundreds of labeled instance)就能得到一个准确的模型,我们也不使用active learning。

同时,active learning主要考虑以下这三个场景(scenario):

1. Query Synthesis

最早的主动学习场景,在1988年提出[3]。
在此设定下,学习器learner随机地选择membership queries,也就是一些特定的示例query instance,并交给oracle进行标记。甚至学习器可以自己生成待标记样例(generate instance de novo)。
具体流程如下图[2]:
在这里插入图片描述
该技术在当时取得了不错的成绩,然而存在一定的问题:有时learner选择出来的query instance专家也无法辨认,其本身也不具有固定的语义,比如下图右上角的一些手写体,无法判断他们是5、8还是9。
在这里插入图片描述
在这个问题的基础上,学者又继续探索出了以下两种query场景。

2. Stream-based Selective Sampling

假设我们有很多unlabeled instance,在此设定下,所有instance依次通过学习器learner进行判断,learner负责判断这些instance是否送标。整体过程如下图所示:
在这里插入图片描述
学习器learner进行判断时通常使用一个实值函数进行测量(a measure of utility),获得评分较高的instance可以拿去送标。此方法在现实问题中也大量应用,特别是分类算法中,比如语音标记(speech tagging)、传感器调度(sensor scheduling)中。

3. Pool-based Sampling

对于现实中的学习问题,大量的未标记数据通常都是同时获得的(gather at once)。在此设定下,我们将未标记数据的集合称为一个pool,每次我们依然使用实值函数选择一个query instance,具体流程如下图:
在这里插入图片描述
此方法在现实世界中应用最为广泛,如文本识别、信息抽取、图像视频分类等问题中都有利用到。在后面的query selection algorithm讨论中,我们都是基于pool-based场景。


参考文献

  1. A brief introduction to weakly supervised learning, 周志华, 2018
  2. Active Learning, Burr Settles, 2012
  3. Queries and concept learning, ANGLUIN, 1988
  • 20
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值