Ch04 机器学习

异常检测 (Anomaly Detection)

概述

异常检测(Anomaly Detection / Outlier Detection)是机器学习中的一项核心技术,目标是识别数据中不符合预期模式、行为异常的样本。这些异常样本可能代表欺诈交易、系统故障、网络攻击、医疗异常或罕见事件。异常检测广泛应用于金融风控、工业运维、网络安全、医疗诊断和 IoT 监控等领域。

异常的类型

类型描述示例检测难度
点异常 (Point Anomaly)单个样本显著偏离正常分布一笔 100 万元的消费(正常消费 100 元)低
上下文异常 (Contextual)在特定上下文中异常,其他场景正常30 度气温在冬天异常,夏天正常中等
集体异常 (Collective)一组样本整体模式异常,个体可能正常心电图波形突然从正常变为异常模式高

主流检测方法

1. 统计方法

基于数据分布的统计假设:

  • Z-Score: 判定为异常(假设正态分布)
  • 箱线图 (IQR): 或
  • 马氏距离 (Mahalanobis Distance):考虑特征间协方差的多维距离
  • HBOS:对每个维度独立构建直方图,综合评分

2. 基于距离和密度的方法

  • LOF (Local Outlier Factor):比较样本局部密度与邻居局部密度
  • KNN Distance:基于 k 近邻平均距离进行评分
  • DBSCAN:将密度低的样本标记为噪声/异常
  • iForest (Isolation Forest):通过随机划分,异常点先被隔离

3. 基于重构的方法

  • AutoEncoder:正常样本可被良好重构,异常样本重构误差大
  • VAE:通过重构概率(而非误差)判断异常
  • GAN (AnoGAN):用 GAN 学习正常数据分布,检测偏离

4. 基于分类的方法

  • One-Class SVM:学习正常数据的边界,边界外为异常
  • SVDD (Support Vector Data Description):寻找包围正常数据的最小超球

主流算法对比

算法类型高维适应性可解释性训练效率无需标签2026 使用率
Isolation Forest树模型中中高是极高
LOF密度差高中是中
AutoEncoder深度学习好低低是高
One-Class SVM边界中低中是中
KNN距离差高中是中
DBSCAN密度差高中是中
GNN-based图神经网络好低低半监督增长中
LLM-based大语言模型好中极低是新兴

2026 年异常检测的应用场景

领域典型应用常用方法数据特点
金融风控信用卡欺诈、洗钱检测iForest + XGBoost + GNN高维、类别不平衡
工业 IoT设备故障预测、传感器异常AutoEncoder + LSTM时序数据、多变量
网络安全入侵检测、恶意流量识别Isolation Forest + AutoEncoder高维、流式数据
医疗健康罕见病检测、心电图异常VAE + 集成方法隐私敏感、标签稀缺
云运维服务器指标异常、日志异常统计方法 + 深度学习海量、实时
自动驾驶传感器异常、OOD 检测深度学习 + 不确定性估计实时性要求高

评估指标

由于异常检测通常是极不平衡分类问题,传统准确率不适用:

指标公式适用场景
PrecisionTP / (TP + FP)误报代价高(如安全告警)
RecallTP / (TP + FN)漏报代价高(如欺诈检测)
F1-Score2PR / (P+R)综合平衡
AUC-ROCROC 曲线下面积整体排序能力
Average PrecisionPR 曲线下面积不平衡数据更推荐

2026 年趋势

  1. 大模型驱动的异常检测:使用 LLM 对日志和文本数据进行零样本异常检测
  2. 时序异常检测 + Transformer:PatchTST、TimesNet 等时序模型用于多变量异常检测
  3. 图异常检测:GNN 在金融反欺诈和社交网络异常检测中广泛应用
  4. 可解释异常检测:SHAP、Counterfactual 解释帮助理解为何被标记为异常

相关笔记

来源

关联7

知识图谱

局部图谱 · 点节点跳转