@Reference(authors="H. Jeffreys",title="An invariant form for the prior probability in estimation problems",booktitle="Proc. Royal Society A: Mathematical, Physical and Engineering Sciences 186(1007)",url="https://doi.org/10.1098/rspa.1946.0056",bibkey="doi:10.1098/rspa.1946.0056") @Reference(authors="J. Puzicha, J. M. Buhmann, Y. Rubner, C. Tomasi",title="Empirical evaluation of dissimilarity measures for color and texture",booktitle="Proc. 7th IEEE International Conference on Computer Vision",url="https://doi.org/10.1109/ICCV.1999.790412",bibkey="DBLP:conf/iccv/PuzichaRTB99") @Reference(authors="F. Tops\u00f8e",title="Some inequalities for information divergence and related measures of discrimination",booktitle="IEEE Transactions on information theory, 46(4)",url="https://doi.org/10.1109/18.850703",bibkey="DBLP:journals/tit/Topsoe00") @Reference(authors="D. M. Endres, J. E. Schindelin",title="A new metric for probability distributions",booktitle="IEEE Transactions on Information Theory 49(7)",url="https://doi.org/10.1109/TIT.2003.813506",bibkey="DBLP:journals/tit/EndresS03") @Alias(value="j-divergence") public class JeffreyDivergenceDistanceFunction extends AbstractNumberVectorDistanceFunction implements SpatialPrimitiveDistanceFunction<NumberVector>
NumberVectors is a symmetric, smoothened
version of the KullbackLeiblerDivergenceAsymmetricDistanceFunction.
Topsøe called this "capacitory discrimination".
\[JD(\vec{x},\vec{y}):= \sum\nolimits_i x_i\log\tfrac{2x_i}{x_i+y_i}+y_i\log\tfrac{2y_i}{x_i+y_i} = KL(\vec{x},\tfrac12(\vec{x}+\vec{y})) + KL(\vec{y},\tfrac12(\vec{x}+\vec{y}))\]
Reference:
H. Jeffreys
An invariant form for the prior probability in estimation problems
Proc. Royal Society A: Mathematical, Physical and Engineering Sciences
186(1007)
J. Puzicha, J. M. Buhmann, Y. Rubner, C. Tomasi
Empirical evaluation of dissimilarity measures for color and texture
Proc. 7th IEEE International Conference on Computer Vision
F. Topsøe
Some inequalities for information divergence and related measures of
discrimination
IEEE Transactions on information theory, 46(4)
D. M. Endres, J. E. Schindelin
A new metric for probability distributions
IEEE Transactions on Information Theory 49(7)
TODO: add support for sparse vectors + varying length
| Modifier and Type | Class and Description |
|---|---|
static class |
JeffreyDivergenceDistanceFunction.Parameterizer
Parameterization class, using the static instance.
|
| Modifier and Type | Field and Description |
|---|---|
static JeffreyDivergenceDistanceFunction |
STATIC
Static instance.
|
| Constructor and Description |
|---|
JeffreyDivergenceDistanceFunction()
Deprecated.
Use static instance!
|
| Modifier and Type | Method and Description |
|---|---|
double |
distance(NumberVector v1,
NumberVector v2)
Computes the distance between two given DatabaseObjects according to this
distance function.
|
boolean |
equals(java.lang.Object obj) |
int |
hashCode() |
boolean |
isSquared()
Squared distances, that would become metric after square root.
|
double |
minDist(SpatialComparable mbr1,
SpatialComparable mbr2)
Computes the distance between the two given MBRs according to this distance
function.
|
java.lang.String |
toString() |
dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, dimensionality, getInputTypeRestrictionclone, finalize, getClass, notify, notifyAll, wait, wait, waitinstantiategetInputTypeRestrictionisMetric, isSymmetricpublic static final JeffreyDivergenceDistanceFunction STATIC
@Deprecated public JeffreyDivergenceDistanceFunction()
STATIC instead.public double distance(NumberVector v1, NumberVector v2)
PrimitiveDistanceFunctiondistance in interface NumberVectorDistanceFunction<NumberVector>distance in interface PrimitiveDistanceFunction<NumberVector>v1 - first DatabaseObjectv2 - second DatabaseObjectpublic double minDist(SpatialComparable mbr1, SpatialComparable mbr2)
SpatialPrimitiveDistanceFunctionminDist in interface SpatialPrimitiveDistanceFunction<NumberVector>mbr1 - the first MBR objectmbr2 - the second MBR objectpublic boolean isSquared()
DistanceFunctionisSquared in interface DistanceFunction<NumberVector>true when squared.public java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.ObjectCopyright © 2019 ELKI Development Team. License information.