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

分层抽样:别让随机切分把小众样本切没了

一句话定义:分层抽样(Stratified Sampling)是先把数据集按某个关键属性切成若干互不重叠的"层"(stratum),再在每一层内部独立抽样,最后把各层抽出的样本拼成完整数据集。

为什么需要它

假设你要从一所 2000 人的学校里抽 100 人做体检。纯随机抽,全校只有 6 个听障学生,抽不到一个的概率并不低——一旦抽不到,这份体检报告就等于对这个群体零信息。分层抽样的做法是:先按"是否有听障""年级""性别"分层,每层各自按比例抽人,听障这一层 6 个人至少保证抽到 1 个。抽样从"一把抓"变成了"每层派人头"。

用统计语言说:简单随机抽样是无偏的,但方差大;分层抽样在层内同质、层间异质时,能显著降低估计方差。通俗讲,就是"层内越像,分层越值"。

在机器学习里的典型用法

最常见的是切分训练集/验证集/测试集时按标签分层(stratified split)。一个 10 万条的二分类数据里,正类只占 0.5%。纯随机切分,测试集里正类可能只有 300 条,指标抖动极大;分层切分能保证每个子集的正负比例与全集一致。常见机器学习库的切分函数都提供 stratify 参数,具体用法以官方文档为准。

分层键不一定是标签。多语言、多地域、多设备的产品里,可以按"标签 × 语言 × 端类型"组合分层,保证每个交叉格子都有人。

几个容易混的概念

方法做法特点
简单随机抽样全体一起抽无偏,但小众群体可能缺席
分层抽样先分层,层内独立抽保证覆盖,降方差
整群抽样(Cluster Sampling)以组为单位整组抽省成本,但组内相关会损失信息量
过采样 / 欠采样改变样本数量是重采样,不是抽样结构

需要注意:分层抽样和"给小众类别过采样"不是一回事。前者是决定"从哪抽",后者是决定"抽多少"。

分配比例是第二个决策点

按比例分层(proportional)忠实还原总体分布,但小众层本身样本就少,按比例分下来每个子集仍然只有个位数。这时可以改成等量分层或对稀有层加权,让每个类在每个子集里都有足够样本——代价是训练分布偏离线上分布,需要用损失加权或后处理校准把概率拉回来。

对从业者的实际意义

第一,评估集必须分层。否则小类别的指标全靠运气,你会根据噪声决定模型迭代方向。第二,报告指标时顺带说明每层的样本量,读者才知道这个数字有多可信。第三,警惕两个坑:分层太细会导致每层样本过少、统计不稳定;分层键如果在线上拿不到或含未来信息,就构成了数据泄漏。

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