UnSupervised and Semi-Supervise Anomaly Detection / IsolationForest / KernelPCA Detection / ADOA / etc.
方法1:基于样本的重构误差
算法论文: AI^2 : Training a big data machine to defend [Veeramachaneni et.al, 2016]
算法解析: Chapter 1:基于样本的重构误差
算法实现
方法2:基于样本在Major/Minor主成分上的偏差
算法论文: A Novel Anomaly Detection Scheme Based on Principal Component [Shyu et.al, 2003]
算法实现: robustpcc.py
术语定义
实证分析: 异常样本在最前、最后的若干主成分上具有最大的方差
验证代码: max_ev_decrease.py
验证结果:
算法解析:
算法实现:
实证分析:
结论: 马氏距离的平方等于马氏距离的变体
推论: 马氏距离及其变体对样本的异常程度有一致的判定
验证结果:
F1 Score
Time Cost
算法论文: Anomaly Detection with Partially Observed Anomalies [Zhang et.al]
算法解读: ADOA算法解读
算法实现: adoa.py 【其中包含:用于返回聚类中心子模块 cluster_centers.py】
思路简介
KADOA代码
KADOA与ADOA的性能对比
方法一:Two step techniques
方法二:Biased Learning
将U集视为带有噪音(即正样本)的负样本集(treat the unlabeled examples as negatives examples with class label noise)
将正样本P、负样本U分别赋予相对更高、更低的正则化参数,使得混杂在U的noise允许被误分,这些被误分的noise实际上是真实的正样本
常见的算法是Biased SVM,其优化问题如下
方法三:Class Prior Incorporation
Class prior incorporation modifies standard learning methods by applying the mathematics from the SCAR(Selected Completely At Random) assumption directly, using the provided class prior. Additionally, methods for learning from relational PU data are discussed
思路一:Two Step Strategy + Cost-Sensitive Learning
算法论文: POSTER_ A PU Learning based System for Potential Malicious URL Detection [Zhang et.al]
算法解读: Two Step Strategy与 Cost-Sensitive Learning的结合
算法实现: pu_learning.py
对sample_ratio的研究: sample_ratio
思路二:Biased Learning
思路三:Class Prior Incorporation
选取的模型评估指标: AUC、F1_Score、Coverage、G-Mean、Recall、ACC
Coverage详解
代码实现: coverage.py
定义:
G-Mean
对比思路:
步骤一: 生成一系列随机数据集,其中包含已观察到的异常样本集(记为正样本集P),无标签样本集(记为U)
步骤二: 各个半监督异常检测算法对U集进行预测并返回预测值y_pred
步骤三: 生成U集时,其真实标签y_true是已知的,根据y_true、y_pred计算半监督异常检测算法的性能
步骤四: 不同的模型评估指标、不同的数据集对算法的性能有不同的评估,因此根据多个随机数据返回多个模型评估指标对应的值,再进行比较
对比结果:
解析
备注