
V - Vector Type@Title(value="Gaussian-Uniform Mixture Model Outlier Detection") @Description(value="Fits a mixture model consisting of a Gaussian and a uniform distribution to the data.") @Reference(prefix="Generalization using the likelihood gain as outlier score of", authors="Eskin, Eleazar", title="Anomaly detection over noisy data using learned probability distributions", booktitle="Proc. of the Seventeenth International Conference on Machine Learning (ICML-2000)") public class GaussianUniformMixture<V extends NumberVector<V,?>> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
Reference:
Eskin, Eleazar: Anomaly detection over noisy data using learned probability
distributions. In Proc. of the Seventeenth International Conference on
Machine Learning (ICML-2000).
| Modifier and Type | Class and Description |
|---|---|
static class |
GaussianUniformMixture.Parameterizer<V extends NumberVector<V,?>>
Parameterization class.
|
| Modifier and Type | Field and Description |
|---|---|
private double |
c
Holds the value of
C_ID. |
static OptionID |
C_ID
Parameter to specify the cutoff.
|
static OptionID |
L_ID
Parameter to specify the fraction of expected outliers.
|
private static Logging |
logger
The logger for this class.
|
private double |
logl
log(l) precomputed
|
private double |
logml
log(1-l) precomputed
|
private static double |
SINGULARITY_CHEAT
Small value to increment diagonally of a matrix in order to avoid
singularity before building the inverse.
|
| Constructor and Description |
|---|
GaussianUniformMixture(double l,
double c)
Constructor with parameters.
|
| Modifier and Type | Method and Description |
|---|---|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
private double |
loglikelihoodAnomalous(DBIDs anomalousObjs)
Loglikelihood anomalous objects.
|
private double |
loglikelihoodNormal(DBIDs objids,
Relation<V> database)
Computes the loglikelihood of all normal objects.
|
OutlierResult |
run(Relation<V> relation) |
makeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging logger
public static final OptionID L_ID
public static final OptionID C_ID
private static final double SINGULARITY_CHEAT
private double c
C_ID.private double logl
private double logml
public GaussianUniformMixture(double l,
double c)
l - l valuec - c valuepublic OutlierResult run(Relation<V> relation) throws IllegalStateException
IllegalStateExceptionprivate double loglikelihoodAnomalous(DBIDs anomalousObjs)
anomalousObjs - private double loglikelihoodNormal(DBIDs objids, Relation<V> database)
objids - Object IDs for 'normal' objects.database - Databasepublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>