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 doubleevaluate(Object o1, Object o2)Evaluate the kernel function between two SparseVectors.SparseVectorgetNormalizingVector()Retrive the current normalizing vector.voidsetNormalizingVector(SparseVector nv)Set the normalizing vector.StringtoString() 
 - 
 
- 
- 
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). 
 - 
 
 -