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

文章目录

      • 序言
      • [1. 样本不均衡](#1. 样本不均衡)
      • [2. 样本不均衡的影响以及样本均衡的意义](#2. 样本不均衡的影响以及样本均衡的意义)
      • [3. 什么时候需要进行样本均衡/数据均衡](#3. 什么时候需要进行样本均衡/数据均衡)
      • [4. 数据不均衡的解决办法](#4. 数据不均衡的解决办法)

序言

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

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

相关推荐
惜.己24 分钟前
Jmeter中的前置处理器(一)
测试工具·jmeter·1024程序员节
lzb_kkk3 小时前
【JavaEE】文件io
java·开发语言·java-ee·1024程序员节
KKK3号7 小时前
Verilog HDL学习笔记
嵌入式硬件·fpga开发·verilog hdl·1024程序员节
惜.己7 小时前
Jmeter中的监听器(三)
测试工具·jmeter·1024程序员节
sheng12345678rui20 小时前
emp.dll文件丢失的几种方法-常见问题
游戏·microsoft·电脑·dll修复工具·1024程序员节
汉克老师20 小时前
GESP4级考试语法知识(贪心算法(四))
开发语言·c++·算法·贪心算法·图论·1024程序员节
HUODUNYUN1 天前
小程序免备案
网络·web安全·小程序·1024程序员节
惜.己1 天前
Jmeter中的配置原件(四)
java·前端·功能测试·jmeter·1024程序员节
好想有猫猫1 天前
【51单片机】LCD1602液晶显示屏
c语言·单片机·嵌入式硬件·51单片机·1024程序员节
网安_秋刀鱼1 天前
PHP代码审计 - SQL注入
sql·web安全·网络安全·php·1024程序员节