人工智能安全-2-非平衡数据处理

news/2024/5/17 18:22:25

0 提纲

  • 现象与原因
  • 非平衡数据处理方法概览
  • 数据预处理层面
  • 特征层
  • 算法层面

1 现象与原因

非平衡数据分类问题:在网络信息安全问题中,诸如恶意软件检测、SQL注入、不良信息检测等许多问题都可以归结为机器学习分类问题。这类机器学习应用问题中,普遍存在非平衡数据的现象。

产生的原因:

  • 攻击者的理性特征使得攻击样本不会大规模出现;
  • 警惕性高的攻击者,会经常变换攻击方式避免被防御方检测出来。

非平衡数据对各种分类器的影响:

  • KNN
  • Bayes
  • 决策树
  • Logistic回归

当用于非平衡数据分类时,为了最大化整个分类系统的分类精度,必然会使得分类模型偏向于多数类,从而造成少数类的分类准确性低。
在这里插入图片描述

2 非平衡数据处理方法概览

在这里插入图片描述

2.1 数据预处理层面

保证样本分布不变的情况下,改变训练集中每个类的样本数量,降低非平衡程度。

  • 欠采样:减少多数类的样本数量;
  • 过采样:提升少数类的样本数量;
  • 混合采样:对多数类和少数类分别执行欠采样和过采样。

2.2 特征层面

虽然样本数量少,但可能在某些特征子空间中,能有效区分少数类样本和多数类样本。利用特征选择或特征提取来确定子空间的构成。
主要特征选择或特征提取有:

  • 信息增益;
  • 卡方统计;
  • 互信息;
  • 主成分分析;
  • 深度神经网络。

2.3 分类算法层面

虽然采样方法在一些数据集上取得了不错的效果,但欠采样容易剔除重要样本,过采样容易导致过学习,因此,采样方法调整非平衡数据的学习能力十分有限。
传统分类方法通常假设不同类别的样本分布均衡,并且错分代价相等,这种假设并不适合于非平衡数据的情况。因此,在分类模型与算法层面,改变假设前提,设计新的代价函数,提升对少数类样本的识别准确率。
改变代价函数就涉及到代价敏感学习,此外,单类学习和集成学习都可用来解决非平衡分类问题。

3 数据预处理层面

3.1 欠采样

欠抽样方法通过减少多数类样本来提高少数类的分类性能。
常见的欠采样方法有随机欠采样、启发式欠采样等。

  • 随机欠采样通过随机地去掉一些多数类样本来减小多数类的规模,缺点是会丢失多数类的一些重要信息,不能够充分利用已有的信息。
  • 启发式欠采样基本出发点是保留重要样本、有代表性的样本,而这些样本的选择是基于若干启发式规则。经典的欠采样方法是邻域清理(NCL,Neighborhood cleaning rule)和Tome links法,其中NCL包含ENN,典型的有以下若干种。

3.1.1 编辑最近邻规则Edited Nearest Neighbor (ENN)

对于多数类的样本,如果其大部分k近邻样本都跟它自己本身的类别不一样,就将他删除。
也可以从少数类的角度来处理:对于少数类样本,如果其大部分k近邻样本都是少数类,则将其多数类近邻删除。

3.1.2 浓缩最近邻规则Condensed Nearest Neighbor(CNN)

对点进行KNN分类,如果分类错误,则将该点作为少数类样本。在实际运用中,选择比较小的K。
在这里插入图片描述

3.1.3 近似缺失方法Near Miss(NM)

  • NearMiss-1:对于每个多数类样本,计算其与最近的三个少数类样本的平均距离,选择最小距离对应的多数类样本。
  • NearMiss-2:与NearMiss-1相反,计算与最远的三个少数类样本的平均距离,并选择最小距离对应的多数类样本。
  • NearMiss-3:对每个少数类样本,选择与之最接近的若干个多数类样本。

在这里插入图片描述
NearMiss-1针对数据分布的局部特征;
NearMiss-2针对数据分布的全局特征;
NearMiss-3倾向于在比较集中的少数类附近找到更多的多数类样本,而在离群的少数类附近找到更少的多数类样本。

3.1.4 Tomek Links方法

如果有两个不同类别的样本,它们的最近邻都是对方,也就是A的最近邻是B,B的最近邻是A,那么A,B就是Tomek link。
数学语言:两个不同类别的样本点 x i x_i xi x j x_j xj,它们之间的距离表示为 d ( x i , x j ) d(x_i,x_j) d(xi,xj),如果不存在第三个样本点 x l x_l xl使得 d ( x l , x i ) < d ( x i , x j ) d(x_l,x_i)<d(x_i,x_j) d(xl,xi)<d(xi,xj)或者 d ( x l , x j ) < d ( x i , x j ) d(x_l,x_j)<d(x_i,x_j) d(xl,xj)<d(xi,xj)成立,则称 ( x i , x j ) (x_i,x_j) (x


http://www.mrgr.cn/p/64258316

相关文章

Spring MVC拦截器和跨域请求

一、拦截器简介 SpringMVC的拦截器&#xff08;Interceptor&#xff09;也是AOP思想的一种实现方式。它与Servlet的过滤器&#xff08;Filter&#xff09;功能类似&#xff0c;主要用于拦截用户的请求并做相应的处理&#xff0c;通常应用在权限验证、记录请求信息的日志、判断用…

618技术揭秘 - 大促弹窗搭投实践 | 京东云技术团队

背景 618 大促来了&#xff0c;对于业务团队来说&#xff0c;最重要的事情莫过于各种大促营销。如会场、直播带货、频道内营销等等。而弹窗作为一个极其重要的强触达营销工具&#xff0c;通常用来渲染大促氛围、引流主会场、以及通过频道活动来提升频道复访等。因此&#xff0…

管理ceph集群

文章目录 ceph的常用命令查看集群状态查看pg的状态查看mon节点状态查看osd的通用命令查看osd的容量查看osd池写入文件测试查看池的属性查看文件映射过程 添加磁盘删除磁盘 ceph的常用命令 查看集群状态 ceph osd pool application enable pool-name rbd #将池启用rbd功能 ceph…

华为数通HCIA-网络模型

TCP 网络通信模式 作用&#xff1a;指导网络设备的通信&#xff1b; OSI七层模型&#xff1a; 7.应用层&#xff1a;由应用层协议&#xff08;http、FTP、Telnet.&#xff09;为应用程序产生对应的数据&#xff1b; 6.表示层&#xff1a;将应用层产生的数据转换成网络设备看…

实战:Docker+Jenkins+Gitee构建CICD流水线

文章目录 前言Jenkins部署创建Jenkins docker-compose配置maven源启动Jenkins容器安装插件Gitee ssh公匙配置与测试项目提交 Jenkins创建流水线写在最后 前言 持续集成和持续交付一直是当下流行的开发运维方式&#xff0c;CICD省去了大量的运维时间&#xff0c;也能够提高开发…

【Linux】关于Bad magic number in super-block 当尝试打开/dev/sda1 时找不到有效的文件系统超级块

每个区段与 superblock 的信息都可以使用 dumpe2fs 这个指令来查询的&#xff01; 不过可惜的是&#xff0c;我们的 CentOS 7 现在是以 xfs 为默认文件系统&#xff0c; 所以目前你的系统应该无法使用 dumpe2fs 去查询任何文件系统的。 因为目前两个版本系统的根目录使用的文…

redis基础总结(数据类型)

Redis十大数据类型 String String 是redis最基本数据类型,一个key对应一个value. String类型是二进制安全的,意思是Redis的string类型可以包含任何数据,比如jpg图片或者序列化的对象; String类型是最基本的数据类型,一个redis中字符串value最多是512M; String类型在redis底层…

力扣天天练--week3-LeetCode75

topic75-9-t443:压缩字符串 题目描述&#xff1a; 给你一个字符数组 chars &#xff0c;请使用下述算法压缩&#xff1a; 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 &#xff1a; 如果这一组长度为 1 &#xff0c;则将字符追加到 s 中。 否则&#xff0c;需…

企业知识文档管理+群晖nas安全云存储

企业知识管理系统&#xff0c;利用软件系统或其他工具的企业管理方法&#xff0c;利用软件系统或其他工具&#xff0c;对组织中大量的有价值的方案、策划、成果、经验等知识进行分类存储和管理&#xff0c;积累知识资产避免流失&#xff0c;促进知识的学习、共享、培训、再利用…

C++ ——STL容器【list】模拟实现

代码仓库&#xff1a; list模拟实现 list源码 数据结构——双向链表 文章目录 &#x1f347;1. 节点结构体&#x1f348;2. list成员&#x1f349;3. 迭代器模板&#x1f34a;4. 迭代器&#x1f34b;5. 插入删除操作&#x1f34c;5.1 insert & erase&#x1f34c;5.2 push_…

【C++】开源:跨平台轻量日志库easyloggingpp

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍跨平台轻量日志库easyloggingpp。 无专精则不能成&#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&am…

论文笔记--GloVe: Global Vectors for Word Representation

论文笔记--GloVe: Global Vectors for Word Representation 1. 文章简介2. 文章概括3 文章重点技术3.1 两种常用的单词向量训练方法3.2 GloVe3.3 模型的复杂度 4. 文章亮点5. 原文传送门6. References 1. 文章简介 标题&#xff1a;GloVe: Global Vectors for Word Representa…

<MySQL> Centos 7环境安装MySQL

Centos 7环境安装MySQL 1.卸载不要的环境 停止MySQL服务 systemctl stop mariadb.service systemctl stop mysqld禁止MySQL服务开机自启 systemctl disable mysqld卸载MySQL软件包 yum remove mysql-server mysql-client删除MySQL数据目录 rm -rf /var/lib/mysql清理MySQ…

安装了pyintaller后出现:‘pyinstaller‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

2023年7月31日&#xff0c;周一上午 我昨天晚上也遇到了这个问题&#xff0c;后来解决了 目录 出错原因解决方法怎么找到Scripts文件夹 出错原因 出现这个错误是因为你没给python的Scripts文件夹添加环境变量&#xff0c; Scripts存放着pip安装包时产生的可执行文件。 解决…

CentOS下 Docker、Docker Compose 的安装教程

Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何接口。 Docker Compose是用于定义…

如何启用路由器dhcp?快解析如何内网穿透?

一、什么是DHCP&#xff1f; 动态主机设置协议&#xff08;DHCP&#xff09;是一种使网络管理员能够集中管理和自动分配 IP 网络地址的通信协议。在网络中&#xff0c;每个联网设备都需要分配独有的 IP 地址。并当有新计算机移到网络中的其它位置时&#xff0c;能自动收到新的…

百度文心一言接入教程-Java版

原文链接 前言 前段时间由于种种原因我的AI BOT网站停运了数天&#xff0c;后来申请了百度的文心一言和阿里的通义千问开放接口&#xff0c;文心一言的接口很快就通过了&#xff0c;但是文心一言至今杳无音讯。文心一言通过审之后&#xff0c;很快将AI BOT的AI能力接入了文心…

从头学前端-CSS3提升-续

CSS3 2D转换 关键字&#xff1a;transform 移动&#xff1a;沿着x,y轴移动&#xff0c;不会影响盒子的位置&#xff0c;对行内元素没有效果 div {width: 100px;height: 100px;background-color: rebeccapurple;transform: translate(100px,100px);transform: translateX(100p…

TSINGSEE青犀视频安防监控视频平台EasyCVR新增密码复杂度提示

智能视频监控平台TSINGSEE青犀视频EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTSP、RTM…