关于人工智能:小白学AI八种应对样本不均衡的策略

29次阅读

共计 2214 个字符,预计需要花费 6 分钟才能阅读完成。

文章来自:微信公众号【机器学习炼丹术】

1 什么是非均衡

分类 (classification) 问题是数据挖掘畛域中十分重要的一类问题,目前有目不暇接的办法来实现分类。然而在实在的应用环境中,分类器 (classifier) 表演的角色通常是辨认数据中的“少数派”,比方:

  • 银行辨认信用卡异样交易记录
  • 垃圾邮件辨认
  • 检测流水线辨认残次品
  • 病情监测与辨认等等

在这样的应用环境下,作为少数派的群组在数据总体中往往占了极少的比例:绝大多数的信用卡交易都是失常交易,八成以上的邮件都是失常邮件,大多数的流水线产品是合格产品,在进行查看的人群中特定疾病的发病率通常非常低。

如果这样的话,假如 99% 的正样本 +1% 的负样本形成了数据集,那么假如模型的预测后果全是正,这样的齐全没有分辨能力的模型也能够失去 99% 的准确率。这个依照样本个数计算准确率的评估指标叫做——Accuracy.

因而咱们为了防止这种状况,最罕用的评估指标就是 F -score,Precision&Recal,Kappa 系数。

【F-Score 和 Kappa 系数曾经在历史文章中解说过啦】

2 8 种解决办法

解决办法次要有上面 10 种不同的办法。

  • 重采样 resampling

    • 上采样:简略上采样,SMOT,ADASYN
    • 下采样:简略下采样,聚类 Cluter,Tomek links
  • 调整损失函数
  • 异样值检测框架
  • 二分类变成多分类
  • EasyEnsemble

2.1 重采样(四种办法)

重采样的目标就是让少的样本变多,或者是让多的样本变少。下图很形象的展现出这个过程:


【简略上采样】

就是 有放回的随机抽取少数量的样本,饭后一直复制抽取的随机样本,直到少数量的样本与多数量的样本处于同一数量级。然而这样容易造成过拟合问题。

为什么会造成过拟合呢? 最极其的例子就是把一个样本复制 100 次,这样就有了一个 100 样本的数据库。模型训练进去很可能失去 100% 的正确率,然而这模型真的学到货色了吗?


【SMOTE】

  • SMOT:Synthetic Minority Over-sampling Technique.(翻译成中文,合成起码个体上采样技术?)

核心思想是 根据现有的少数类样本人为制作一些新的少数类样本 SMOTE 在先用 K 近邻算法找到 K 个近邻,利用这个 K 个近邻的各项指标,乘上一个 0~1 之间的随机数就能够组成一个新的少数类样本。容易发现的是,就是SMOTE 永远不会生成离群样本


【ADASYN】

  • ADASYN:Adaptive Synthetic Sampling Approach(自适应合成样本办法)

ADASYN 其实是 SMOTE 的一种衍生技术,相比 SMOT 在每一个少数类样本的四周 随机 的创立样本,ADASYN 给每一个少数类的样本调配了权重,在 学习难度较高的少数类样本四周创立更多的样本 。在 K 近邻分类器分类谬误的那些样本 四周生成更多的样本,也就是给他们更大的权重,而并不是随机 0~1 的权重。

这样的话,就如同,一个负样本四周有正样本,通过这样的解决后,这个负样本四周会产生一些相近的负样本。这样的弊病也是不言而喻的,就是对离群点异样敏感。


【简略下采样】
这个很简略,就是随机删除一些少数的样本。弊病天然是,样本数量的缩小,删除了数据的信息


【聚类】
这个是一个十分有意思的办法。咱们先选取样本之间 类似度的评估函数,比方说就用欧氏间隔(可能须要对样本的数据做归一化来保障不同特色的同一量纲)。

办法 1:假如有 10 个负样本和 100 个正样本,对 100 个正样本做 kmeans 聚类,总共聚 10 个类进去,而后每一个类核心作为一个正样本。

办法 2:应用 K 近邻,而后用 K 个样本的核心来代替原来 K 个样本。始终这样做,直到正样本的数量等于负样本的数量。


【Tomek links】

  • 这个不晓得咋翻译

Tomek links 是指相同类样本的配对,这样的配对间隔十分近,也就是说这样的配对中两个样本的各项指标都十分靠近,然而属于不同的类。如图所示,这一办法可能找到这样的配对,并删除配对中的少数类样本。通过这样的解决,两类样本之间的分界线变得更加清晰,使少数类的存在更加显著。

下图是操作的过程。

2.2 调整损失函数

调整损失函数的目标自身是为了使模型对少数量样本更加敏感。训练任何一个机器学习模型的最终目标是损失函数 (loss function) 的最小化,如果可能在损失函数中加大错判少数类样本的损失,那么模型自然而然可能更好地辨认出少数类样本。

比拟驰名的损失函数就是指标检测工作中的 focal loss。不过在解决其余工作的时候,也能够人为的减少多数样本错判的损失。

2.3 异样值检测框架

  • 将分类问题转换成为一个异样值监测框架

这个异样值检测框架又是一个十分大的体系,有很多不同的模型,比方说:异样森立等。之后会专门讲讲这个体系的模型的。

(小伙伴关注下公众号呗,不迷路呀)

2.4 二分类变成多分类

对于不平衡水平较低的数据,能够将多数量样本进一步分为多个组,尽管二分类问题被转化成了一个多分类问题,然而数据的不均衡问题被解决,接下来就能够应用多分类中的一对多 (OVA) 或一对一 (OVO) 的分类形式进行分类。

就是把少数类的样本通过聚类等办法,划分成不同的类别。这样 2 分类工作就变成了多分类工作。

2.5 EasyEnsemble

另外一种欠采样的改良办法是 EasyEnsemble,它将少数样本划分成若 N 个汇合,而后将划分过后的汇合与多数样本组合,这样就造成了 N 个训练汇合,而且每个训练都正负样本平衡,并且从全局来看却没有信息失落。

正文完
 0