一、背景
在日常算法工程师工作(特别是风控领域)中可能存在大量未标注的数据集(一般都可以在日志中捞出来),但是某些工作需求历史积累的标注数据集比较少。那么如何使算法工程师不变成标注工程师是目前需要解决的问题。
如果直接对未标注数据集进行人工标注存在下面问题:
- 某些领域的标注数据集需要专业的知识
- 成本也比较高
- 大量数据集标注需要更多的时间
在标注成本和人力不足的情况下,主动学习可以说是对算法工程师很友善的方向了。
二、 Actice Learning
- 流程
如下图所示,主动学习是一个不断迭代的过程
(1)首先通过已有的标注数据训练模型,或者通过迁移学习得到的模型
(2)通过某些策略挑选出有价值的样本进行标注
(3)放入模型中重新或者增量训练
(4)重复(2)、(3)
- 挑选样本的策略
(1)基于未标注样本池的主动学习策略
根据预测结果计算信息熵、SVM作为分类器
(2)批量式主动学习方法,侧重于组合式策略以及引入聚类算法的主动学习方法;
(3)半监督主动学习方法;
(4)结合生成对抗网络的主动学习方法
三、效果
博文中作者对1)MNIST;2)Cifar-10;3)Dog-Cat from Kaggle 进行Active learning的实验,实验结果如下:
通过上图可以发现引入active learning后,可以使用更少的数据集达到更好的效果
文中部分内容引用:
https://blog.csdn.net/Houchaoqun_XMU/article/details/80146710