Anomaly Detection

异常侦测技术概览

异常侦测

a set of training data x1 , x2 , ⋯ , xN
找到一个function detecting x是否是异常的数据
在这里插入图片描述

Applications 应用

• Fraud Detection 银行盗刷检测
• Training data: 正常刷卡行為, x: 盜刷?
• Ref: https://www.kaggle.com/ntnu-testimon/paysim1/home
• Ref: https://www.kaggle.com/mlg-ulb/creditcardfraud/home
• Network Intrusion Detection 网络入侵检测
• Training data: 正常連線, x: 攻擊行為?
• Ref: http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html
• Cancer Detection
• Training data: 正常細胞, x: 癌細胞
• Ref: https://www.kaggle.com/uciml/breast-cancer-wisconsin-data/home

Binary Classification?
在这里插入图片描述
在这里插入图片描述

1. With Classifier 用分类器侦测异常结果

example,
给辛普森家族任务分类,y1 =霸子 y2 =麗莎 y3 = 荷馬 y4 = 美枝

在这里插入图片描述在这里插入图片描述

输出, class y 的类别和 信心分数 c。
信心分数越高越确定, 如果信心分数对每个lable比较平均, 说明x异常
Outlook: Network for Confidence Estimation
Learning a network that can directly output confidence
Detection in Neural Networks, arXiv, 2018
在这里插入图片描述

异常侦测无法用一般的方法评估系统的好坏

如下面的例子, 100张辛普森图片和5张其他动漫人物图片进行分类。
魔法少女的某个label的信心分数0.998, 也有某些辛普森图片的confidence 特别低。

在这里插入图片描述在这里插入图片描述
λ=0.5在这里插入图片描述λ=0.8在这里插入图片描述

λ的值不同, 检测到正确的异常, 和检测错误普通图片的个数变化。
如何评估系统的好坏呢?
看用户看中异常数据的未被检测出来的权重, 还是检测错普通数据的权重。
其他评估方法
Some evaluation metrics consider the ranking
For example, Area under ROC curve

在这里插入图片描述在这里插入图片描述

To Learn More …
Learn a classifier giving low confidence score to anomaly
Kimin Lee, Honglak Lee, Kibok Lee, Jinwoo Shin, Training Confidence-
calibrated Classifiers for Detecting Out-of-Distribution Samples, ICLR 2018
How can you obtain anomaly?
Generating by Generative Models?
Mark Kliger, Shachar Fleishman, Novelty Detection with GAN, arXiv, 2018

2. Without Labels

对于只有training data ,没有label 的情况。里面可能隐藏异常数据。

例子, Twitch Plays Pokémon 多人同时操作同一个宝可梦的游戏

以下每个人考察2个属性的概率, 在二维平面上显示。
下面方法用高斯分布来分析。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

μ,Σ 就是 θ, 作为fθ(x)的参数。 求 θ, 满足likelihood 最大。f(x) 均值最大

在这里插入图片描述在这里插入图片描述

可以加入其他更多属性, 求f(x)

其他方法

Auto-encoder

数据集图片编码然后解码, training data 还是可以被识别。
如果是anomaly 图片, 解码后无法生成原图片。
在这里插入图片描述

More
One-class SVM在这里插入图片描述Isolated Forest在这里插入图片描述
Ref: https://papers.nips.cc/paper/1723-support-vector-method-for-novelty-detection.pdfRef:https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf
### 异常检测的方法及其在信息技术领域的应用 #### 方法分类 异常检测方法主要可以分为三类: - **基于重建的方法**:这类方法通过学习正常模式并尝试重建输入数据来识别异常。如果某个样本无法被很好地重建,则认为该样本可能是异常的[^3]。 - **基于合成的方法**:这些方法利用生成模型或其他机制创建新的数据实例,并评估新实例与现有训练集之间的差异度以发现异常情况。 - **嵌入式方法**:此类型的算法旨在将高维特征映射到低维度空间,在这个过程中保留原始结构信息的同时突出显示潜在异常点的位置关系特性。 ```python import numpy as np from sklearn.decomposition import PCA def pca_anomaly_detection(data, threshold=0.1): """ 使用PCA进行简单异常检测 参数: data (numpy.ndarray): 输入的数据矩阵 threshold (float): 判定异常的标准,默认为0.1 返回: list: 被标记为异常索引列表 """ # 应用PCA降维至两维 pca = PCA(n_components=2) transformed_data = pca.fit_transform(data) # 计算重构误差 reconstructed_data = pca.inverse_transform(transformed_data) errors = np.mean((data - reconstructed_data)**2, axis=1) # 找出超过阈值的异常点 anomalies = np.where(errors > threshold)[0].tolist() return anomalies ``` #### 技术挑战 针对不同应用场景中的特定需求和技术难题,深度异常检测面临诸多挑战。例如在网络入侵检测方面,需要考虑如何处理海量实时流量日志以及应对不断变化攻击手段等问题[^1]。 #### 实际案例——网络入侵检测 在一个典型的网络安全环境中实施异常检测时,通常会关注以下几个要素: - **异常定义**:任何违反既定安全策略的行为都可能被视为可疑活动。 - **数据属性**:涉及多种类型的信息源组合而成的大规模异构数据集合,包括但不限于系统调用序列、包捕获文件等。 - **面临的困难**:除了要克服计算资源消耗大之外,还需解决诸如对抗性样本干扰所带来的误报率增高的风险。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值