## org.biojava.stats.svm
Class SparseVector.NormalizingKernel

    java.lang.Object
      |
      +--org.biojava.stats.svm.SparseVector.NormalizingKernel

Enclosing class:
  SparseVector

public static class SparseVector.NormalizingKernel
extends java.lang.Object
implements SVMKernel, java.io.Serializable

A version of the standard dot-product kernel that scales each column independantly.

Author:
  Matthew Pocock
See Also:
  Serialized Form

Constructor Summary
`SparseVector.NormalizingKernel(java.util.List vectors)` Generate a normalizing kernel defined by the SparseVectors in vectors.
`SparseVector.NormalizingKernel(SparseVector s)` Generate a normalizing kernel with the normalizing vector s.

Method Summary
`double` `evaluate(java.lang.Object o1, java.lang.Object o2)` Evaluate the kernel function between two SparseVectors.
`SparseVector` `getNormalizingVector()` Retrive the current normalizing vector.
`void` `setNormalizingVector(SparseVector nv)` Set the normalizing vector.
`java.lang.String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### SparseVector.NormalizingKernel

    public SparseVector.NormalizingKernel(SparseVector s)

  Generate a normalizing kernel with the normalizing vector s.
  Parameters:
    `s` - the SparseVector to normalize by

### SparseVector.NormalizingKernel

    public SparseVector.NormalizingKernel(java.util.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:
    `the` - new normalizing vector

### evaluate

    public double evaluate(java.lang.Object o1,
                           java.lang.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 by `sqrt(nv_i)`.

  Specified by:
    evaluate in interface SVMKernel

### toString

    public java.lang.String toString()

  Overrides:
    toString in class java.lang.Object