【机器学习】主动学习-增加标签的操作方法-样本池采样(Pool-Based Sampling)

Pool-Based Sampling

Pool-based sampling 是一种主动学习(Active Learning)方法,与流式选择性采样不同,它假设有一个预先定义的未标注样本池,算法从中选择最有价值的样本进行标注,以提升模型的性能。这种方法广泛应用于需要人工标注的场景,例如文本分类、图像识别等。


核心思想

  1. 预先准备一个 未标注数据池(Unlabeled Data Pool)。
  2. 使用初始标注数据训练一个模型。
  3. 算法根据特定的选择策略,从未标注池中挑选最有价值的数据点。
  4. 将选中的数据点交给 Oracle(标注者)进行标注。
  5. 用新标注的数据更新模型。
  6. 重复上述过程,直到达到停止条件(如标注预算耗尽或模型精度满足要求)。

主要步骤

  1. 初始化:

    • 准备一个初始的小型标注数据集,用于训练初始模型。
    • 定义一个未标注样本池。
  2. 选择样本:

    • 基于选择策略,从未标注样本池中选出最有助于提升模型性能的样本。
  3. Oracle 标注:

    • 将选中的样本交由 Oracle(人工或自动标注系统)标注。
  4. 模型更新:

    • 使用新增的标注样本重新训练或微调模型。
  5. 循环迭代:

    • 重复选择、标注和更新的过程。
  6. 停止条件:

    • 达到预设的停止条件,如标注数量限制、预算耗尽或模型性能满足预期。

选择策略

选择策略决定了从未标注池中挑选哪些样本进行标注。以下是常见的选择策略:

  1. 不确定性采样(Uncertainty Sampling):

    • 选择模型最不确定的样本。例如:
      • 最小置信度法(Least Confidence): 挑选模型预测概率最高的类别置信度最低的样本。
      • 最大熵法(Maximum Entropy): 挑选预测分布熵值最大的样本。
  2. 基于信息增益(Information Gain):

    • 选择能够最大化模型信息增益的样本。
  3. 密度加权方法(Density-Weighted Methods):

    • 同时考虑样本的不确定性和它与数据分布的代表性,确保模型泛化能力。
  4. 查询实例多样性(Diversity Sampling):

    • 选择与当前标注样本差异较大的样本,避免模型过拟合局部分布。
  5. 基于错误减少(Error Reduction):

    • 选择标注后对模型总体错误率降低最大的样本。

优点

  1. 高效标注:

    • 只标注最有价值的样本,降低标注成本。
  2. 简单易用:

    • 使用现有的未标注样本池,无需处理实时数据流。
  3. 可控性强:

    • 数据池是预定义的,可以针对特定需求优化选择策略。

缺点

  1. 标注依赖:

    • 标注仍然依赖 Oracle,标注成本可能较高。
  2. 计算成本:

    • 每次迭代需要对未标注池的所有样本进行选择策略的评估,可能增加计算复杂度。
  3. 数据池局限性:

    • 依赖于初始未标注池的多样性,数据池如果不够丰富可能影响模型性能。

实际应用场景

  1. 文本分类:

    • 从海量未标注文本中选择最有助于提升分类器性能的文本进行人工标注。
  2. 图像识别:

    • 从图像池中挑选最模糊或不确定的图像请求人工标注。
  3. 医学诊断:

    • 从患者数据中选择可能代表罕见或边界情况的数据进行医生标注。
  4. 推荐系统优化:

    • 选择对推荐系统模型最重要的用户行为数据进行分析和标注。

对比其他采样方法

方法数据来源采样方式适用场景
Pool-Based Sampling预定义的未标注池从数据池中选择最有价值的样本标注成本高,数据池丰富时
Stream-Based Sampling实时数据流动态决定是否标注当前数据点实时数据环境,连续数据输入
Query Synthesis无预定义数据算法主动生成查询实例,向 Oracle 请求标注数据稀缺或模型需主动探索

总结:
Pool-based sampling 是一种经典的主动学习方法,尤其适用于需要从大量静态数据中选择最有价值样本的场景。通过设计合适的选择策略,能够显著提升模型性能,同时大幅减少标注工作量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【初识扫盲】厚尾分布

厚尾分布(Fat-tailed distribution)是一种概率分布,其尾部比正态分布更“厚”,即尾部的概率密度更大,极端值出现的概率更高。 一、厚尾分布的特征 尾部概率大 在正态分布中,极端值(如距离均值很…

机组存储系统

局部性 理论 程序执行,会不均匀访问主存,有些被频繁访问,有些很少被访问 时间局部性 被用到指令,不久可能又被用到 产生原因是大量循环操作 空间局部性 某个数据和指令被使用,附近数据也可能使用 主要原因是顺序存…

Transformer创新模型!Transformer+BO-SVR多变量回归预测,添加气泡图、散点密度图(Matlab)

Transformer创新模型!TransformerBO-SVR多变量回归预测,添加气泡图、散点密度图(Matlab) 目录 Transformer创新模型!TransformerBO-SVR多变量回归预测,添加气泡图、散点密度图(Matlab&#xff0…

31_搭建Redis分片集群

Redis的主从复制模式和哨兵模式可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题、高并发写的问题。由于数据量过大,单个master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Red…

c++ 中的容器 vector、deque 和 list 的区别

表格汇总: 容器存储结构随机访问性能中间插入/删除性能两端插入/删除性能内存管理特点迭代器类型适用场景vector连续存储的动态数组 O ( 1 ) O(1) O(1) O ( n ) O(n) O(n)(需要移动元素)末尾: O ( 1 ) O(1) O(1),头部…

ASP.NET Core - 日志记录系统(二)

ASP.NET Core - 日志记录系统(二) 2.4 日志提供程序2.4.1 内置日志提供程序2.4.2 源码解析 本篇接着上一篇 ASP.NET Core - 日志记录系统(一) 往下讲,所以目录不是从 1 开始的。 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括…

nginx的可视化配置工具nginxWebUI的使用

文章目录 1、nginx简介2、nginxWebUI2.1、技术解读2.2、开源版和专业版之间的区别2.3、功能解读 3、安装与使用3.1、下载镜像3.2、查看镜像3.3、启动容器3.4、使用 4、总结 1、nginx简介 Nginx 是一个高效的 HTTP 服务器和反向代理,它擅长处理静态资源、负载均衡和…

【C++】IO 流

文章目录 👉C 语言的输入与输出👈👉流是什么👈👉C IO 流👈C 标准 IO 流C 和 C 语言的输入格式问题C 的多次输入内置类型和自定义类型的转换日期的多次输入C 文件 IO 流文本文件和二进制文件的读写 &#x1…

JavaScript系列(25)--性能优化技术详解

JavaScript性能优化技术详解 ⚡ 今天,让我们深入探讨JavaScript的性能优化技术。掌握这些技术对于构建高性能的JavaScript应用至关重要。 性能优化基础 🌟 💡 小知识:JavaScript性能优化涉及多个方面,包括代码执行效…

kotlin中的flow使用,Flow跟生命周期结合

kotlin的Flow可以连续异步发出多个数据。 1. 普通flow,冷流类似于一个函数,当开始收集时才开始运行 val coldStream flow {for (i in 1..5) {delay(100L)emit(i)}} val collect1 buildString {coldStream.collect { append(it).append(", ") } }.remo…

基于springboot的幼儿园管理系统系统

作者:学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”,支持远程部署调试、运行安装。 项目包含: 完整源码数据库功能演示视频万字文档PPT 项目编码&#xff1…

Pycharm 使用教程

一、基本配置 1. 切换Python解释器 pycharm切换解释器版本 2. pycharm虚拟环境配置 虚拟环境的目的:创建适用于该项目的环境,与系统环境隔离,防止污染系统环境(包括需要的库)虚拟环境配置存放在项目根目录下的 ven…

docker mysql5.7如何设置不区分大小写

环境 docker部署,镜像是5.7,操作系统是centos 操作方式 mysql 配置文件是放在 /etc/mysql/mysql.conf.d/mysqld.cnf, vim /etc/mysql/mysql.conf.d/mysqld.cnf lower_case_table_names1 重启mysql容器 验证 SHOW VARIABLES LIKE low…

网站收录入口提交的方法有哪些(网站收录的方式都有哪些)

网站被搜索引擎收录是获得流量和曝光的重要前提,以下为你介绍常见的网站收录方式: 搜索引擎提交入口 各大搜索引擎都设有专门的网站收录入口,供站长提交网站。例如百度搜索资源平台、谷歌搜索控制台等。以百度为例,在百度搜索资…

Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)

文章目录 单例模式1️⃣特性💪单例模式的类型与实现:类型懒汉式实现(线程不安全)懒汉式实现(线程安全)双重锁校验懒汉式(线程安全)饿汉式实现(线程安全)使用类的内部类实现⭐枚举方式实现单例(推荐)👍 单例…

STM32 FreeRTOS中断管理

目录 FreeRTOS的中断管理 1、STM32中断优先级管理 2、FreeRTOS任务优先级管理 3、寄存器和内存映射寄存器 4、BASEPRI寄存器 5、FreeRTOS与STM32中断管理结合使用 vPortRaiseBASEPRI vPortSetBASEPRI 6、FromISR后缀 7、在中断服务函数中调用FreeRTOS的API函数需注意 F…

[Spring] SpringCloud概述与环境工程搭建

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据...本篇介绍自动驾驶检测模型如何针对corner case 优化?

【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据…本篇介绍自动驾驶检测模型如何针对corner case 优化? 【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据…本篇介绍自动驾驶检测模型如何针对corner case 优化&…

Swift语言的软件工程

Swift语言的软件工程 引言 随着科技的不断进步,软件开发行业正在经历着前所未有的变化。在这场变革中,Swift语言作为苹果公司推出的一种新型编程语言,凭借其简洁、高效及安全的特性,正在快速崛起,成为现代软件工程中…