异常检测通过优先识别稀有事件(异常)而不是对多数类别(正常数据)建模来处理类别分布不均的问题。由于异常通常很少,传统分类方法(假设数据均衡)难以有效检测它们。相反,异常检测技术专注于从正常数据中学习模式,并将偏差标记为异常。例如,Isolation Forest 或 One-Class SVM 等算法明确地对多数类别的结构进行建模,根据其与正常实例的不同之处来隔离异常。这些方法在设计上避免依赖均衡的训练数据,使其天生适合不平衡场景。例如,在网络安全中,恶意流量可能只占所有数据的 0.1%,Isolation Forest 可以通过基于随机特征分割递归地划分数据点来识别异常,无需事先了解异常类别的分布。
另一种方法涉及重采样或合成数据生成来解决不平衡问题。SMOTE(合成少数过采样技术)等技术通过在现有异常之间进行插值来创建合成异常,从而平衡数据集。然而,异常检测通常会避免过采样,因为这可能扭曲稀有事件的真实特征。相反,对多数类进行欠采样或使用 SMOTE 结合欠采样(SMOTE-ENN)等混合方法可以提高检测效果。例如,在欺诈检测中,对正常交易进行欠采样同时保留所有欺诈案例,可以确保模型优先学习欺诈行为的微妙模式。自编码器(一种神经网络)也可以通过以低误差重建正常数据并对异常产生高重建误差来处理不平衡。在工业设备监控中,使用 99% 的正常传感器数据训练自编码器,可以标记出由机械故障引起的偏差。
评估指标和阈值调整进一步缓解了不平衡挑战。由于在类别不平衡时准确率具有误导性,精确率-召回率曲线、F1 分数或 AUC-ROC 等指标专注于模型区分异常的能力。调整分类阈值(例如,降低决策阈值以提高敏感度)有助于优先捕获异常,尽管这会增加误报。在医疗诊断中,漏诊罕见疾病可能是灾难性的,模型可能会使用较低的阈值来标记潜在病例以供审查。此外,成本敏感学习在训练过程中对误判异常给予更高的惩罚。例如,在梯度提升中,设置 class_weight='balanced'
会增加对漏报异常的惩罚,引导模型优先检测异常。通过结合这些策略,异常检测系统能够有效管理不平衡数据,同时保持实际可用性。