【机器学习】主动学习-增加标签的操作方法-样本池采样(Pool-Based Sampling)
Pool-Based Sampling
Pool-based sampling 是一种主动学习(Active Learning)方法,与流式选择性采样不同,它假设有一个预先定义的未标注样本池,算法从中选择最有价值的样本进行标注,以提升模型的性能。这种方法广泛应用于需要人工标注的场景,例如文本分类、图像识别等。
核心思想
- 预先准备一个 未标注数据池(Unlabeled Data Pool)。
- 使用初始标注数据训练一个模型。
- 算法根据特定的选择策略,从未标注池中挑选最有价值的数据点。
- 将选中的数据点交给 Oracle(标注者)进行标注。
- 用新标注的数据更新模型。
- 重复上述过程,直到达到停止条件(如标注预算耗尽或模型精度满足要求)。
主要步骤
-
初始化:
- 准备一个初始的小型标注数据集,用于训练初始模型。
- 定义一个未标注样本池。
-
选择样本:
- 基于选择策略,从未标注样本池中选出最有助于提升模型性能的样本。
-
Oracle 标注:
- 将选中的样本交由 Oracle(人工或自动标注系统)标注。
-
模型更新:
- 使用新增的标注样本重新训练或微调模型。
-
循环迭代:
- 重复选择、标注和更新的过程。
-
停止条件:
- 达到预设的停止条件,如标注数量限制、预算耗尽或模型性能满足预期。
选择策略
选择策略决定了从未标注池中挑选哪些样本进行标注。以下是常见的选择策略:
-
不确定性采样(Uncertainty Sampling):
- 选择模型最不确定的样本。例如:
- 最小置信度法(Least Confidence): 挑选模型预测概率最高的类别置信度最低的样本。
- 最大熵法(Maximum Entropy): 挑选预测分布熵值最大的样本。
- 选择模型最不确定的样本。例如:
-
基于信息增益(Information Gain):
- 选择能够最大化模型信息增益的样本。
-
密度加权方法(Density-Weighted Methods):
- 同时考虑样本的不确定性和它与数据分布的代表性,确保模型泛化能力。
-
查询实例多样性(Diversity Sampling):
- 选择与当前标注样本差异较大的样本,避免模型过拟合局部分布。
-
基于错误减少(Error Reduction):
- 选择标注后对模型总体错误率降低最大的样本。
优点
-
高效标注:
- 只标注最有价值的样本,降低标注成本。
-
简单易用:
- 使用现有的未标注样本池,无需处理实时数据流。
-
可控性强:
- 数据池是预定义的,可以针对特定需求优化选择策略。
缺点
-
标注依赖:
- 标注仍然依赖 Oracle,标注成本可能较高。
-
计算成本:
- 每次迭代需要对未标注池的所有样本进行选择策略的评估,可能增加计算复杂度。
-
数据池局限性:
- 依赖于初始未标注池的多样性,数据池如果不够丰富可能影响模型性能。
实际应用场景
-
文本分类:
- 从海量未标注文本中选择最有助于提升分类器性能的文本进行人工标注。
-
图像识别:
- 从图像池中挑选最模糊或不确定的图像请求人工标注。
-
医学诊断:
- 从患者数据中选择可能代表罕见或边界情况的数据进行医生标注。
-
推荐系统优化:
- 选择对推荐系统模型最重要的用户行为数据进行分析和标注。
对比其他采样方法
| 方法 | 数据来源 | 采样方式 | 适用场景 |
|---|---|---|---|
| Pool-Based Sampling | 预定义的未标注池 | 从数据池中选择最有价值的样本 | 标注成本高,数据池丰富时 |
| Stream-Based Sampling | 实时数据流 | 动态决定是否标注当前数据点 | 实时数据环境,连续数据输入 |
| Query Synthesis | 无预定义数据 | 算法主动生成查询实例,向 Oracle 请求标注 | 数据稀缺或模型需主动探索 |
总结:
Pool-based sampling 是一种经典的主动学习方法,尤其适用于需要从大量静态数据中选择最有价值样本的场景。通过设计合适的选择策略,能够显著提升模型性能,同时大幅减少标注工作量。
相关文章:
【机器学习】主动学习-增加标签的操作方法-样本池采样(Pool-Based Sampling)
Pool-Based Sampling Pool-based sampling 是一种主动学习(Active Learning)方法,与流式选择性采样不同,它假设有一个预先定义的未标注样本池,算法从中选择最有价值的样本进行标注,以提升模型的性能。这种…...
【Rust自学】11.9. 单元测试
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 11.9.1. 测试的分类 Rust把测试分为两类,一个是单元测试,一个是集成测试。 单元测试比较小也比较专注ÿ…...
深入理解Web存储机制:Cookie、SessionStorage与LocalStorage的区别
文章目录 前言一、Cookie简介二、SessionStorage简介三、LocalStorage简介四、三者之间的比较五、最佳实践建议结语 前言 随着Web应用程序变得越来越复杂,开发者需要更有效的办法来管理客户端数据。Cookie、SessionStorage和LocalStorage是三种常用的Web存储机制&a…...
SpringBoot之BeanDefinitionLoader类源码学习
该类的作用 Spring 框架中用于加载和解析 Bean 定义的工具类。它主要用于从不同的资源(如 XML 文件、注解、Java 配置类等)中读取 Bean 定义,并将这些定义注册到 Spring 的 BeanFactory 或 ApplicationContext 中 基本属性 //指定的资源pri…...
【芯片封测学习专栏 -- 2D | 2.5D | 3D 封装的区别和联系】
请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 Overview线键合(wire-bonding)封装FOWLP2D封装2.5D 封装硅通孔(TSV)硅中介层无TSV的2.5D 3D封装 Overview 我们先要了解一下&…...
从硬件设备看Linux
一、介绍 DM3730通过各种连接方式连接了各种设备,输入输出设备根据不同的类型大体可 以分为电源管理、用户输人、显示输出、图像采集、存储以及无线设备等。我们可以将DM 3730与这些设备的数据接口分为总线和单一的数据接口总线。总线的显著特点是单个总线上可以连…...
open3d+opencv实现矩形框裁剪点云操作(C++)
👑主页:吾名招财 👓简介:工科学硕,研究方向机器视觉,爱好较广泛… 💫签名:面朝大海,春暖花开! open3dopencv实现矩形框裁剪点云操作(Cÿ…...
git 本地操作
一、git.vscode 撤回本地提交 要在Git中撤销本地的最后一次提交,可以使用以下命令: git reset --soft HEAD^ 这将会撤销最后一次的提交,但是保留工作区以及暂存区的内容,方便重新提交。 如果你想完全撤销最后一次提交…...
PL/SQL语言的文件操作
PL/SQL语言的文件操作 PL/SQL(Procedural Language/SQL)是Oracle公司开发的一种过程化扩展SQL的语言,广泛应用于Oracle数据库的开发和管理。PL/SQL不仅支持SQL指令,还支持过程化编程,例如条件控制、循环控制、异常处理…...
linux lsof 和 fuser命令介绍
lsof 和 fuser 是两个在 Linux 系统中用于查看文件占用情况的重要工具。它们都可以用于查看哪些进程正在使用某些文件、设备或端口。下面是这两个命令的介绍、举例和背景。 lsof (List Open Files) 命令介绍: lsof 命令用于列出当前系统中所有打开的文件以及与之相关的进程。它…...
[Python学习日记-76] 网络编程中的 socket 开发 —— 介绍、工作流程、socket 模块用法和函数介绍
[Python学习日记-76] 网络编程中的 socket 开发 —— 介绍、工作流程、socket 模块用法和函数介绍 简介 socket 介绍 socket 的工作流程及用法 简介 前面在[Python学习日记-75] 计算机基础与网络当中介绍了一大堆基础知识之后我们终于开始进入到网络编程的开发阶段了&#x…...
vue(七) vue进阶
目录 第一课:Vue方法、计算机属性及侦听器 一、数组变化侦测 方法1:变更方法 方法2:替换一个数组 例子:小Demo:合并两个数组 二、计算属性 1.基础(不推荐) 2.使用计算属性来完成案例 3.使用函数的方…...
[Transformer] The Structure of GPT, Generative Pretrained Transformer
The Structure of Generative Pretrained Transformer Reference: The Transformer architecture of GPT models How GPT Models Work...
Django Admin 自定义操作封装
1. 为什么需要封装? 在Django开发中,我们经常需要在Admin界面添加自定义操作按钮,以便管理员执行特定的任务。通过封装,我们可以: 减少重复代码统一管理自定义操作的逻辑提高代码的可维护性和可扩展性 © ivwdcwso (ID: u012172506)2. CustomActionMixin 的实现 让我…...
http和https有哪些不同
http和https有哪些不同 1.数据传输的安全性:http非加密,https加密 2.端口号:http默认80端口,https默认443端口 3.性能:http基于tcp三次握手建立连接,https在tcp三次握手后还有TLS协议的四次握手确认加密…...
PL/SQL语言的数据库交互
PL/SQL语言的数据库交互 引言 在当今的信息化时代,数据库管理系统(DBMS)在各行各业中扮演着至关重要的角色。为了高效地与数据库进行交互,许多程序员、数据库管理员和系统分析师选择使用PL/SQL(Procedural Language/…...
亿道三防丨三防笔记本是什么意思?和普通笔记本的优势在哪里?
三防笔记本是什么意思?和普通笔记本的优势在哪里? 在现代社会中,笔记本电脑已经成为人们工作和生活中不可或缺的一部分。然而,在一些特殊行业或环境中,普通笔记本电脑由于其脆弱性和对环境条件的敏感性,往…...
从项目代码看 React:State 和 Props 的区别及应用场景实例讲解
在 React 中,state 和 props 是组件的两个重要概念,它们有不同的作用和应用场景。理解它们之间的区别对于开发 React 应用至关重要。 1. state 和 props 的区别 props (属性): props 是由父组件传递给子组件的数据或函数。props 是只读的&am…...
Vue 学习之旅:核心技术学习总结与实战案例分享(vue指令下+计算属性+侦听器)
Vue 学习之旅:核心技术学习总结与实战案例分享 文章目录 Vue 学习之旅:核心技术学习总结与实战案例分享一、指令补充(一)指令修饰符(二)v-bind 对样式操作的增强(三)v-model 应用于其…...
freertos的基础(二)内存管理:堆和栈
1. 堆(Heap) 定义 堆是 FreeRTOS 中用于动态内存分配的内存区域。FreeRTOS 提供了多种堆管理方案(如 heap_1、heap_2、heap_4 等),开发者可以根据需求选择合适的内存管理策略。 作用 用于动态分配内存,例…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
