样本不均衡 & Weighted cross entropy and Focal loss

本文针对样本不均衡问题,总结了多种解决方法,包括数据采样技术(欠采样与过采样)、数据增强手段、调整损失函数(如Focal Loss)、使用特定模型算法以及异常检测等,并介绍了评估指标的选择。

@创建于:2022.03.30
@修改于:2022.03.30

1、样本不均衡解决办法

样本(类别)样本不平衡(class-imbalance)指的是分类任务中不同类别的训练样例数目差别很大的情况,一般地,样本类别比例(Imbalance Ratio)(多数类vs少数类)明显大于1:1(如4:1)就可以归为样本不均衡的问题。现实中,样本不平衡是一种常见的现象,如:金融欺诈交易检测,欺诈交易的订单样本通常是占总交易数量的极少部分,而且对于有些任务而言少数样本更为重要。

在这里插入图片描述

不均衡解决方法可以归结为:通过某种方法使得不同类别的样本对于模型学习中的Loss(或梯度)贡献是比较均衡的。

1.1 数据样本

1.1.1 欠采样、过采样

最直接的处理方式就是样本数量的调整了,常用的可以:

  • 欠采样:减少多数类的数量(如随机欠采样、NearMiss、ENN)。
  • 过采样:尽量多地增加少数类的的样本数量(如随机过采样、以及1.1.2数据增强方法),以达到类别间数目均衡。
1.1.2 数据增强
  • 单样本增强(主要用于图像)
    主要有几何操作、颜色变换、随机擦除、添加噪声等方法产生新的样本,可参见imgaug开源库。

  • 多样本增强
    是通过组合及转换多个样本,主要有Smote类(可见imbalanced-learn.org/stable/references/over_sampling.html)、SamplePairing、Mixup等方法在特征空间内构造已知样本的邻域值样本。

  • 基于深度学习的数据增强
    生成模型如变分自编码网络(Variational Auto-Encoding network, VAE)和生成对抗网络(Generative Adversarial Network, GAN),其生成样本的方法也可以用于数据增强。这种基于网络合成的方法相比于传统的数据增强技术虽然过程更加复杂, 但是生成的样本更加多样。

1.2 目标(损失)函数

损失函数层面主流的方法也就是常用的代价敏感学习(cost-sensitive),为不同的分类错误给予不同惩罚力度(权重),在调节类别平衡的同时,也不会增加计算复杂度。

1.2.1 class weight

scikit模型的’class weight‘方法

clf2 = LogisticRegression(class_weight={
   
   0:1,1:10})  
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值