M2-075M2: Classical Machine LearningClass Imbalance LearningHard
Mastery:
Class Imbalance Learning: 代价敏感学习如何实现?与重采样的关系。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 在损失中给不同类别不同权重;等价于按权重重采样(近似),但更稳定且不改变数据分布。
📌 Key Takeaways
- •类权重 = 重采样比例的近似
- •Focal loss 进一步降低易样本权重
📐 Mathematical Derivations
代价敏感的实现:在损失函数中给每个样本按其类别加权,L=−Σᵢw_{yᵢ}·ℓ(yᵢ,ŷᵢ),其中 w_c 通常取 N/(K·N_c)(N 为总样本数、K 为类别数、N_c 为类别 c 的样本数)使各类的总权重相等。<strong>与重采样的等价性</strong>:对少数类样本重复采样(过采样)r 倍,等价于在损失中给该样本权重 r——两者都提高少数类的总损失贡献。<strong>但两者不完全等价</strong>:① <strong>数据分布</strong>——重采样改变了经验分布(过采样使少数类占比上升),而类权重保持原始分布(只是调整损失权重);这影响模型的<strong>校准</strong>(重采样后的模型概率偏向少数类,需重新校准)与<strong>方差</strong>(过采样引入重复样本的相关性)。② <strong>稳定性</strong>——类权重不引入重复样本,方差更小、训练更稳定。③ <strong>计算成本</strong>——重采样改变了有效样本数(影响训练时间与 batch 组成),类权重不改变。因此<strong>实践中优先用类权重</strong>。
🏭 Production Trade-offs
扩展与要点:① <strong>Focal Loss</strong>——ℓ_FL=−α(1−p_t)^γ log p_t,其中 (1−p_t)^γ 降低'易分类样本'的权重(p_t 大则权重小),使模型聚焦难样本。它同时处理了<strong>类别不平衡</strong>(α 平衡类间)与<strong>难易样本不平衡</strong>(γ 聚焦难样本),是目标检测(RetinaNet)的核心。② <strong>代价矩阵的一般形式</strong>——若不同误判有不同代价(而非只按类别),可直接在损失中用代价矩阵 C_{ij}(把 i 判为 j 的代价)加权,这是最一般的代价敏感学习。③ <strong>类权重 vs 重采样的选择</strong>——数据量充足时用类权重(稳定);数据极少时重采样(尤其过采样)可能更有效(因为增加了实际样本的多样性,尽管是合成的)。④ <strong>校准问题</strong>——代价敏感训练后模型的输出概率不再反映真实频率(因为损失被重新加权),若需概率解释应先校准(或用'先验校正'公式调整)。⑤ <strong>与阈值调整的关系</strong>——代价敏感改变模型参数,阈值调整改变决策规则;两者可结合(先代价敏感训练,再按验证集调阈值)。⑥ <strong>评估</strong>——用代价加权的指标(如期望代价)而非 accuracy 评估。
⚠️ Common Interview Pitfalls
- ✕认为类权重与重采样完全等价(校准与方差不同)
- ✕代价敏感训练后不校准就把概率当真实频率
🎯 Interviewer Follow-ups
- ?Focal loss 为什么对不平衡有效?
- ?类权重与重采样何时不等价?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.