一、主动学习背景介绍
机器学习的研究领域包括有:
监督学习(Supervised Learning),
无监督学习(Unsupervised Learning),
半监督学习(Semi-supervised Learning),
强化学习(Reinforcement Learning)等诸多内容。
针对有监督学习和半监督学习,都需要一定数量的标注数据,也就是说在训练模型的时候,全部或者部分数据需要带上相应的标签才能进行模型的训练。但是在实际的业务场景或者生产环境中,我们面对的安全事件很复杂,而且是一定需要专家经验作为样本标签的。专家获得样本的成本其实是不低的,全部样本交给专家进行人工打标很明显是不可能完成的。如果拿不到专家经验作为训练样本,那么模型无法训练。因此,如何从几十万个样本中选择少量有代表性的样本进行专家标注,通过较少成本来获得较大价值的标注数据,进一步地提升算法的效果就是值得思考的问题了。
主动学习方法被提出以有效地处理这类问题。主动学习(Active Learning)是指通过自动的机器学习算法,从数据集中自动筛选出合适的候选集给人工标注的过程。有效的主动学习数据选择策略可以有效地降低训练的代价并同时提高模型的识别能力。在主动学习中,学习器能够主动地选择包含信息量大的未标注样例并将其交由专家进行标注,然后置入训练集进行训练,从而在训练集较小的情况下获得较高的分类正确率,这样可以有效地降低构建高性能分类器的代价。
主动学习的流程如下,主要包括:机器学习模型的训练和预测、标注候选集提取、人工标注、获得候选集的标注数据和模型更新几个步骤。
- 机器学习模型:包括机器学习模型的训练和预测两部分;
- 待标注的数据候选集提取:依赖主动学习中的查询函数(Query Function);
- 人工标注:专家经验或者业务经验的提炼;
- 获得候选集的标注数据:获得更有价值的样本数据;
- 机器学习模型的更新:通过增量学习或者重新学习的方式更新模型,从而将人工标注的数据融入机器学习模型中,提升模型效果。
- 二、主动学习算法
通过图1主动学习流程发现,查询策略(Query Strategy Frameworks)是主动学习的核心之处,通常可以选择以下几种查询策略:
- 不确定性采样的查询(Uncertainty Sampling);
- 基于委员会的查询(Query-By-Committee);
- 基于模型变化期望的查询(Expected Model Change);
- 基于误差减少的查询(Expected Error Reduction);
- 基于密度权重的查询(Density-Weighted Methods)。
2.1 不确定性采样(Uncertainty Sampling)
不确定性采样的查询(Uncertainty Sampling)就是将模型中难以区分的样本数据提取出来,提供给业务专家或者标注人员进行标注,从而达到以较快速度提升算法效果的能力。而不确定性采样方法的关键就是如何描述样本或者数据的不确定性;
2.1.1 置信度最低(Least Confident)
对于二分类或者多分类的模型,通常它们都能够对每一个数据进行打分,判断它究竟更像哪一类。主动学习查询选择最不确定如何标注的实例。这种方法对于概率学习模型来说很简单。例如,在分类的场景下,有两个数据分别被某一个分类器预测,其对两个类别的预测概率分别是:(0.9,0.05,0.05) 和 (0.32, 0.33,0.35)。在此情况下,第一个数据被判定为第一类的概率是 0.9,第二个数据被判定为第一类的概率是 0.32,于是第二个数据明显更“难”被区分,因此更有被继续标注的价值。
\
综上,选择样本需要具有代表性。同时考虑具有语义特征和价值特征。语义特征是选择在每个类别中有“代表性”的样本;价值特征是“独一无二”的样本,也就是之前没有被标记过的信息量大的样本。
在主动学习(Active Learning)领域,其关键在于如何选择出合适的标注候选集给人工进行标注,而选择的方法就是所谓的查询策略(Query Strategy)。查询策略基本上可以基于单个机器学习模型,也可以基于多个机器学习模型,在实际使用的时候可以根据情况来决定。整体来看,主动学习都是为了降低标注成本,迅速提升模型效果而存在的。主动学习的应用场景广泛,包括图像识别,自然语言处理,安全风控,时间序列异常检测等诸多领域。