为什么要使用主动学习(Active Learning,AL)?
针对有监督的学习任务,存在标记成本较为昂贵且标记难以大量获取的问题。
在此问题背景下,主动学习(Active Learning, AL)尝试通过选择性的标记较少数据而训练出表现较好的模型。
例如,此时我们有大量的猫和狗的数据,假设人为标记他们的类别是成本非常高的事情,这时需要用到主动学习从中挑选部分数据对他们进行标注以节约成本,用主动模型选取出的标注数据训练的模型比随机选取出的相同数量的标注数据训练的模型精度更高。
主动学习的工作流程
主动学习的关键是你选择的模型、使用的不确定性度量以及应用于请求标注的查询策略。
①收集数据&选取模型
开始先选择一定数量的数据进行标注,选取我们需要训练的模型(比如逻辑回归模型)。
②训练模型
将标注好的数据放入模型中进行训练,此时精度不会很高。
③判断精度是否达到要求
- 若精度达到要求(比如99%),则表示模型以及训练好,可以应用。
- 若精度没有达到要求(比如只有12%),则表示模型未被训练好,这是需要利用主动学习选取对模型精度的提高最有用的数据进行人工标注。
④定义查询策略
包括度量预测的不确定度和应用于请求标注的查询策略,返回策略选择出的需要标注的数据,进行人工标注,转至第2步。
开源库
https://github.com/modAL-python/modAL