论文笔记:基于概念漂移的在线类非平衡学习系统研究
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递归神经网络,能够学习长期依赖关系(点击文末“阅读原文”获取完整代码数据)。 本文使用降雨量数据…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
aurora与pcie的数据高速传输
设备:zynq7100; 开发环境:window; vivado版本:2021.1; 引言 之前在前面两章已经介绍了aurora读写DDR,xdma读写ddr实验。这次我们做一个大工程,pc通过pcie传输给fpga,fpga再通过aur…...
运行vue项目报错 errors and 0 warnings potentially fixable with the `--fix` option.
报错 找到package.json文件 找到这个修改成 "lint": "eslint --fix --ext .js,.vue src" 为elsint有配置结尾换行符,最后运行:npm run lint --fix...
