public enum ShortFVComparison extends Enum<ShortFVComparison> implements ShortFVComparator
Enum Constant and Description |
---|
ARCCOS
The arccosine of the cosine similarity
|
BHATTACHARYYA
Bhattacharyya distance
d(H1,H2) = sqrt( 1 - (1 / sqrt(sumI(H1(I)) * sumI(H2(I))) ) * sumI( sqrt(H1(I) * H2(I)) ) )
|
CHI_SQUARE
Chi-squared distance
d(H1,H2) = 0.5 * sumI[(H1(I)-H2(I))^2 / (H1(I)+H2(I))]
|
CITY_BLOCK
City-block (L1) distance
d(H1,H2) = sumI( abs(H1(I)-H2(I)) )
|
CORRELATION
Correlation
s(H1,H2) = sumI( H'1(I) * H'2(I) ) / sqrt( sumI[H'1(I)2]^2 * sumI[H'2(I)^2] )
where
H'k(I) = Hk(I) - (1/N) * sumJ( Hk(J) ); N=number of FeatureVector bins
|
COSINE_DIST
Cosine distance (-COSINE_SIM)
|
COSINE_SIM
Cosine similarity (sim of 1 means identical)
s(H1,H2)=sumI(H1(I) * H2(I))) / (sumI(H1(I)^2) sumI(H2(I)^2))
|
EUCLIDEAN
Euclidean distance
d(H1,H2) = Math.sqrt( sumI( (H1(I)-H2(I))^2 ) )
|
HAMMING
Hamming Distance
d(H1,H2) = sumI(H1(I) == H2(I) ? 1 : 0)
|
INNER_PRODUCT
Inner product
s(H1,H2)=sumI(H1(I) * H2(I))
|
INTERSECTION
Histogram intersection
s(H1,H2) = sumI( min(H1(I), H2(I)) )
|
JACCARD_DISTANCE
Jaccard distance.
|
PACKED_HAMMING
Hamming Distance for packed bit strings
d(H1,H2) = sumI(H1(I) == H2(I) ? 1 : 0)
|
SUM_SQUARE
Sum-square distance
d(H1,H2) = sumI( (H1(I)-H2(I))^2 )
|
SYMMETRIC_KL_DIVERGENCE
The symmetric Kullback-Leibler divergence.
|
Modifier and Type | Method and Description |
---|---|
abstract double |
compare(short[] h1,
short[] h2)
Compare two feature vectors in the form of native arrays,
returning a score or distance.
|
double |
compare(ShortFV h1,
ShortFV h2)
Compare two objects, returning a score
or distance.
|
boolean |
isDistance() |
static ShortFVComparison |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static ShortFVComparison[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final ShortFVComparison EUCLIDEAN
public static final ShortFVComparison SUM_SQUARE
public static final ShortFVComparison CORRELATION
public static final ShortFVComparison CHI_SQUARE
public static final ShortFVComparison INTERSECTION
public static final ShortFVComparison BHATTACHARYYA
public static final ShortFVComparison HAMMING
public static final ShortFVComparison PACKED_HAMMING
public static final ShortFVComparison CITY_BLOCK
public static final ShortFVComparison COSINE_SIM
public static final ShortFVComparison COSINE_DIST
public static final ShortFVComparison ARCCOS
public static final ShortFVComparison SYMMETRIC_KL_DIVERGENCE
public static final ShortFVComparison JACCARD_DISTANCE
public static final ShortFVComparison INNER_PRODUCT
public static ShortFVComparison[] values()
for (ShortFVComparison c : ShortFVComparison.values()) System.out.println(c);
public static ShortFVComparison valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic boolean isDistance()
isDistance
in interface DistanceComparator<ShortFV>
public double compare(ShortFV h1, ShortFV h2)
DistanceComparator
compare
in interface DistanceComparator<ShortFV>
h1
- the first objecth2
- the second objectpublic abstract double compare(short[] h1, short[] h2)
compare
in interface ShortFVComparator
h1
- the first feature arrayh2
- the second feature array