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

这篇具有很好参考价值的文章主要介绍了人工智能安全-2-非平衡数据处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 提纲

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

1 现象与原因

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

产生的原因:

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

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

  • k k kNN
  • Bayes
  • 决策树
  • Logistic回归

当用于非平衡数据分类时,为了最大化整个分类系统的分类精度,必然会使得分类模型偏向于多数类,从而造成少数类的分类准确性低。
人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全

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

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

2.1 数据预处理层面

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

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

2.2 特征层面

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

  • 信息增益:基于信息熵来计算,它表示信息消除不确定性的程度,可以通过信息增益的大小为变量排序进行特征选择;
  • 卡方统计:留取 k k k个卡方值最大的特征, k k k的取值由人工决定;
  • 互信息:考虑每个特征和类别之间的互信息 I ( f j , C ) I(f_j,C) I(fj,C),根据互信息的大小对特征 排序,然后选择最前面的 k k k个特征作为特征子集;
  • 主成分分析:PCA的思想是将 n n n维特征映射到 k k k维上( k < n k<n k<n),这 k k k维是全新的正交特征。这 k k k维特征称为主元,是重新构造出来的 k k k维特征,而不是简单地从 n n n维特征中去除其余 n − k n-k nk维特征;
  • 深度神经网络:也是一种特征提取方法,当少数类样本比较多的时候,也可以考虑使用。

2.3 分类算法层面

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

3 数据预处理层面

3.1 欠采样

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

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

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

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

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

在训练集中随机选择一个样本 x x x,找到距离这个样本 x x x 最近的同类样本 p p p 和非同类样本 q q q,然后计算 x x x p p p 的距离和 x x x q q q 的距离,如果符合:
∥ x − q ∥ − ∥ x − p ∥ > 0 \|x-q\|-\|x-p\|>0 xqxp>0
那么认为这个样本 x x x是我们所需要的用于训练模型的样本。如果不符合上式,则将这样的样本剔除掉。
人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全

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

NearMiss 作为 随机欠采样 的改进,它主要为了缓解随机欠采样中的信息丢失问题,通过启发式的规则从多数类样本中选择具有代表性的样本进行训练,利用距离远近剔除多数类样本的一类方法,主要有以下三种:

  • NearMiss-1:对于每个多数类样本,计算与每个少数类样本的距离,选择最近的 k k k 个少数类样本并计算这 k k k 个少数类样本的平均距离,保留平均距离最小的多数类样本。

如下图, “ + ”代表多数类,“ - ”代表少数类,我们取 k = 3 k = 3 k=3 ,计算多数类中的两个样本的距离。通过计算发现,绿线的距离比红线的距离小,也就是说绿线对应的样本到 最近的 3 个少数类样本 的距离比红线对应的样本小,因此我们选择绿线对应的多数类样本。
人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全

  • NearMiss-2 :对于每个多数类样本,计算与每个少数类样本的距离,选择最远的 k k k 个少数类样本并计算这 k k k 个少数类样本的平均距离,保留平均距离最小的多数类样本。

同样,我们取 k = 3 k=3 k=3 ,计算多数类中的两个样本的距离。通过计算发现,绿线的距离比红线的距离小,即绿线对应的样本到 最远的 3 个少数类样本 的距离比红线对应的样本小,因此我们选择绿线对应的多数类样本。
人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全

  • NearMiss-3:一个两段式的算法。 首先,对于每一个少数类样本, 保留距离最近的 m m m 个多数类样本;接着对于保留的多数类样本,计算与每个少数类样本的距离,选择最近的 k k k 个少数类样本并计算这 k k k 个少数类样本的平均距离,保留平均距离最大的多数类样本。

如下图,其中我们取 m = k = 3 m=k=3 m=k=3 ,首先计算得到保留的多数类样本( Short-listed samples ,绿圈),然后在这些样本中,计算与每个少数类样本的距离,选择最近的 3 个少数类样本并计算这 3 个少数类样本的平均距离,保留平均距离最大的多数类样本。
人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全
通过上述介绍可以发现:

  • NearMiss-1 与 NearMiss-2 方法仅一字之差,但是造成的结果却大不相同;
  • NearMiss-1 使用的是最近的 k k k 个少数类样本的平均距离,即根据局部的样本进行选择;
  • 而 NearMiss-2 使用的则是最远的 k k k 个少数类样本的平均距离,所使用的样本则是整体的,全局的;
  • 由于 NearMiss-1 使用的只是局部样本的信息,容易受到噪声的影响。
  • 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) (xi,xj)为一个Tomek link。
人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全
Tomek Link Removal 处理方法:把所有Tomek link都删除掉,即对于Tomek link的两个样本,如果有一个属于多数类样本,就将该多数类样本删除掉。

3.2 过采样

3.2.1 SMOTE

该算法只是简单在两个近邻之间进行插值采样。

人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全
可以看到图中分布着两种样本点,五边形表示少数类样本,选择五边形这一类样本进行扩充:

  • 随机选择一个五边形样本点 x i x_i xi为中心;
  • 搜索离它距离最近的 k k k个同类样本点(也就是五边形样本点);
  • 随机选择一个被搜索到的样本点 x j x_j xj,用样本点 x i x_i xi x j x_j xj生成一个新的样本;
  • 通过两个样本点利用线性代数的知识就可以生成一个新的样本:
    x n e w = x i + λ ( x j − x i ) , λ ∈ [ 0 , 1 ] 是一个随机数 . x_{new} = x_i + \lambda (x_j - x_i), \lambda \in [0,1]是一个随机数. xnew=xi+λ(xjxi),λ[0,1]是一个随机数.

优点:简单
缺点:

  • 如果选取的少数类样本周围都是少数类样本,则新合成的样本不会提供太多有用信息。就像SVM中远离边界的点对决策边界影响不大;
  • 如果选取的少数类样本周围都是多数类样本,这类的样本可能是噪声,则新合成的样本会与周围的多数类样本产生大部分重叠,导致分类困难。

3.2.2 Borderline-SMOTE1

由于原始SMOTE算法的对所有少数类样本都是一视同仁的,我们希望新合成的少数类样本能处于两个类别的边界附近,因为在实际建模过程中那些处于边界位置的样本更容易被错分,因此利用边界位置的样本信息产生新样本可以给模型带来更大的体征,能提供足够的信息用以分类,即Borderline SMOTE算法做的事情。
这个算法会先将所有的少数类样本分成三类,如图所示:
人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全

  • “noise”:所有的 k k k近邻个样本都属于多数类,可认为是噪声不能生成合成样本;
  • “danger”:超过一半的 k k k近邻样本属于多数类;
  • “safe”:超过一半的 k k k近邻样本属于少数类。

Borderline-SMOTE1算法只会从处于danger状态的样本中随机选择,然后用SMOTE算法产生新的样本。处于"danger"状态的样本代表靠近"边界"附近的少数类样本往往更容易被误分类。因而Border-line SMOTE只对那些靠近"边界"的少数类样本进行人工合成样本,而SMOTE则对所有少数类样本一视同仁。

3.2.3 Borderline-SMOTE2

少数类样本集用 S S S表示,多数类样本集用 L L L表示,整个数据集用 T T T表示。
在DANGER数据集中的点不仅从 S S S集中求最近邻并生成新的少数类点,同时也在 L L L数据集中求最近邻,并生成新的少数类点。这会使得少数类的点更加接近其真实值。

对于danger中的每个样本 p p p:

  • (1) 在 S S S L L L中分别得到 k k k个最近邻样本 S k S_k Sk L k L_k Lk
  • (2) 在 S k S_k Sk选出 α \alpha α比例的样本点和 p p p作随机的线性插值产生新的少数类样本;
  • (3) 在 L k L_k Lk选出 1 − α 1 - \alpha 1α比例的样本点和 p p p作随机的线性插值产生新的少数类样本。

3.3 混合采样

将过采样和欠采样技术结合起来同时进行,即组合重采样。基本思想是增加样本集中少数类样本的个数,同时减少多数类样本的个数,以此来降低不平衡度。

3.3.1 SMOTE + Tomek Link Removal

首先,利用SMOTE方法生成新的少数类样本,得到扩充后的数据集 T T T。然后剔除 T T T中的Tomek links对。
为什么需要这两者的组合呢?
避免SMOTE导致原本属于多数类样本的空间被少数类“入侵”(invade),由Tomek links去除噪声点或者边界点。
人工智能安全-2-非平衡数据处理,人工智能安全,人工智能,安全

3.3.2 SMOTE + ENN

和SMOTE+Tomek links方法的思路相似,包含两个步骤:

    1. 利用SMOTE方法生成新的少数类样本,得到扩充后的数据集 T T T
    1. T T T中的每一个样本使用 k k kNN(一般 k k k取3)方法预测,若预测结果和实际类别标签不符,则剔除该样本。

4 特征层

特征层解决不平衡数据分类的思路就是选择最合适的特征表示空间,再进行分类。
“最合适”是指提高少数类及整体的分类正确性。把数据样本投影到这个“最合适”的子空间中,多数类可能聚集在一起或重叠在一起,那么就有利于减小数据的非平衡性。
根据机器学习的特征理论,在特征空间的构造方面,存在两大类方法:文章来源地址https://www.toymoban.com/news/detail-628756.html

  • 特征选择:监督方法(信息增益、互信息),无监督方法(特征数);
  • 特征提取:主成分分析,深度神经网络。

到了这里,关于人工智能安全-2-非平衡数据处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能中噪声数据的产生与处理方法详解

    噪声是影响机器学习算法有效性的重要因素之一,由于实际数据集存在采集误差、主观标注以及被恶意投毒等许多因素,使得所构造的数据集中难免存在噪声 在机器学习训练集中,存在两种噪声 属性噪声 样本中某个属性的值存在噪声 标签噪声 样本归属类别 关于噪声分布的

    2024年02月04日
    浏览(30)
  • 人工智能:数据分析之数据预处理、分析模型与可视化

    在人工智能和数据科学领域,数据分析是一种核心过程,它帮助我们从大量的数据中提取有价值的信息。数据分析的质量和结果直接影响到决策的效率和准确性。在这篇博客中,我们将详细探讨数据分析的关键步骤,包括数据预处理、分析模型和可视化,并通过实际应用案例

    2024年03月10日
    浏览(55)
  • Java在物联网领域的应用非常广泛,涵盖了设备连接、数据处理、应用程序开发、安全性、嵌入式系统开发、消息队列和流处理、机器学习和人工智能以及跨平台和多语言集成等方面

    Java作为一种通用编程语言,在物联网(IoT)领域的应用也非常广泛。以下是一些Java在物联网中的典型应用: 开发物联网应用程序 :Java是一种高级编程语言,具有丰富的库和工具,使得开发物联网应用程序变得容易。Java可以用于开发各种物联网应用程序,如智能家居、智能

    2024年02月03日
    浏览(52)
  • 数据预处理与模型评估【机器学习、人工智能、实际事例】

    在机器学习领域,数据预处理和模型评估是两个至关重要的步骤。它们确保我们构建的机器学习模型能够从数据中有效地学习并做出准确的预测。本文将详细介绍数据预处理和模型评估的概念,并通过现实中的例子来阐述它们之间的密切关系。 什么是数据预处理? 数据预处

    2024年02月07日
    浏览(44)
  • 人工智能与大数据面试指南——自然语言处理(NLP)

    分类目录:《人工智能与大数据面试指南》总目录 《人工智能与大数据面试指南》系列下的内容会 持续更新 ,有需要的读者可以 收藏 文章,以及时获取文章的最新内容。 自然语言处理(NLP)领域有哪些常见任务? 基础任务 中文分词:将一串连续的字符构成的句子分割成

    2024年02月11日
    浏览(37)
  • AI人工智能预处理数据的方法和技术有哪些?

    在人工智能(Artificial Intelligence,简称AI)领域中,数据预处理是非常重要的一环。它是在将数据输入到模型之前对数据进行处理和清洗的过程。数据预处理可以提高模型的准确性、可靠性和可解释性。 本文将详细介绍AI人工智能预处理数据的方法和技术。 数据清洗是数据预

    2024年02月14日
    浏览(36)
  • 数据预处理的人工智能与深度学习:如何提高模型性能

    数据预处理是人工智能(AI)和深度学习(DL)领域中的一个关键环节,它涉及到数据清洗、数据转换、数据归一化、数据增强等多种操作,以提高模型性能。在过去的几年里,随着数据规模的增加和复杂性的提高,数据预处理的重要性得到了广泛认识。本文将从以下几个方面进行

    2024年02月19日
    浏览(54)
  • 构建高性能云原生大数据处理平台:融合人工智能优化数据分析流程

    🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:大数据系列 ✨文章内容:云原生大数据 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 在云计算环境中构建高性能的云原生大数据处理平

    2024年02月11日
    浏览(36)
  • 《人工智能-机器学习》数据预处理和机器学习算法(以企鹅penguins数据集为例)

    本项目使用到的数据集链接: https://tianchi-media.oss-cn-beijing.aliyuncs.com/DSW/6tree/penguins_raw.csv 加载给定或者自行选定的数据集,对数据进行查看和理解,例如样本数量,各特征数据类型、分布、特征和标签所表达的含义等,然后对其进行数据预处理工作,包括但不限于对敏感数据

    2024年02月10日
    浏览(43)
  • 【比赛记录】国电投-光伏电站人工智能运维大数据处理分析比赛

            DataFountain平台举办的比赛,赛题:光伏电站人工智能运维大数据处理分析。以下是比赛链接:光伏电站人工智能运维大数据处理分析 Competitions - DataFountain         在分析光伏发电原理的基础上,论证了辐照度、光伏板工作温度等影响光伏输出功率的因素,通过实

    2024年02月02日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包