基于重要抽样的主动学习不平衡分类方法ALIS
这篇论文讨论了数据分布不平衡对分类器性能造成的影响,并提出了一种新的有效解决方案 - 主动学习框架ALIS。
1、数据分布不平衡会影响分类器的学习性能。现有的方法主要集中在过采样少数类或欠采样多数类,但往往只采用单一的采样技术,无法有效解决严重的类别不平衡问题。
2、论文提出了ALIS框架,它通过交替进行重要多数类实例选择和有价值少数类实例生成,使得两种采样策略相互影响和改善。
3、ALIS可以在保持采样平衡的同时,选择出更有价值的多数类实例和生成更有代表性的少数类实例,从而大幅提高分类器的性能。
传统方法缺点:
基于采样的技术一直是通过增加少数类实例(过采样)或减少多数类实例(欠采样)来缓解不平衡问题的一种直接而简单的方法。
基于混合采样同时利用欠采样和过采样的联合方法。虽然混合抽样方法同时利用了这两种抽样策略,但它们仍然或多或少地存在着这两种抽样策略分开执行的缺点。
集成学习和代价敏感学习也被用来提高非平衡数据分类器的性能。但集成方法的问题是如何生成准确的集成分量并设计适当的融合函数来组合弱分类器。同样,即使借助领域知识,手动调整成本敏感型学习方法的成本参数也是昂贵的。
一、ALIS算法主要思想
对于主动学习的每次迭代,都做两件事:①、挑选重要的多数类实例;②、生成信息丰富的少数类实例。
基于此,主动学习能够在每个学习阶段产生均衡的训练集!
1.1、挑选重要的多数类实例(欠采样过程)
这个新的主动选择准则捕捉了选定多数类实例的以下两个统计特征:
(1) 一阶统计信息:选定多数类实例到当前决策边界的平均距离。这反映了这些实例与边界的相关性程度。
(2) 二阶统计信息:选定多数类实例到当前决策边界的距离方差。这反映了这些实例的多样性程度。
当这些多数类实例与决策边界的距离差异较小时,意味着这些实例分布比较集中,缺乏多样性。距离方差就会较小。
相反,如果这些多数类实例与决策边界的距离差异较大,意味着它们分布较为分散,体现了较高的多样性。距离方差就会较大。
1.2、生成信息丰富的少数类实例(过采样过程)
与之前简单的过采样方法相比,ALIS通过选择重要的边界实例、计算它们的重要性权重,并采用核密度估计来生成新样本,可以生成更加贴近决策边界、分布更加多样化的少数类合成实例。
二、ALIS基本框架
Pactive 表示主动学习少数类样本个数,Nactive表示主动学习多数类样本个数,其中数字上标j为主动学习的第j次迭代过程
j = 0时,代表初始值,即初始时的训练集由两部分组成:①所有少数类样本(有P个);②随机挑选P个多数类样本(随机欠采样过程)
之后的第j次迭代,进行ALIS算法的重要过采样(生成Pj active个少数类样本)和重要欠采样(从剩余的多数类实例池 Nj-1 pool 中选择重要的多数类实例 Nj active)
当训练集在连续两轮的预测性能差异小于阈值时,主动学习过程终止。最终分类器由原始少数类实例 P、初始随机选择的多数类实例 N0 active、过采样的少数类实例 Pactive 和欠采样的多数类实例 Nactive 组成。
1、重要欠采样
ALIS尝试选择边界周围的重要多数实例。为了实现这一点,它考虑了这些实例的结构信息,例如它们的第一和第二统计信息。
具体步骤:
将距离当前边界最近的m个实例(实验中m取3)作为初始候选集Nj0_active
在每次迭代中,从池中选择最接近边界的t个额外实例(遵循主动学习策略,在实验中将t设置为2),并将其添加到Njk active中。
对于每一次迭代都要计算其边缘分布率ratio j k的值,可以由如下公式计算。其值越小,表示距离平均值小,距离方差大。前者有利于不确定实例的选择,因为它们靠近边界。后者有助于选择不同的实例,因为它们是彼此分散的
因此,如果ratiojk+1 > ratiojk,则选择信息负点的过程结束,其中Nj_active = Njk_active。
2、重要过采样
①识别有价值的边界少数类实例(采样种子):
那些少数类实例的k个最近邻里包含多数类实例,被认为处于边界区域。这些边界少数类实例被选为有价值的集合,记作Pinfo。
②给采样种子分配重要性权重:
对于Pinfo中的每个实例xi,根据它的k个最近邻的分布,给它分配一个权重值ξi。权重ξi计算为xi的k个最近邻中多数类实例的比例。
③使用核密度估计生成新的少数类实例:
使用一个核密度函数Gi(x)来捕捉有价值少数类实例(xi ∈ Pinfo)的分布。核密度函数是一个以xi为中心、带宽为hi的高斯分布。整体概率密度函数p(x)被估计为各个高斯核函数的加权和,权重为ξi。
④通过从估计的概率密度函数p(x)中采样,可以生成新的少数类实例。
相关文章:

基于重要抽样的主动学习不平衡分类方法ALIS
这篇论文讨论了数据分布不平衡对分类器性能造成的影响,并提出了一种新的有效解决方案 - 主动学习框架ALIS。 1、数据分布不平衡会影响分类器的学习性能。现有的方法主要集中在过采样少数类或欠采样多数类,但往往只采用单一的采样技术,无法有效解决严重的类别不平衡问题。 2、论…...

Python爬虫(基本流程)
1. 确定目标和范围 明确需求:确定你需要从哪些网站抓取哪些数据。合法性:检查目标网站的robots.txt文件,了解哪些内容可以被抓取。数据范围:确定爬取数据的起始和结束点,比如时间范围、页面数量等。 2. 选择合适的工…...

primeflex教学笔记20240720, FastAPI+Vue3+PrimeVue前后端分离开发
练习 先实现基本的页面结构: 代码如下: <template><div class"flex p-3 bg-gray-100 gap-3"><div class"w-20rem h-12rem bg-indigo-200 flex justify-content-center align-items-center text-white text-5xl">…...

移动设备安全革命:应对威胁与解决方案
移动设备已成为我们日常工作和家庭生活中不可或缺的工具,然而,对于它们安全性的关注和投资仍然远远不够。本文深入分析了移动设备安全的发展轨迹、目前面临的威胁态势,以及业界对于这些安全漏洞响应迟缓的深层原因。文中还探讨了人们在心理层…...

【C语言】 链表实现学生管理系统(堆区开辟空间)
总体思路都能写出来,问题是感觉稍微比之前的麻烦一些,在刚开始创建结构体的时候,并没有去按照链表的思路去写,导致写成了顺序表,后面就一直纠结空间怎么开辟。 链表是由一个头节点和其它申请出来的小节点连起来的&…...

STM32实战篇:按键(外部输入信号)触发中断
功能要求 将两个按键分别与引脚PA0、PA1相连接,通过按键按下,能够触发中断响应程序(不需明确功能)。 代码流程如下: 实现代码 #include "stm32f10x.h" // Device headerint main() {//开…...

Android SurfaceView 组件介绍,挖洞原理详解
文章目录 组件介绍基本概念关键特性使用场景 SurfaceHolder介绍主要功能使用示例 SurfaceView 挖洞原理工作机制 使用SurfaceView展示图片示例创建一个自定义的 SurfaceView类在 Activity 中使用 ImageSurfaceView注意事项效果展示 组件介绍 在 Android 开发中,Sur…...
day2加餐 Go 接口型函数的使用场景
文章目录 问题价值使用场景其他语言类似特性 问题 在 动手写分布式缓存 - GeeCache day2 单机并发缓存 这篇文章中,有一个接口型函数的实现: // A Getter loads data for a key. type Getter interface {Get(key string) ([]byte, error) }// A Getter…...

摄像头 RN6752v1 视频采集卡
摄像头 AHD倒车摄像头比较好,AHD英文全名Analog High Definition,即模拟高清,拥有比较好的分辨率与画面质感。 RN6752v1 GQW AKKY2 usb 采集卡 FHD(1080p)、HD(720p)和D1(480i&am…...

记录vivado自带IP iBert眼图近端回环
记录利用vivado自带IP核工具测试信号质量 ibert是测试眼图的工具,在使用的时候并不用改太多的内容,只需要注意参考时钟及所需要的引脚即可。由于条件的限制,并没有使用光纤和电缆进行连接进行外部回环,仅使用内部回环做测试&…...

js | Core
http://dmitrysoshnikov.com/ecmascript/javascript-the-core/ Object 是什么? 属性[[prototype]]对象。 例如,下面的,son是对象,foo不是对象。打印出来的son,能看到有一个prototype 对象。 prototype vs _proto_ v…...
Log4J reminder
Java JNDI and Log injection https://docs.oracle.com/javase/jndi/tutorial/ See also https://telegra.ph/Log4J-Vulnerability-Explained-07-21...

Unity XR Interaction Toolkit(VR、AR交互工具包)记录安装到开发的流程,以及遇到的常见问题(一)!
提示:文章有错误的地方,还望诸位大神不吝指教! 文章目录 前言一、XR Interaction Toolkit是什么?二、跨平台交互三、 AR 功能四、XR Interaction Toolkit的特点五、XR Interaction Toolkit 示例总结 前言 随着VR行业的发展&#…...

MongoDB文档整理
过往mongodb文档: https://blog.csdn.net/qq_46921028/article/details/123361633https://blog.csdn.net/qq_46921028/article/details/131136935https://blog.csdn.net/qq_46921028/article/details/139247847 1. MongoDB前瞻 1、MongoDB概述: MongoDB是…...

【AI学习】关于Scaling Law的相关学习
一、苦涩的教训 首先,学习一段重要话语: The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin. 从70年的人工智能研究中…...
学习小记-Kafka相较于其他MQ有啥优势?
Kafka 相比于 RocketMQ 有以下几个优势: 1. 高吞吐量和低延迟: Kafka 以其出色的 I/O 性能和分布式架构设计,能够实现极高的吞吐量,每秒数百万的消息处理能力,适合大规模数据流处理。同时,Kafka 设计为…...

技能 | postman接口测试工具安装及使用
哈喽小伙伴们大家好!今天来给大家分享一款轻量级,高效好用的接口测试工具-postman. Postman是一个流行的API开发工具,主要用于测试、开发和文档化API。以下是关于Postman的介绍及其主要使用场景: Postman介绍: 1. 功能丰富的API客户端&#…...

移动UI:任务中心的作用,该如何设计更合理?
任务中心是移动应用中用于展示和管理用户待办任务、提醒事项、用户福利、打卡签到等内容的功能模块。合理设计任务中心可以提升用户体验和工作效率。 以下是一些设计任务中心的合理建议: 1. 易于查看和管理: 任务中心的设计应该使用户能够快速、直观地…...

pytorch学习(十)优化函数
优化函数主要有,SGD, Adam,RMSProp这三种,并且有lr学习率,momentum动量,betas等参数需要设置。 通过这篇文章,可以学到pytorch中的优化函数的使用。 1.代码 代码参考《python深度学习-基于pytorch》&…...
Ubuntu22.04:安装Samba
1.安装Samba服务 $ sudo apt install samba samba-common 2.创建共享目录 $ mkdir /home/xxx/samba $ chmod 777 /home/xxx/samba 3.将用户加入到Samba服务中 $ sudo smbpasswd -a xxx 设置用户xxx访问Samba的密码 4.配置Samba服务 $ sudo vi /etc/samba/smb.conf 在最后加入 …...
【根据当天日期输出明天的日期(需对闰年做判定)。】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:…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...