论文笔记:基于概念漂移的在线类非平衡学习系统研究
0 摘要
论文:A Systematic Study of Online Class Imbalance Learning With Concept Drift
发表:2018年发表在TNNLS上
源代码:?
作为一个新兴的研究课题,在线类非平衡学习往往结合了类非平衡和概念漂移的挑战。它处理具有非常倾斜的类分布的数据流,其中可能发生概念漂移。它最近受到越来越多的研究关注;然而,很少有研究解决类失衡和观念漂移并存的综合问题。作为第一个系统研究类不平衡数据流中处理概念漂移的研究,本文首先对该领域的研究进展进行了全面回顾,包括当前的研究重点和开放的挑战。然后,进行了深入的实验研究,目的是了解如何最好地克服类不平衡的在线学习中的概念漂移。
1 引言
随着机器学习算法在现实世界中的广泛应用,类失衡和概念漂移已经成为重要的学习问题。风险管理[1]、异常检测[2]、软件工程[3]和社交媒体挖掘[4]等各个领域的应用都受到类不平衡和概念漂移的影响。当数据类别的代表性不均匀时,即至少有一个类别与其他类别相比是少数类别[5]。它会导致对多数类的学习偏差和泛化不良。概念漂移是问题底层分布的变化,特别是在从数据流中学习时[6],这是一个重要的问题。它要求学习者能够适应动态变化。
类不平衡和概念漂移会严重阻碍预测性能,当它们同时发生时问题变得尤为具有挑战性。这一挑战源于这样一个事实,即一个问题可能影响对另一个问题的治疗。例如,传统的基于分类误差的漂移检测算法可能对不平衡程度敏感而变得不那么有效,而类不平衡技术需要适应不平衡率的变化;否则,目前受到优待的类可能不是正确的少数类。
虽然已有论文分别对分布不平衡的数据流和概念漂移的数据流进行了研究,但对类不平衡和概念漂移同时存在的情况的研究却很少。Hoens等人[7]首次概述了组合问题,但只介绍了一些基于块的学习技术。本文旨在通过实验研究对类不平衡数据流中概念漂移的处理进行更系统的研究。我们专注于在线(即一对一)学习,因为它比基于块的学习更困难,考虑到一次只有一个实例可用。此外,在线学习方法可以应用于数据以块形式到达的问题,但是基于块的学习方法不能应用于存在高速和内存限制的在线问题。在线学习方法对于产生高速数据流的应用特别有用,例如机器人系统和传感器网络[3]。
本文首先对该领域的研究进展进行了综述,包括问题定义、问题和方法分类、性能评估以及最新的方法。它揭示了新的挑战和研究差距。大多数现有的工作集中在后验概率中的概念漂移[即真实概念漂移[8]和 P ( y ∣ x ) P(y|x) P(y∣x)的变化]。其他类型的概念漂移所面临的挑战尚未得到充分讨论和处理。特别是,先验概率 P ( y ) P(y) P(y)的变化与类不平衡密切相关,但大多数现有工作都忽略了这一点。大多数提出的概念漂移检测方法都是针对平衡数据流设计和测试的。很少有方法旨在同时解决类不平衡和概念漂移。在有限的解决方案中,仍不清楚哪种方法更好,何时更好。应用类不平衡技术(例如,重采样方法)是否以及如何影响概念漂移检测和在线预测也是未知的。
为了填补研究空白,我们通过关注三个研究问题,提供了一个关于如何最好地克服类不平衡在线学习中的概念漂移的实验见解。
-
- 当数据流不平衡时,检测每种类型的概念漂移的挑战是什么?
-
- 在针对在线类不平衡学习的概念漂移方法中,哪一种方法对哪种类型的概念漂移效果更好?
-
- 应用类不平衡技术(例如,重采样方法)是否有助于概念漂移检测和在线预测?
在人工数据流以及真实数据集中三种基本的概念漂移类型(即先验概率 P ( y ) P(y) P(y)、类条件概率密度函数(pdf) P ( x ∣ y ) P(x|y) P(x∣y)和后验概率 P ( y ∣ x ) P(y|x) P(y∣x)的变化)下,对在线类失衡漂移检测方法(DDM-OCI)[9]、线性四率(LFR)[10]、ROC曲线下的先验面积Page-Hinkley (PAUC-PH)[11]、[12]、OOB[13]、RLSACP[14]和ESOSELM[15]等六种最新方法进行了比较和深入分析。据我们所知,它们是迄今为止为数不多的明确设计用于解决类不平衡和概念漂移的在线学习问题的方法。
最后,在综述和实验结果的基础上,我们提出了开发一种有效的从概念漂移的不平衡数据流中学习的算法需要考虑的几个重要问题。我们强调研究类失衡和观念漂移的相互影响的重要性。
本文的主要贡献包括:
-
- 首次全面研究了类不平衡数据流中的概念漂移检测;
-
- 将数据问题分为不同类型的概念漂移和类失衡,并进行了说明应用;
-
- 对各类现有方法进行系统比较分析;
-
- 研究了每种方法的优缺点;
-
- 研究结果为未来学习任务选择合适的技术和开发更好的算法提供指导;
-
- 这也是首次探讨类不平衡技术在概念漂移检测中的作用,揭示了是否以及如何同时解决类不平衡和概念漂移。
本文的其余部分组织如下。第二部分阐述了学习问题,包括一个学习框架和详细的问题描述,以及对类失衡和概念漂移的单独介绍。第三节回顾了类失衡和概念漂移的综合问题,包括示例应用和现有解决方案。第四部分进行了实验研究,旨在找到三个研究问题的答案。第五节得出结论并指出未来可能的方向。
相关文章:
论文笔记:基于概念漂移的在线类非平衡学习系统研究
0 摘要 论文:A Systematic Study of Online Class Imbalance Learning With Concept Drift 发表:2018年发表在TNNLS上 源代码:? 作为一个新兴的研究课题,在线类非平衡学习往往结合了类非平衡和概念漂移的挑战。它处理…...
ubuntu22.04下rv1109 rootfs编译问题处理
ubuntu22.04下rv1109 rootfs编译问题处理 buildroot编译出错记录问题一:c-stack.c的SIGSTKSZ错误解决办法问题二:libfakeroot.c的_STAT_VER报错解决办法问题三:fwriter_buffer重复定义解决办法问题四: qfloat16.h报错解决办法问题…...
Spring Boot Dubbo Zookeeper
文章目录 Spring Boot Dubbo Zookeeper简介DubboCommonProviderConsumer Zookeeper Spring Boot Dubbo Zookeeper 简介 Dubbo Common 公共依赖 <!-- Spring Boot Starter --> <dependency><groupId>org.springframework.boot</groupId><artifac…...

线程池的概念及实现原理
本篇是对前面线程池具体实现过程的补充,实现过程可参考 线程池的实现全过程v1.0版本(手把手创建,看完必掌握!!!)_竹烟淮雨的博客-CSDN博客 线程池的实现v2.0(可伸缩线程池…...

iOS App逆向之:iOS应用砸壳技术
在iOS逆向,有一项关键的技术叫做“iOS砸壳”(iOS App Decryption)。自iOS 5版本以来,苹果引入了应用程序加密机制,使得大部分应用都需要进行砸壳操作才能进行逆向分析。因此作为开发者、逆向工程师和安全研究人员都需要…...
【高性能计算】opencl安装及相关概念
目录 从异构计算讲起opencl安装的相关说明查看linux系统cpu及gpu型号方法安装opencl helloword程序运行 从异构计算讲起 异构计算是一种利用多种不同类型的计算资源来协同解决计算问题的方法。它的核心思想是将不同特性和能力的计算设备(例如CPU、GPU、FPGA等&…...

盛最多水的容器——力扣11
int maxArea(vector<int>& height) {int l=0, r=height.size()...

2023年高教社杯数学建模思路 - 复盘:校园消费行为分析
文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…...

Flink_state 的优化与 remote_state 的探索
摘要:本文整理自 bilibili 资深开发工程师张杨,在 Flink Forward Asia 2022 核心技术专场的分享。本篇内容主要分为四个部分: 相关背景state 压缩优化Remote state 探索未来规划 点击查看原文视频 & 演讲PPT 一、相关背景 1.1 业务概况 从…...

Kdab QML (part9)自由缩放时钟
文章目录 Kdab QML (part9)自由缩放时钟代码详细解释运行截图 Kdab QML (part9)自由缩放时钟 代码 import QtQuick 2.15 import QtQuick.Window 2.15Window {id: rootwidth: 500height: 500visible: truecolor: "lightgrey"title: qsTr("Hello World")It…...

Java网络编程(二)经典案例[粘包拆包]
粘包拆包 概述 TCP是面向流的协议,TCP在网络上传输的数据就是一连串的数据,完全没有分界线。 TCP协议的底层并不了解上层业务的具体定义,它会根据TCP缓冲区的实际情况进行包的划分。 在业务层面认为一个完整的包可能会被TCP拆分成多个小包进行发送,也可能把多个小的包封装成一…...
无分布式锁的ID生成
起因 TEAM GARDEN 本来ID是自增的,后面发现自增ID比较麻烦,有问题: 不可控的间隔: 如果你在插入数据时,中途删除了一些行,导致自增的ID出现间隔,那么新插入的行会填充这些间隔,可能…...

X2000 Linux UVC
参考文档:\doc\开发使用说明\USB使用说明文档\设备\USB_UVC\xburst2\USB_UVC.pdf 一、内核添加USB UVC功能 1、确定所用dts文件 进入到/tools/iconfigtool/IConfigToolApp/路径下,执行./IConfigTool 选择config文件,查看kernel默认配置 配…...

HCIP-OpenStack组件之neutron
neutron(ovs、ovn) OVS OVS(Open vSwitch)是虚拟交换机,遵循SDN(Software Defined Network,软件定义网络)架构来管理的。 OVS介绍参考:https://mp.weixin.qq.com/s?__bizMzAwMDQyOTcwOA&mid2247485088&idx1…...
数学建模-常见算法(3)
KMP算法(Knuth-Morris-Pratt算法) KMP算法是一种用于字符串匹配的算法,它的时间复杂度为O(mn)。该算法的核心思想是在匹配失败时,利用已经匹配的信息,减少下一次匹配的起始位置。 def kmp(text, pattern): n len(…...

缓存的设计方式
问题情况: 当有大量的请求到内部系统时,若每一个请求都需要我们操作数据库,例如查询操作,那么对于那种数据基本不怎么变动的数据来说,每一次都去数据库里面查询,是很消耗我们的性能 尤其是对于在海量数据…...

CH02_重构的原则(什么是重构、为什么重构、何时重构)
什么是重构 重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 重构(动词):使用一系列重构手法࿰…...
26. 删除有序数组中的重复项(简单系列)
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做…...

【linux】基本指令(二)【man、echo、cat、cp】
目录 一、man指令二、echo指令三、cat指令二、cp指令一些常见快捷键 一、man指令 Linux的命令有很多参数,我们不可能全记住,可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: man [选项] 命令 常用选项 1.-k 根据关键字搜索联机帮助 2…...

【视频】Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析|数据分享...
全文下载链接:http://tecdat.cn/?p23544 在本文中,长短期记忆网络——通常称为“LSTM”——是一种特殊的RNN递归神经网络,能够学习长期依赖关系(点击文末“阅读原文”获取完整代码数据)。 本文使用降雨量数据…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...