当前位置:   article > 正文

数据不均衡常用处理方法及NLP中的数据增强_正采样和负采样

正采样和负采样

所谓的不平衡指的是不同类别的样本量差异非常大,或者少数样本代 表了业务的关键数据(少量样本更重要),需要对少量样本的模式有 很好的学习。样本类别分布不平衡主要出现在分类相关的建模问题上。 样本类别分布不均衡从数据规模上可以分为大数据分布不均衡和小数 据分布不均衡两种:

  • 大数据分布不均衡——整体数据规模较大,某类别样本占比较 小。例如拥有1000万条记录的数据集中,其中占比5万条的少 数分类样本便于属于这种情况。
  • 小数据分布不均衡——整体数据规模小,则某类别样本的数量 也少,这种情况下,由于少量样本数太少,很难提取特征进行 有/无监督算法学习,此时属于严重的小数据样本分布不均衡。 例如拥有100个样本,20个A类样本,80个B类样本。

工程过程中,应对样本不均衡问题常从以下三方面入手:

  • 欠采样:在少量样本数量不影响模型训练的情况下,可以通过对多数样本 欠采样,实现少数样本和多数样本的均衡。
  • 过采样:在少量样本数量不支撑模型训练的情况下,可以通过对少量样本 过采样,实现少数样本和多数样本的均衡。
  • 模型算法:通过引入有倚重的模型算法,针对少量样本着重拟合,以提升 对少量样本特征的学习。

一、正采样和负采样

1. 负采样

a) 负采样——随机删除
可以以样本序号为种子,利用random.sample()进行采样

import numpy as np
import random
seed_idx = np.arange(0, 100, 1)
sample_idx = random.sample(seed_idx, 40)
  • 1
  • 2
  • 3
  • 4

b) 负采样——原型生成(Prototype generation)

PG算法主要是在原有样本的基础上生成新的样本来实现样本均衡:

  • 1)以少量样本总数出发,确定均衡后多样本总数Nmaj

  • 2)多量样本出发,利用k-means算法随机的计算k个多量样本的中心

  • 3)认为k-means的中心点可以代表该样本簇的特征,以该中心点s‘代表该样本簇

  • 4)重复2、3两步Nmaj次,生成新的多量样本集合

    下图所示为三类共2000个样本点的集合,每个样本维度为2,label1个数为1861,label2个数为108,label3个数为31。利用PG算法完成数据均衡后,样本整体分布没有变化。

在这里插入图片描述

2. 过采样

随机复制, 简单复制少数样本形成多条记录,缺点是如果样本特征少可能导致过拟合

经过改进的过采样通过在少数类中加入随机噪声、干扰数据或者通过一定规则产生新的合成样本

  • SMOTE算法
    通过从少量样本集合中筛选的样本xi和xj及对应的随机数0<λ<1,通过两个样本之间的关系来构建新的样本xn=xi+λ(xj-xi)

    由于SMOTE算法构建样本时,是随机的进行样本点的组 合和

    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/349077
推荐阅读
相关标签