【机器学习】主动学习-增加标签的操作方法-样本池采样(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…

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…

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

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

Pycharm 使用教程

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

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与…

mobaxterm内置编辑器中文出现乱码如何解决:直接更换编辑器为本地编辑器

诸神缄默不语-个人CSDN博文目录 使用场景是我需要用mobaxterm通过SSH的方式登录服务器,进入服务器之后我就直接打开代码文件,mobaxterm会直接用内置的编辑器(MobaTextEditor)打开,但这会导致中文编程乱码。 我一开始是…

机器学习与人工智能的关系

机器学习与人工智能的关系 一、人工智能二、机器学习2.1 机器学习与人工智能的关系2.2 机器学习的本质 三、其他玩艺 曾几何时,人工智能还是个科幻名词,仿佛只属于未来世界。如今,它已经渗透到了我们生活的方方面面,成为顶流。我们…

一些常见的Java面试题及其答案

Java基础 1. Java中的基本数据类型有哪些? 答案:Java中的基本数据类型包括整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)和布尔类型(boo…

构建高性能网络服务:从 Socket 原理到 Netty 应用实践

1. 引言 在 Java 网络编程中,Socket 是实现网络通信的基础(可以查看我的上一篇博客)。它封装了 TCP/IP 协议栈,提供了底层通信的核心能力。而 Netty 是在 Socket 和 NIO 的基础上,进一步封装的高性能、异步事件驱动的…

Docker PG流复制搭建实操

目录标题 制作镜像1. 删除旧的容器2. 创建并配置容器3. 初始化数据库并启动 主库配置参数4. 配置主库5. 修改 postgresql.conf 配置 备库配置参数6. 创建并配置备库容器7. 初始化备库 流复制8. 检查主库复制状态9. 检查备库配置 优化建议问题1:FATAL: using recover…

Elasticsearch 批量导入数据(_bluk方法)

官方API&#xff1a;https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html 建议先看API POST /<索引名>/_bulk 格式要求&#xff1a; POST _bulk { "index" : { "_index" : "test", "_id" : &q…

Active Prompting with Chain-of-Thought for Large Language Models

题目 大型语言模型的思维链主动提示 论文地址&#xff1a;https://arxiv.org/abs/2302.12246 项目地址&#xff1a;https://github.com/shizhediao/active-prompt 摘要 大型语言模型(LLM)规模的不断扩大为各种需要推理的复杂任务带来了涌现能力&#xff0c;例如算术和常识推理…