机器学习笔记:主动学习(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)

相关推荐
iconball18 小时前
个人用云计算学习笔记 --37 Zabbix
运维·笔记·学习·云计算·zabbix
人工智能培训19 小时前
深度学习—卷积神经网络(1)
人工智能·深度学习·神经网络·机器学习·cnn·知识图谱·dnn
云天徽上19 小时前
【机器学习】Kaggle案例之Rossmann连锁药店销售额预测:时间序列与机器学习完美融合的实战指南
机器学习·数据挖掘·kaggle
FPGAI19 小时前
Java学习之计算机存储规则、数据类型、标识符、键盘录入、IDEA
java·学习
啊巴矲19 小时前
小白从零开始勇闯人工智能:机器学习初级篇(贝叶斯算法与SVM算法)
人工智能·机器学习·支持向量机
Yiii_x20 小时前
Object类与包装类
java·经验分享·笔记·课程设计·ai编程
四谎真好看20 小时前
MySQL 学习笔记(运维篇1)
运维·数据库·笔记·学习·mysql·学习笔记
智算菩萨20 小时前
【Python机器学习】交叉验证与超参数调优:自动化寻优之旅
人工智能·深度学习·机器学习
hssfscv20 小时前
Javaweb学习笔记——Web
笔记·学习·web
随意起个昵称20 小时前
【题解学习】序列题
学习·算法