如何处理数据中的「类别不平衡」?

回答·32
最热
最新
  • 首先就是数据增强,数据增强有很多方法,比如简单的旋转平移仿射变换加噪音等等,还有的就是mixup即将两幅不同的图像合成新的图像,相应对两幅图像加权平均,还有得就是自制数据集,尤其是在检测领域,遇到一些场景很少的图像,这样我们可以自制数据,将目标粘贴到合适背景中,这样我们可以做很多数据,还有就是最近yolov4中用到的mosaic图像增强,不同于mixup的是将N幅图像拼接成一张图像,且每张图像做一定的旋转平移缩放等的基础图像增强,类似于最近出的一个stitch方法,不同于mosaic的是stitch会根据训练过程中的loss调整,针对小目标中目标大目标的loss进行图像大目标小目标的调整;除了图像增强还有得就是从损失函数入手,比如focal loss,ohem loss等,主要的思想还是引入一个平衡因子,平衡困难样本和简易样本之间损失的大小,减少简易样本的损失加大困难样本的损失。
  • 1.类别少的样本做过采样或者类别少的样本做欠采样。 2.样本赋予不同的权重,类别少的加大权重。 3.SMOTE 等算法合成新样本
  • Sampling sampling and sampling
  • loss里面修改权重,样本量少的类别权重要高,一些现成的算法中有class—weight这个参数,能处理样本不均衡问题
  • 初中级可以直接干,然后调阈值,高级看看黑科技搞点样本
  • 先用原数据跑baseline 然后上下采样补数据 最后带回原数据拟合模型对比
  • 树模型的话不用处理,神经网络那就只能正负采样了
  • 1.训练过程中,等概率地抽取各类别的样本; 2.为loss函数按类别加权,权重为每个类别的样本所占比例的倒数。
  • 你可以和我一样,去百度一下  百度下就知道了呀
  • 数据增强,或者对类别少的样本做过采样,或者对类别多的样本进行欠采样