一句话定义:样本加权(Sample Weighting)是在训练或评估模型时,给不同样本分配不同的重要性系数(权重),让模型更关注那些「更重要」或「更稀缺」的数据。
打个比方。公司做满意度调查,技术部 1000 人,法务部 10 人。按人头直接平均,法务部的声音会被彻底淹没。但如果你希望「每个部门的声音同等重要」,就该给法务部每个人 100 倍的权重。数据条数没变,结论却完全不同。样本加权做的就是这件事:不改数据,改每条数据在损失函数(loss function)里的发言音量。
常见用法有几种。一是类别不平衡(class imbalance):正样本只占 1%,就给正样本更高权重,效果近似于把它「复制」很多份。二是数据源配比:线上真实流量只占一小部分,混合训练时给它更高权重,模型才不会被人工构造的数据带偏。三是样本质量:伪标签(pseudo-labeling)或弱标注数据权重调低,人工精标数据权重调高。四是时间衰减:老数据权重低、新数据权重高。
和相邻概念的区别:
| 概念 | 改变的是什么 | 数据条数 | 典型场景 |
|---|---|---|---|
| 样本加权 | 每条样本的损失系数 | 不变 | 类别不平衡、多数据源配比 |
| 重采样(Resampling) | 数据集本身 | 变 | 同上,但更直接粗暴 |
| 代价敏感学习(Cost-sensitive Learning) | 错分的代价 | 不变 | 漏诊、欺诈漏放 |
| 注意力权重(Attention) | 模型内部表征 | 不变 | 序列建模 |
代价敏感学习和样本加权在实践里高度重合,常常换着用:前者强调「错一次的代价不同」,后者是实现它的手段。而重采样是真的增删数据,加权只是改损失,内存更省,也不会因为复制样本加剧过拟合。
对从业者的意义:在提「再标一万条」之前,先看看权重能不能解决。调权重是几行代码加一次实验,标数据是几周工期和一笔预算。做法通常是先按来源、类别、置信度、时间分桶,每个桶给一个权重,跑对照实验。几个坑要注意:权重是超参数,别一次调太多维,容易把验证集调过拟合;权重过大会放大梯度方差、让训练不稳;加权会破坏概率校准(calibration),模型输出的概率不再对应真实频率,上线前要重新校准;最后,别用加权过的指标自我安慰,最好留一份按线上真实分布采样的评测集。
对普通人的意义:所有「平均值」背后都藏着权重。看到「用户平均满意度提升」时,先问一句:是按人头平均,还是按消费额加权?换个权重,结论可能反过来。别人给你一个平均数,你该问的下一句永远是:怎么加权。
