打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
充分利用有限的数据进行主动学习

主动学习是指用于处理标签数据不完整的多种策略,尤其是识别要手动标记的点。

人们在听到'机器学习'一词时会想到的大多数用例都涉及所谓的'监督学习',这意味着他们需要带有标记目标变量的数据进行训练。

来自互联网、学术界或商业界有大量未标记数据。由于没有标签的数据相对容易获得并且标签昂贵,因此,公司通常会聘请专家或几名员工来标记数据。考虑以下情况,一家数据驱动的医疗公司进行了很多MRI扫描,因此他们需要聘请专家来帮助他们解释这些扫描。该公司的资源有限,无法解释或标记所有数据;这是他们决定使用主动学习(AL)的地方。

AL的承诺是,通过反复增加我们精心选择的标记数据的大小,与使用完全受监督的数据集相比,使用标记所有数据的一小部分,可以获得类似性能。

AL被认为是一种半监督的方法,就标记数据的数量而言,介于无监督和完全监督之间,即,对于无监督的数据,我们使用0%标记的样本,对于完全监督的数据,我们使用100%标记的样本。因此,使用多少数据或从模型中需要多少性能的决策取决于资源管理决策,换句话说,这可以是业务决策。

但是,在某些情况下,很难收集足够的带标签数据。考虑在路边图片中识别停车标志的示例。在Internet上搜索成千上万张照片,或者将相机放置在汽车上并行驶一会儿都是Google Maps的风格,这很容易。识别其中哪些照片包含停车标志是一项艰巨的任务,需要有人逐张浏览照片并标记适当的照片。不幸的是,您无法使用识别停车标志的机器学习模型来识别用于训练该模型的照片……

在机器视觉等领域,这是一个特别棘手的问题。能够以多种不同方向识别多种不同物体的稳健模型需要大量数据进行训练,这肯定比任何人都可以标记的要多。如果将任务外包给标签外包公司,则简单地生成数据集可能会耗费大量人力或金钱。

如果您看到的是未标记或部分标记的数据集,该如何进行?显然,需要手动为其添加标签,但是要设置大量标签可能会花费很多。不过,也许实际上并不需要标记整个集合。如果仔细选择了要点,则可能会获得带有较少训练数据集的高价值模型。如何确定要标记和训练模型的点的优先级?这是主动学习策略的核心问题,也是在本文中探讨的问题。

特别是,我想考虑一些可以在小规模范围内轻松测试的策略。与在家工作的人相比,某些方法需要对模型的工作具有更高的可视性-例如,'预期的模型更改'是一种优先选择可能对模型影响最大的点的策略。但是,许多机器学习模型不一定是不透明的,因此,如何区分哪些点可能会影响模型并不总是很清楚。尽管如此,任何人都可以对主动学习在家庭中的实践方式产生直觉。

专栏
深度学习入门系列讲解
作者:AI火箭营
¥299
244人已购
查看

如何进行

假设我们有一个庞大但标签不足的数据集,我们该如何解决呢?好吧,您需要从某个地方开始,这意味着需要从数据集的较小随机子样本中手动标记。第一个随机样本是不可避免的。您需要启动模型。在使用它时,可能还需要一个手动标记的测试集。抱歉,但是从这里开始会变得更好。在标记的较小子样本上训练模型,并在测试集上评估其性能。可能不是很好。现在,选择一个新的点样本进行标记,并继续在这些点上训练模型并重新评估。冲洗并重复,直到您的模型达到您想要的效果为止。唯一的问题是如何选择要标记的点。

最简单的策略是继续获取​​随机子样本。真的不能期望像这样的随机策略能使您迅速达到目标。它的主要好处是,如果碰巧没有达到要达到的目标效果,就可以在用完数据之前停止标记。我们确实想要一种选择点的方法,以便在标记最少的点后获得性能。我们如何找到这些点?

对于分类模型,一种方法是询问模型本身哪一点不确定。许多机器学习实现不仅使从测试集中获得目标变量的预测变得容易,而且使模型为每个潜在结果分配的概率变得容易(假设这是分配概率的模型的类型)。只需使用经过部分训练的模型对未标记的数据进行预测,然后选择模型对其预测最不自信的点即可标记并充当下一批训练数据。

考虑任务的另一种方法是,我们正在寻找可以最明确模型隐式决策边界的要点。我们正在寻找边缘情况,即决策边界附近的点,如果边界稍有偏移,这些点的分类可能会有所不同。为什么不选择边界附近的点?诸如支持向量机之类的模型可以很容易地判断决策边界在哪里。其他模型没有明确定义边界,但是您可以通过找到最接近模型标记点的点来隐式地找出边界。注意:此策略比较耗时,特别是对于大型数据集,因为它涉及遍历所有点以计算每个点到另一个点的距离。

使用Mnist数据集进行实验

为了测试这些策略在实践中的工作方式,我首先使用了著名的Mnist数据集。这是一个具有许多点的多元类分类数据集(训练集中有60,000行,测试中有10,000行)。它也可以方便地处理为一组具有对应于手写图像中不同像素的整数值的列,因此在开始测试模型之前不需要大量的预处理。至关重要的是,使用MNIST集合也很容易获得良好的结果。在上个世纪九十年代获得精确度并不需要大量的预处理或模型调整。该练习的目的并不是要真正了解MNIST模型的性能如何(我们已经知道答案非常好),

MNIST数据集中的手写数字示例

在本练习中,我使用了sklearn的,该方便地具有'热启动'选项,使您可以继续使用带有两个隐藏层的新数据训练现有模型。我依次尝试了每种策略,首先从一个随机选择的500点组开始每个模型,然后将新一批的点添加到训练数据中,一次500个。我一直坚持到模型达到95%的精度为止。您不一定期望效果很好的随机策略的性能主要说明了MNIST数据集的易用性。正如我所提到的,训练集是完整的60,000行,但使用不到三分之一的行,随机策略使我们的准确率达到了95%:

随机选择训练数据行数与模型准确性

您会注意到,虽然随着添加更多批次的训练数据,模型通常会变得更好,但是根据新点的随机分布,使用新的训练数据有时确实会失去一些准确性。相比之下,当我们通过询问最不确定的点来选择新点时,该模型的性能通常会提高每个新批次的性能,并更快地达到我们的目标精度:

通过根据模型分配的概率选择训练点来提高模型准确性

随机方法需要最终查看17,500点才能达到95%的准确性。基于概率的方法仅需要8,500。也许这是意料之中的。真正的惊喜是,除了花费很长时间外,基于我们隐式测量点距决策边界的距离来选择点实际上并没有带来任何改善。这是一张图中的所有三种策略:

首先,每个模型都从大量新数据中受益匪浅-我仅以500行启动了这些模型,这显然是不够的。基于概率的样本策略很快就会占据并保持领先地位,但是,每一批新批次都看到稳定的改进,而随机策略则趋向于目标。到决策边界策略的距离似乎停滞了近4,000行,然后才加快了速度,最终甚至表现不及随机策略。

我承认对于决策边界策略似乎不起作用有些惊讶。然后,我在其他数据集上尝试了这些策略,大部分结果都相似。我喜欢的一个集合是Zalando Research 的' ,它是在原始MNIST集(具有相同的行数,并且像原始集合一样,每列对应一个像素值)之后制作的,但它具有灰度图像服装而不是手写数字。

Fashion-MNIST数据集

很难获得结果,因此我将目标降低到85%的准确性。这些策略之间的一般学习弧基本上保持不变:

使用较困难的Fashion-MNIST集可获得类似结果

基于概率的样本方法的性能更好,尽管不如普通MNIST集合明显好。同样,决策边界方法似乎不起作用。实际上,您可能会注意到,决策边界方法模型的性能恰好比其他两个模型高-这只是一个机会,因为这些模型都开始对随机抽取的样本进行训练。但是,决策边界浪费了自己的领先优势,并且在接下来的3,000行增量训练数据中基本上看不到任何改善。

当然,任何给定的主动学习策略的有效性可能会因数据集和模型而异。机器学习的挑战之一是,并不总是清楚哪种策略和模型会提前达到最佳状态。但是,进行实验非常有用,因为实际上,学习方法与选择模型一样重要。

专栏
基于深度学习的计算机视觉
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
重温五条 AI 基础规律
用于临床心理学和精神病学的机器学习方法
逻辑回归数学原理推导
PYTHON集成学习:自己编写构建ADABOOST分类模型可视化决策边界及SKLEARN包调用比较
主动学习(Active Learning) 概述、策略和不确定性度量
揭秘Capital One最大两个成功基因:数据决策及营销方式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服