样本不均衡

为什么要解决样本不均衡问题?

  • 样本不均衡是指在分类任务的训练集中某些类的样本特别多,某些类的样本特别少的情况。由于模型训练时的代价函数是每一批次样本损失的和,因此样本比较多的类别会贡献更多的损失,样本比较少的类别会贡献比较少的损失,这样模型有可能会错误地认为这是一种先验,即某些类样本比较多,某些类样本比较少,在预测的时候就会更倾向于把样本预测为训练集中比较多的那个类别,这显然是不合适的。

数据角度缓解样本不均衡问题

  • 欠采样,即减少样本比较多的类别的样本数量。
  • 过采样,增加少数类的样本数量。
    • 除了采集更多的数据外,还可以使用数据增强,即从原始数据加工出更多数据,包括单样本数据增强与多样本数据增强。单样本数据增强常用于图像,比如几何操作、颜色变换、随机擦除、添加噪声等。多样本增强是通过组合多个样本来构造新的样本。
    • 基于深度学习的数据增强。比如使用VAE、GAN等来生成样本。
  • 数据角度的方法存在一些问题,比如欠采样可能丢弃含有重要信息的样本,过采样可能引入噪声等。

损失函数角度缓解样本不均衡问题

  • 代价敏感学习,class weight,即在损失函数中给不同的类别赋予不同的权重,对于训练集中样本比较多的类别,赋予较小的权重,对于样本比较少的类别,赋予较大的权重。
  • focal loss
    • focal loss虽然没有改变分类不准确的样本的损失,但是减小了分类准确的样本的损失,相对来说增加了分类不准确的样本在损失函数中的权重。
    • 样本不平衡会导致模型对样本数少的类别分类难度较高,因此focal loss聚焦于难分样本,可以解决样本不平衡的问题,当然不仅如此,难分样本也可能是样本数多的类别,因此focal loss是有利于整体性能提升的,解决样本不平衡只是顺带作用。

模型角度缓解样本不均衡问题

  • 选择一些对不均衡比较不敏感的模型。比如相比LR,使用决策树更好。
  • 采样加集成学习。重复组合少数类样本,与抽象得到的同样数量的多数类样本,然后训练若干基分类器进行集成学习。
  • 采用异常检测模型,即以正样本建模的方式建立异常检测模型,这是样本极端不均衡时候使用的。
posted @   肖肖凯  阅读(260)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示