跳到主内容
快讯直播
AI智模界
AI 词典

过采样与欠采样:改的是比例,不是信息量

一句话定义:过采样(Oversampling)和欠采样(Undersampling)是应对类别不平衡的两种采样手段——前者增加少数类样本,后者削减多数类样本,目的都是让训练时的类别比例更均衡。

为什么需要它:假设你在做交易反欺诈,一万笔里只有十笔是欺诈。模型哪怕无脑全判"正常",准确率也有 99.9%,看上去漂亮,实际上一次欺诈都没抓到。这就是类别不平衡:多数类样本把损失函数"喂饱"了,模型没有动力去学少数类。

打个比方:模型是个备考的学生,题库里 9999 道普通题、10 道压轴题。过采样就是把那 10 道压轴题复印一百份塞回题库,逼他多练;欠采样则是把普通题抽掉九成,让压轴题在总题量里占上分量。

关键提醒就在这里:复印卷子并没有教给学生任何新知识。过采样改变的是类别比例这个"权重",不是信息量本身。那 10 道题的解法还是 10 种,只是重复出现让模型更重视。如果只是机械复制,模型很容易把这几道题连同噪声一起背下来——训练集上少数类召回率飙升,换个稍微不同的欺诈手法就失灵,这就是典型的过拟合。

所以实践中更常用 SMOTE(Synthetic Minority Over-sampling Technique)这类合成方法:不是复印,而是取两个真实少数类样本,在它们之间"插值"造一个相近但不完全相同的新样本,相当于让几个学生各自改改题干。代价是合成样本仍落在原有样本附近的区域,真实世界里没被采样到的那片空间依然覆盖不到。

欠采样的毛病则是反过来的:扔掉多数类样本,模型就没见过那么多正常交易长什么样,容易把正常行为误判成欺诈。

过采样 Oversampling欠采样 Undersampling
做法增加少数类样本减少多数类样本
主要风险复制导致过拟合、训练变慢丢信息,多数类分布被削薄
较适合少数类样本本身不太少数据量大、多数类高度冗余

和相邻概念的区别:采样动的是数据;代价敏感学习(class weighting)和阈值调整动的是损失权重与判决门槛,一个样本都不增删,往往成本更低、更该先试。数据增强(data augmentation)也造新样本,但目标是扩充整体多样性(旋转图片、换同义词),不专门冲着类别比例去。

实际意义:第一,采样只在训练集上做,验证集和测试集必须保持真实分布,否则评估出来的指标是虚的。第二,动手前先调类别权重和分类阈值,常常已经够用。第三,真要过采样,优先合成而非复制,并且留意少数类样本本身的标签质量——把错标样本复制一百遍,等于把错误放大一百倍。具体工具的参数和行为,以官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。