【机器学习】数据均衡学习笔记

本文讨论了数据集中的样本不均衡问题,其影响、解决策略,包括过采样、欠采样、代价敏感学习方法(如scikit的classweight、OHEM和FocalLoss)、选择对不均衡不敏感的模型,以及调整评估指标。
摘要由CSDN通过智能技术生成

序言

  • 数据集制作过程中需要关注样本均衡问题,学习笔记,简单记录

1. 样本不均衡

  • 分类任务中不同类别样本数差别很大的情况,样本比例大于比如4:1可以认为样本不均衡,样本不均衡现象比较常见
  • 那么到底差异多少才算失衡呢,按照google developer的说法,我们一般可以把失衡分为三个程度:
    • 少数类 : 多数类 = 20%~40%, 轻度不均衡
    • 少数类 : 多数类 = 1%~20%, 中度不均衡
    • 少数类 : 多数类 < 1%, 极度不均衡

2. 样本不均衡的影响以及样本均衡的意义

  • 样本不均衡的影响

    • 假如”好、坏”两类样本占比是1000:1,只要预测为”好”,就能得到很高的准确率,那么模型学到的不是如何分别好坏,而是”好远比坏多”这样的先验信息,这样就背离了用模型去分别好坏的初衷;
    • 导致模型不能学习更本质的特征,影响模型的鲁棒性;
  • 样本均衡的意义

    • 通过解决样本不均衡,可以减少模型学习样本比例的先验信息,以获得能学习到辨别好坏这种本质特征的模型

3. 什么时候需要进行样本均衡/数据均衡

  • (1) 简单的线性可分任务,样本是否均衡可能影响不大
  • (2) 判断样本与真实样本分布是否一致且稳定,如果不是,数据如果带有先验信息可能就有副作用
  • (3) 某一类样本非常稀少的情况,模型很可能学习不好

4. 数据不均衡的解决办法

  • 数据均衡本质上是:通过某种方法使得不同类别的样本对于模型学习中的loss(或梯度)贡献是比较均衡的。以消除模型对不同类别的偏向性,学习到更本质的特征

  • 数据均衡的方法简单记录:

  • (1) 样本层面

    • 过采样和欠采样
      • 过采样会导致样本重复,可能导致过拟合:最直接的方法是简单的复制少数类样本形成多条记录,这种方式可能导致样本特征少而可能出现过拟合的问题;经过改进的过抽样方法通过在少数类中加入随机噪声、干扰数据或者通过一定规则产生新的合成样本
      • 欠采样可能导致类别间有重要差别的重要实例丢失,在过滤少量样本不影响模型训练的情况下,随机的删除一些多数类样本
    • 数据增强:
      • 使用常见的数据增强方法增加样本数据,如翻转、旋转、改变对比度、随机裁剪等
  • (2) loss层面: 主流的是代价敏感学习法cost sensitive,为不同的分类错误给与不同惩罚力度/权重

    • scikit的’class weight’方法
      • 为不同样本提供不同权重,少数类有更高权重,从而平衡各类别的学习,避免决策边界偏重多数类的现象
    • OHEM和focal loss
      • OHEM: Online Hard Example Mining, 算法的核心是选择一些困难样本(多样性和高损失的样本)作为训练的样本,针对性地改善模型学习效果;对于数据的类别不平衡问题,OHEM的针对性更强
      • Focal Loss: 在交叉熵损失函数CE的基础上增加了类别的不同权重以及困难样本的权重,使训练时更专注于难分类的样本,以改善模型的学习效果
  • (3) 模型层面:模型层面主要是选择一些对样本不均衡比较不敏感的模型,比如 逻辑回归在利用反向传播来优化参数时,数量少的那一类在反向传播求梯度时影响比较小,梯度容易向数量多的样本方向下降,所以对样本分布不均衡比较敏感。决策树基于特征的划分去创建分类树,可以强制的将不同类别样本分开,在样本不均衡上比较不敏感一些

    • 采样 + 集成学习的方法,训练若干分类器进行集成学习;采样过程是必须的,否则同样会有利于多数类
    • 异常检测:在样本类别极端不均衡的情况下,比如少数类只有几十个样本,分类问题考虑成异常检测问题可能会更好
  • (4) 决策及评估指标层面:采用不均衡的数据训练模型时,采用更好的决策和客观的评估,比如对比分类问题采用recall precision F1分数 混淆矩阵,样本不均衡时会明显改变这些指标的表现

    • 分类阈值移动:对于不均衡下模型的预测,调整模型对于不同类别偏好的的情况,如模型偏好预测负样本,偏向0,则我们分类阈值也往下调整,达到决策时类别平衡的目的
    • 低于类别不均衡的模型评估,可以采用AUC、AUPRC评估模型表现,对正负样本的比例情况不敏感

 


【参考文章】
样本不均衡的解决办法
样本不均衡介绍及解决办法

created by shuaixio, 2023.10.24

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值