Package org.biojava.stats.svm
Class NormalizingKernel
- java.lang.Object
-
- org.biojava.stats.svm.NestedKernel
-
- org.biojava.stats.svm.NormalizingKernel
-
- All Implemented Interfaces:
Serializable
,SVMKernel
public class NormalizingKernel extends NestedKernel
Performs a normalization on the results of a nested kernel.This is equivalent to making the locations in feature space of the nested kernel unit vectors lying on a unit sphere. The dot product in feature space then becomes just
cos theta
rather than||a|| * ||b|| * cos theta
as both lengths are 1. The length of a in the feature space of kernel k issqrt( k(a, a) )
, so that the normalizing kernel ends up calculatingk(a, b) / sqrt( k(a, a) * k(b, b) )
.As the values of k(x, x) are required repeatedly, it may be worth making the nested kernel a DiagonalCachingKernel.
- Author:
- Thomas Down, Matthew Pocock
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description NormalizingKernel()
NormalizingKernel(SVMKernel k)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
evaluate(Object a, Object b)
Return the dot product of two vectors in an arbitrary feature space.String
toString()
-
Methods inherited from class org.biojava.stats.svm.NestedKernel
getNestedKernel, setNestedKernel
-
-
-
-
Constructor Detail
-
NormalizingKernel
public NormalizingKernel()
-
NormalizingKernel
public NormalizingKernel(SVMKernel k)
-
-