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 检测 | 深度学习 + 不确定性估计 | 实时性要求高 |
评估指标
由于异常检测通常是极不平衡分类问题,传统准确率不适用:
| 指标 | 公式 | 适用场景 |
|---|---|---|
| Precision | TP / (TP + FP) | 误报代价高(如安全告警) |
| Recall | TP / (TP + FN) | 漏报代价高(如欺诈检测) |
| F1-Score | 2PR / (P+R) | 综合平衡 |
| AUC-ROC | ROC 曲线下面积 | 整体排序能力 |
| Average Precision | PR 曲线下面积 | 不平衡数据更推荐 |
2026 年趋势
- 大模型驱动的异常检测:使用 LLM 对日志和文本数据进行零样本异常检测
- 时序异常检测 + Transformer:PatchTST、TimesNet 等时序模型用于多变量异常检测
- 图异常检测:GNN 在金融反欺诈和社交网络异常检测中广泛应用
- 可解释异常检测:SHAP、Counterfactual 解释帮助理解为何被标记为异常
相关笔记
- Isolation Forest (孤立森林/隔离森林) - 隔离森林算法详解
- 无监督学习 (Unsupervised Learning) - 无监督学习方法全景
- 偏差与方差 (Bias-Variance Tradeoff) - 模型误差的视角
- 信息熵 (Information Entropy) - 信息论与异常检测
来源
- Liu et al. (2008) - “Isolation Forest” (iForest): https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf
- Breunig et al. (2000) - “LOF: Identifying Density-Based Local Outliers”: https://www.dbs.ifi.lmu.de/Publikationen/Papers/LOF.pdf
- Chalapathy & Chawla (2019) - “Deep Learning for Anomaly Detection: A Survey”: https://arxiv.org/abs/1901.03407
- Ruff et al. (2021) - “A Unifying Review of Deep and Shallow Anomaly Detection”: https://arxiv.org/abs/2009.11732