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="E. Eskin", title="Anomaly detection over noisy data using learned probability distributions", booktitle="Proc. 17th Int. Conf. on Machine Learning (ICML-2000)", url="https://doi.org/10.7916/D8C53SKF", bibkey="DBLP:conf/icml/Eskin00") public class GaussianUniformMixture<V extends NumberVector> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
Reference:
E. Eskin
Anomaly detection over noisy data using learned probability distributions
Proc. 17th Int. Conf. on Machine Learning (ICML-2000)
Modifier and Type | Class and Description |
---|---|
static class |
GaussianUniformMixture.Parameterizer<V extends NumberVector>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private double |
c
Holds the cutoff value.
|
private static Logging |
LOG
The logger for this class.
|
private double |
logl
log(l) precomputed
|
private double |
logml
log(1-l) precomputed
|
private static int |
MAX_ITER
Maximum number of iterations to do.
|
ALGORITHM_ID
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,
SetDBIDs anomalous,
CovarianceMatrix builder,
Relation<V> relation)
Computes the loglikelihood of all normal objects.
|
OutlierResult |
run(Relation<V> relation)
Run the algorithm
|
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
private static final int MAX_ITER
private double c
private double logl
private double logml
public GaussianUniformMixture(double l, double c)
l
- l valuec
- c valuepublic OutlierResult run(Relation<V> relation)
relation
- Data relationprivate double loglikelihoodAnomalous(DBIDs anomalousObjs)
anomalousObjs
- private double loglikelihoodNormal(DBIDs objids, SetDBIDs anomalous, CovarianceMatrix builder, Relation<V> relation)
objids
- Object IDs for 'normal' objects.builder
- Covariance matrix builderrelation
- Databasepublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>
Copyright © 2019 ELKI Development Team. License information.