## 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
`SparseVector.NormalizingKernel(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(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()`

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(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 by `sqrt(nv_i)`.

  Specified by:
    `evaluate` in interface `SVMKernel`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`