被动学习是指对须要标记的数据进行优先排序的过程,这样能够确定哪些数据对训练监督模型产生最大的影响。
- 被动学习是一种学习算法能够交互式查问用户 (teacher 或 oracle),用实在标签标注新数据点的策略。被动学习的过程也被称为优化实验设计。
- 被动学习的动机在于意识到并非所有标有标签的样本都等同重要。
- 被动学习通过为专家的标记工作进行优先级排序能够大大减少训练模型所需的标记数据量。降低成本,同时进步准确性。
- 被动学习是一种策略 / 算法,是对现有模型的加强。而不是新模型架构。
- 被动学习容易了解,不容易执行
被动学习背地的要害思维是,如果容许机器学习算法抉择它学习的数据,这样就能够用更少的训练标签实现更高的准确性。——Active Learning Literature Survey, Burr Settles
被动学习简介
被动学习不是一次为所有的数据收集所有的标签,而是对模型了解最艰难的数据进行优先级排序,并仅对那些数据要求标注标签。而后模型对大量已标记的数据进行训练,训练实现后再次要求对最不确定数据进行更多的标记。
通过对不确定的样本进行优先排序,模型能够让专家(人工)集中精力提供最有用的信息。这有助于模型更快地学习,并让专家跳过对模型没有太大帮忙的数据。这样在某些状况下,能够大大减少须要从专家那里收集的标签数量,并且依然能够失去一个很好的模型。这样能够为机器学习我的项目节省时间和金钱!
被动学习的策略
有很多论文介绍了多种如何确定数据点以及如何在办法上进行迭代的办法。本文中将介绍最常见和最间接的办法,因为这是最简略也最容易了解的。
在未标记的数据集上应用被动学习的步骤是:
- 首先须要做的是须要手动标记该数据的一个十分小的子样本。
- 一旦有大量的标记数据,就须要对其进行训练。该模型当然不会很棒,然而将帮忙咱们理解参数空间的哪些畛域须要首标记。
- 训练模型后,该模型用于预测每个残余的未标记数据点的类别。
- 依据模型的预测,在每个未标记的数据点上抉择分数(在下一节中,将介绍一些最罕用的分数)
- 一旦抉择了对标签进行优先排序的最佳办法,这个过程就能够进行迭代反复: 在基于优先级分数进行标记的新标签数据集上训练新模型。一旦在数据子集上训练完新模型,未标记的数据点就能够在模型中运行并更新优先级分值,持续标记。
通过这种形式,随着模型变得越来越好,咱们能够一直优化标签策略。
基于数据流的被动学习办法
在基于流的被动学习中,所有训练样本的汇合以流的模式出现给算法。每个样本都被独自发送给算法。算法必须立刻决定是否标记这个示例。从这个池中抉择的训练样本由 oracle(人工的行业专家)标记,在显示下一个样本之前,该标记立刻由算法接管。
基于数据池的被动学习办法
在基于池的抽样中,训练样本从一个大的未标记数据池中抉择。从这个池中抉择的训练样本由 oracle 标记。
基于查问的被动学习办法
这种基于委员会查问的办法应用多个模型而不是一个模型。
委员会查问 (Query by Committee),它保护一个模型汇合 (汇合被称为委员会),通过查问(投票)抉择最“有争议”的数据点作为下一个须要标记的数据点。通过这种委员会可的模式以克服一个繁多模型所能表白的限制性假如(并且在工作开始时咱们也不晓得应该应用什么假如)。
不确定性度量
辨认接下来须要标记的最有价值的样本的过程被称为“抽样策略”或“查问策略”。在该过程中的评分函数称为“acquisition function”。该分数的含意是:得分越高的数据点被标记后,对模型训练后的产生价值就越高(没模型成果好)。有很多中不同的采样策略,例如不确定性抽样,多样性采样,预期模型更改…,在本文中,咱们将仅关注最罕用策略的不确定性度量。
不确定性抽样是一组技术,能够用于辨认以后机器学习模型中的决策边界左近的未标记样本。这里信息最丰盛的例子是分类器最不确定的例子。模型最不确定性的样本可能是在分类边界左近的数据。而咱们模型学习的算法将通过观察这些分类最艰难的样本来取得无关类边界的更多的信息。
让咱们以一个具体的例子,假如正在尝试建设一个多类分类,以辨别 3 类猫,狗,马。该模型可能会给咱们以下预测:
{
"Prediction": {
"Label": "Cat",
"Prob": {
"Cat": 0.9352784428596497,
"Horse": 0.05409964170306921,
"Dog": 0.038225741147994995,
}
}
}
这个输入很可能来自 softmax,它应用指数将对数转换为 0 - 1 范畴的分数。
最小置信度:(Least confidence)
最小置信度 =1(100%置信度)和每个我的项目的最自信的标签之间的差别。
尽管能够独自按置信度的程序进行排名,但将不确定性得分转换为 0 - 1 范畴,其中 1 是最不确定的分数可能很有用。因为在这种状况下,咱们必须将分数标准化。咱们从 1 中减去该值,将后果乘以 N /(1-N),n 为标签数。这时因为最低置信度永远不会小于标签数量(所有标签都具备雷同的预测置信度的时候 )。
让咱们将其利用到下面的示例中,不确定性分数将是:(1-0.9352)*(3/2)= 0.0972。
最小置信度是最简略,最罕用的办法,它提供预测程序的排名,这样能够以最低的置信度对其预测标签进行采样。
置信度抽样间距(margin of confidence sampling)
不确定性抽样的最直观模式是两个置信度做高的预测之间的差值。也就是说,对于该模型预测的标签比照第二高的标签的差别有多大?这被定义为:
同样咱们能够将其转换为 0 - 1 范畴,必须再次应用 1 减去该值,然而最大可能的分数曾经为 1 了,所以不须要再进行其余操作。
让咱们将置信度抽样间距利用于下面的示例数据。“猫”和“马”是前两个。应用咱们的示例,这种不确定性得分将为 1.0 –(0.9352–0.0540)= 0.1188。
抽样比率(Ratio sampling)
置信度比是置信度边缘的变动,是两个分数之间的差别比率而不是间距的差别的绝对值。
熵抽样(Entropy Sampling)
利用于概率分布的熵包含将每个概率乘以其本身的对数,而后求和取正数:
让咱们在示例数据上计算熵:
失去 0 – sum(–0.0705,–0.0903,–0.2273)= 0.3881
除以标签数的 log 失去 0.3881/ log2(3)= 0.6151
总结
机器学习社区的大部分重点是创立更好的算法来从数据中学习。取得有用是标注数据在训练时是十分重要的,然而标注数据可能很十分的麻烦费劲,并且如果标注的品质不佳也会对训练产生很大的影响。被动学习是解决这个问题的一个方向,并且是一个十分好的方向。
https://avoid.overfit.cn/post/26eeaad603b540dbba4962c9179f6c64
作者:Zakarya ROUZKI