类别不平衡改变错误的解释方式
说明类别比例、采样、代价、阈值和评价指标如何共同影响少数类识别,避免被总体准确率掩盖。
类别不平衡改变错误的解释方式
类别不平衡指不同类别在目标总体中的出现比例相差很大。它本身不一定是数据缺陷:欺诈、设备故障和罕见疾病本来就少见。真正的问题是,训练目标、采样过程和评价方式可能让模型主要照顾多数类,以至于总体数字看起来很好,关键少数类却几乎没有被识别。
假设一万条记录中只有十条异常。一个始终预测正常的分类器准确率达到 99.9%,但对异常发现没有任何价值。此时准确率没有计算错误,只是它回答了“所有样本中预测正确多少”这个不适合当前决策的问题。
先分清总体比例与样本比例
训练集中的类别比例可能来自真实总体,也可能被抽样、标注和筛选过程改变。为了收集足够的少数类,项目常会提高异常样本占比;这种做法有助于训练,却不能据此推断真实发生率。
测试集若也被人为平衡,得到的精确率、预测阳性比例和总体成本无法直接代表上线环境。评估数据应尽量反映目标总体,或依据已知抽样概率加权还原。训练集可以为学习目的改变比例,验证集和测试集则必须清楚说明它们代表什么。
时间也会改变基准率。促销期、设备老化、季节和政策变化都可能让少数类比例漂移。固定阈值在新基准率下会产生不同数量的告警,概率校准也可能失效。
混淆矩阵必须按业务方向阅读
混淆矩阵把预测类别与真实类别交叉排列。对少数类而言,召回率描述真实少数类中有多少被找到;精确率描述模型报出的少数类中有多少是真的。前者低意味着遗漏,后者低意味着告警负担大。
两项指标没有脱离阈值的固定值。降低分类阈值通常提高召回率,同时带来更多假阳性。精确率—召回率曲线展示这种取舍,在极不平衡任务中往往比只看接收者操作特征曲线更直观,但仍应结合实际基准率和处理能力解释。
特异度、假阳性率和阴性预测值也可能重要。例如每天处理数百万请求时,即使假阳性率很低,绝对误报量仍可能超过人工复核能力。报告相对比例时要同时给出样本数或预期事件量。
重加权改变优化关注点
类别权重让少数类错误在损失中占更大比重。它并没有制造新信息,而是在优化时改变不同错误的代价。权重可依据类别频率、业务损失或验证结果设置,不能默认“频率倒数”总是最佳。
提高少数类权重可能增加召回率,也可能降低概率校准。模型输出若要解释为发生概率,应在代表真实分布的独立数据上重新校准。用于排序的模型和用于概率估计的模型对这一问题的容忍度不同。
代价敏感学习更直接地表达决策后果。漏掉一个高风险事件与误报一个普通事件的损失并非对称,而且损失还可能随客户、金额和时间变化。把所有少数类样本赋予同一权重只是近似。
重采样会改变训练数据的证据结构
欠采样删除部分多数类,能减少训练成本并让模型关注决策边界,但可能丢掉有用变化。过采样重复或合成少数类,能增加其训练影响,却不能替代真实多样性。重复样本过多会加剧过拟合,合成样本则依赖邻域和特征空间假设。
所有重采样必须只在训练折内部执行。若先对完整数据过采样再切分,复制或合成关系可能跨越训练集与验证集,形成数据泄漏。交叉验证时每一折都要独立拟合采样步骤和模型。
时间序列、群组和空间数据还要保留原有切分边界。来自同一设备、患者或地块的相似样本不能因为重采样而同时落入训练和测试两侧。
阈值属于决策层
模型训练完成后,仍需根据漏报成本、误报成本和处置容量选择阈值。阈值应在验证集上确定,测试集只用于估计完整选择流程。若每天只能复核一百条记录,可以评价前一百名的召回、精确率和覆盖风险,而不是寻找抽象的统一最佳阈值。
不同群体可能有不同基准率和错误成本。分组阈值会引入公平、合规与可解释性问题,需要明确政策依据,不能只为了改善一个汇总指标而悄然实施。
上线监控应同时观察真实或延迟确认的类别比例、告警量、精确率、召回率估计、分数分布和处置积压。只监控准确率会再次把少数类失败隐藏在多数类中。
类别不平衡不是靠某一个指标或采样技巧解决的问题。可靠方法从目标总体和采样机制开始,明确哪类错误更贵,再把损失、验证分布、阈值和运行容量连成同一条决策链。
当真实标签需要几天或几个月才能确认时,线上指标还会出现反馈延迟。近期样本不能简单按“尚未发现异常”当作负类,否则会低估少数类。评估窗口应等待标签成熟,或用生存分析、延迟校正和分层抽检估计当前表现,同时区分最终标签与临时状态。
资料依据
- scikit-learn Project:Metrics and scoring: quantifying the quality of predictions,https://scikit-learn.org/stable/modules/model_evaluation.html
- scikit-learn Project:User Guide,https://scikit-learn.org/stable/user_guide.html