Package elki.distance.probabilistic
Class KullbackLeiblerDivergenceReverseAsymmetricDistance
- java.lang.Object
-
- elki.distance.AbstractNumberVectorDistance
-
- elki.distance.probabilistic.KullbackLeiblerDivergenceReverseAsymmetricDistance
-
- All Implemented Interfaces:
Distance<NumberVector>,NumberVectorDistance<NumberVector>,PrimitiveDistance<NumberVector>
@Reference(authors="S. Kullback", title="Information theory and statistics", booktitle="", bibkey="books/dover/Kullback59") @Alias("kli") public class KullbackLeiblerDivergenceReverseAsymmetricDistance extends AbstractNumberVectorDistance
Kullback-Leibler divergence, also known as relative entropy, information deviation or just KL-distance (albeit asymmetric).\[KL_R(\vec{x},\vec{y}):=\sum\nolimits_i y_i\log\tfrac{y_i}{x_i} = KL(\vec{y},\vec{x})\]
This version has the arguments reversed, see
KullbackLeiblerDivergenceAsymmetricDistancefor the "forward" version.For a symmetric version, see
JeffreyDivergenceDistance.Reference:
S. Kullback
Information theory and statistics- Since:
- 0.6.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classKullbackLeiblerDivergenceReverseAsymmetricDistance.ParParameterization class, using the static instance.
-
Field Summary
Fields Modifier and Type Field Description static KullbackLeiblerDivergenceReverseAsymmetricDistanceSTATICStatic instance.
-
Constructor Summary
Constructors Constructor Description KullbackLeiblerDivergenceReverseAsymmetricDistance()Deprecated.Use static instance!
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doubledistance(NumberVector v1, NumberVector v2)Computes the distance between two given vectors according to this distance function.booleanequals(java.lang.Object obj)inthashCode()booleanisSymmetric()Is this function symmetric?java.lang.StringtoString()-
Methods inherited from class elki.distance.AbstractNumberVectorDistance
dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, getInputTypeRestriction
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface elki.distance.PrimitiveDistance
instantiate
-
-
-
-
Field Detail
-
STATIC
public static final KullbackLeiblerDivergenceReverseAsymmetricDistance STATIC
Static instance. Use this!
-
-
Method Detail
-
distance
public double distance(NumberVector v1, NumberVector v2)
Description copied from interface:NumberVectorDistanceComputes the distance between two given vectors according to this distance function.- Parameters:
v1- first vectorv2- second vector- Returns:
- the distance between two given vectors according to this distance function
-
isSymmetric
public boolean isSymmetric()
Description copied from interface:DistanceIs this function symmetric?- Returns:
truewhen symmetric
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-