机器学习笔记:主动学习(Active Learning)初探

1 基本介绍

  • 监督学习问题中,存在标记成本昂贵且难以大量获取的问题。
    • 针对一些特定任务,只有行业专家才能为样本做上准确标记。
  • 在此问题背景下,主动学习(Active Learning, AL)尝试通过选择性地标记较少数据而训练出表现较好的模型。
    • 主动学习最重要的假设不同样本对于特定任务的重要程度不同 ,所以带来的表现提升也不全相同。
      • 选取较为重要的样本可以使当前模型以较少的标记样本数得到较好的表现
      • 在这一过程中,主动学习的本质对样本的重要性 (/信息度/期望带来的表现等)等进行评估
    • 模型会从数据集中主动选择 一些不带标签的数据,交互式地向专家(oracle)请求标注,这个过程叫做query。
    • 在每一次标注之后,模型重新或者增量地在带标签的数据上训练,然后再主动地选择不带标签数据进行标注,重复这个过程。

1.1 从不同角度理解主动学习

|--------|------------------------------------|
| 从问题的角度 | 通过以某种主动策略构建较小训练集来减少标记成本的机器学习方式 |
| 从策略的角度 | 以某种方式对未标记样本重要性的评估 |
| 从训练的角度 | 一种交互式的标记、训练、评估流程 |

2 主动学习基本的问题场景

|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| Pool-based scenario | * 此类场景通常提供一个未标记的数据池 * 主动学习策略在数据池中选取相应样本进行标记 |
| Stream-based scenario | * 此类场景中,数据以数据流的形式输入 * 主动学习策略需要确定对当前数据进行标记还是直接用现有模型预测 |
| Query synthesis scenario | * 此类场景较为少见 * 一个未标记的数据池通常也被提供,但是主动学习策略并不是在数据池中挑选样本进行查询,而是自行生成新样本进行查询 * 常见的是利用各种生成模型比如VAE/GAN来生成样本 * 这个其实有一个通病:生成的样本固然是很有信息量,但是有时候专家也可能无法标注 |

3 主动学习对样本的评估方法

基于 Pool-based Scenario + Classification

选取的样本进行manual label

|---------------------------|---------------------------------------------------------------|
| Informativeness | * 模型对选取样本取值的不确信程度【最不会的东西,提供相应的label】 * 只用这一个指标的话,通常会忽略数据分布的影像 |
| Representativeness-impart | * 选取样本是否可以对数据分布起到代表作用【最有代表性的东西,提供相应的label】 |
| Expected Improvements | * 选取样本能为当前模型带来多少性能提升 |
| Learn to score | * 不人为启发式地设计选取策略,而是学习一个选取策略 |

参考内容:

主动学习(Active Learning),看这一篇就够了 - 知乎 (zhihu.com)

通俗理解主动学习 - 知乎 (zhihu.com)

相关推荐
koo3645 小时前
李宏毅机器学习笔记30
人工智能·笔记·机器学习
长桥夜波5 小时前
机器学习日报02
人工智能·机器学习·neo4j
摇滚侠5 小时前
Spring Boot 3零基础教程,WEB 开发 内嵌服务器底层源码分析 笔记48
spring boot·笔记
tainshuai5 小时前
YOLOv4 实战指南:单 GPU 训练的目标检测利器
yolo·目标检测·机器学习
wperseverance7 小时前
Pytorch常用层总结
深度学习·机器学习
报错小能手7 小时前
项目——基于C/S架构的预约系统平台 (1)
开发语言·c++·笔记·学习·架构
赤月幼狼8 小时前
clickhouse学习笔记(一)基础概念与架构
笔记·学习·clickhouse
Theodore_10229 小时前
机器学习(7)逻辑回归及其成本函数
人工智能·机器学习
Yupureki9 小时前
从零开始的C++学习生活 13:红黑树全面解析
c语言·数据结构·c++·学习·visual studio
AhriProGramming10 小时前
Python学习快速上手文章推荐(持续更新)
开发语言·python·学习·1024程序员节