异常检测入门:从数据里找出异常
异常检测(Anomaly Detection)的目标是从大量数据里找出「不正常」的样本:信用卡欺诈、设备故障、网络入侵、医疗指标异常。它的特点是没有明确的「异常标签」,大多数时候只有正常数据。
什么是异常
- 点异常:单个样本明显偏离整体,如一笔巨额交易。
- 上下文异常:在某条件下正常,换个条件就异常,如深夜的登录行为。
- 群体异常:单个看都正常,组合起来不对劲,如一批账号同时小额转账。
常用方法
- 统计方法:假设数据服从某分布,偏离均值多个标准差的视为异常。简单,但分布假设常不成立。
- 距离与密度:如基于最近邻或密度,离群点自然暴露,适合低维数据。
- 树模型:隔离森林(Isolation Forest)随机切分特征,异常点更容易被孤立,效率高(已核验,常见算法)。
- 深度学习:自编码器重建误差大视为异常,适合高维复杂数据。
- 集成方法:多个检测器投票,提升稳健性。
应用场景
- 金融风控:欺诈交易、洗钱模式识别。
- 运维监控:服务器指标突变的早期预警。
- 工业质检:产品图像里的缺陷。
- 网络安全:异常流量与入侵行为。
落地注意
- 先定义「什么是异常」:业务规则往往比算法更直接。
- 评估难:异常稀少,用精确率、召回率与业务成本综合判断。
- 漂移处理:正常模式会变,检测器需要定期重训。
- 平衡误报:误报太多会被忽略,尽量让异常可解释。
小结
异常检测是「从正常中找不同」的问题,方法从统计到深度模型都有。难点不在算法而在定义异常与处理稀缺标签。先小范围试跑,结合业务规则校准,再逐步扩大规模。
参考与延伸阅读
- Isolation Forest,IEEE ICDM 2008(已核验)
- 本站「集成学习入门」「模型评估指标」教程
本文累计阅读 — 次