Albertsr/Anomaly-Detection
UnSupervised and Semi-Supervise Anomaly Detection / IsolationForest / KernelPCA Detection / ADOA / etc.
What it solves
This project provides a collection of handwritten Python implementations for tabular anomaly detection. It serves as an educational resource and historical record of various unsupervised and partially supervised methods used to identify outliers in data, ranging from classical statistical approaches to more complex kernel-based methods.
How it works
The repository implements several anomaly detection strategies:
- PCA and Kernel PCA Reconstruction Error: These methods identify anomalies by reconstructing data using a subset of principal components. Samples that cannot be accurately reconstructed (high reconstruction error) are flagged as anomalies. The linear version uses SVD/NumPy, while the kernel version handles nonlinear feature spaces.
- RobustPCC: A principal-component classifier that identifies anomalies by looking at deviations in both "major" components (extreme values in original variables) and "minor" components (unusual correlation structures).
- Other Unsupervised Methods: Includes implementations and notes on Mahalanobis distance, Isolation Forest, and Local Outlier Factor (LOF).
- Partially Supervised/PU Learning: Implements ADOA, KADOA (an experimental variation using Kernel PCA), and Positive-Unlabeled (PU) learning strategies like Biased SVM and weighted logistic regression.
Who it’s for
It is designed for students, researchers, and developers interested in the mathematical foundations of anomaly detection who prefer a code-first approach to learning these algorithms.
Highlights
- Handwritten Implementations: Focuses on manual Python implementations rather than relying solely on high-level libraries.
- Educational Focus: Combines code with formula notes, paper walkthroughs, and visual explanations.
- Diverse Algorithm Set: Covers a wide spectrum of techniques, from linear PCA to semi-supervised PU learning.
- Historical Record: Preserves the original 2018-era implementations and experiments to show the evolution of the author's learning path.
Related
- Project
- Project
- Project
- Project
- Project