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

0 提纲

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

1 现象与原因

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

产生的原因:

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

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

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

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

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

人工智能安全-2-非平衡数据处理_第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。
人工智能安全-2-非平衡数据处理_第3张图片

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

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

人工智能安全-2-非平衡数据处理_第4张图片
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(xl,xi)<d(xi,xj)或者 d ( x l , x j ) < d ( x i , x j ) d(x_l,x_j)d(xl,xj)<d(xi,xj)成立,则称 ( x i , x j ) (x_i,x_j) (x

你可能感兴趣的:(人工智能安全,人工智能,安全)