Albertsr/Anomaly-Detection
UnSupervised and Semi-Supervise Anomaly Detection / IsolationForest / KernelPCA Detection / ADOA / etc.
解决的问题
本项目提供了一系列手写 Python 实现的表格异常检测方法。它作为教育性资源和历史记录,涵盖了从经典统计方法到更复杂的核方法等各种无监督和部分监督方法,用于识别数据中的异常值。
工作原理
该仓库实现了多种异常检测策略:
- PCA 与核 PCA 重建误差: 这些方法通过使用主成分的子集来重构数据,识别异常。无法准确重构的样本(重建误差高)被标记为异常。线性版本使用 SVD/NumPy,而核版本则处理非线性特征空间。
- RobustPCC: 一种主成分分类器,通过观察“主要”成分(原始变量中的极端值)和“次要”成分(异常相关结构)的偏差来识别异常。
- 其他无监督方法: 包括马氏距离、孤立森林和局部异常因子(LOF)的实现与说明。
- 部分监督/PU 学习: 实现了 ADOA、KADOA(使用核 PCA 的实验性变体)以及正例-未标记(PU)学习策略,如偏置 SVM 和加权逻辑回归。
适用人群
专为对异常检测数学基础感兴趣、并倾向于通过代码优先方式学习这些算法的学生、研究人员和开发者设计。
亮点
- 手写实现: 重点在于手动编写 Python 实现,而非仅依赖高级库。
- 教育导向: 将代码与公式笔记、论文解析和可视化解释相结合。
- 多样化的算法集合: 涵盖从线性 PCA 到半监督 PU 学习的广泛技术。
- 历史记录: 保留了 2018 年时期的原始实现和实验,以展示作者学习路径的演变。
相关
- 项目
- 项目
- 项目
- 项目
- 项目