Package org.biojava.stats.svm
Class SparseVector.NormalizingKernel
- java.lang.Object
-
- org.biojava.stats.svm.SparseVector.NormalizingKernel
-
- All Implemented Interfaces:
Serializable
,SVMKernel
- Enclosing class:
- SparseVector
public static class SparseVector.NormalizingKernel extends Object implements SVMKernel, Serializable
A version of the standard dot-product kernel that scales each column independently.- Author:
- Matthew Pocock
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description NormalizingKernel(List vectors)
Generate a normalizing kernel defined by the SparseVectors in vectors.NormalizingKernel(SparseVector s)
Generate a normalizing kernel with the normalizing vector s.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
evaluate(Object o1, Object o2)
Evaluate the kernel function between two SparseVectors.SparseVector
getNormalizingVector()
Retrive the current normalizing vector.void
setNormalizingVector(SparseVector nv)
Set the normalizing vector.String
toString()
-
-
-
Constructor Detail
-
NormalizingKernel
public NormalizingKernel(SparseVector s)
Generate a normalizing kernel with the normalizing vector s.- Parameters:
s
- the SparseVector to normalize by
-
NormalizingKernel
public NormalizingKernel(List vectors)
Generate a normalizing kernel defined by the SparseVectors in vectors.It will set up a normalizing vector that has weight that will scale each element so that the average score is 1.
-
-
Method Detail
-
getNormalizingVector
public SparseVector getNormalizingVector()
Retrive the current normalizing vector.- Returns:
- the normalizing vector
-
setNormalizingVector
public void setNormalizingVector(SparseVector nv)
Set the normalizing vector.- Parameters:
nv
- the new normalizing vector
-
evaluate
public double evaluate(Object o1, Object o2)
Evaluate the kernel function between two SparseVectors.This function is equivalent to:
k(a, b) = sum_i ( a_i * b_i * nv_i )
where nv_i is the value of the normalizing vector at index i. This can be thought of as scaling each vector at index i bysqrt(nv_i)
.
-
-