机器学习 - 异常检测
概述
- 目标
- 判断预测的数据,跟训练数据的相似程度
- 应用场景
- 金融欺诈行为:正常刷卡行为 VS 盗刷
- 网络入侵检测
- 癌细胞检测
二分类模型
- 困难
- 异常数据无法穷尽
- 异常数据很少
有标签数据
- 流程
- 输入
- 输出
- 类别
- 可信度(可能是 0 ~ 1 的浮点数)
- 阈值设置
- 通过设置阈值,判断数据是否异常阈值的设定基于实际情况而定
- 算法
- 神经网络
- 算法评估
- 验证数据:数据,以及标注该数据是否正常(不是具体的分类)
- 优化点
- 通过对抗神经网络,生成异常数据
无标签数据
- 场景类别
- 所有数据都是正常数据
- 数据中包含很小比例的异常数据
- 算法
- GMM(Gaussian Mixture Model)
- 核心思想
- 基于特定的分布,求概率低概率就是异常
- 步骤
- 假定一个分布(比如说高斯分布)
- 计算 均值、方差
- 基于 均值、方差,求概率
- 设置阈值,判断是否异常
- 核心思想
- Auto-Encoder
- 模型结构
- Input -> nn -> code -> nn -> output
- input 和 output 尽可能的靠近
- 预训练
- 训练数据为正常数据
- 生产运行
- 如果 input 和 output 不够靠近,则认为是异常数据
- 模型结构
- PCA
- 可以做多次投影
- 对于无法分来的数据,被认为是异常数据
- 孤立森林
- 最早被分开的数据,被当做异常数据
- OneSVM
- GMM(Gaussian Mixture Model)
应用场景
- 图像
- AnoGAN
- EGBAD
- GANomaly
- 语音
- GMGAN