be.ac.ulb.mlg.utils.measure
Class HilbertSchmidt

java.lang.Object
  extended by be.ac.ulb.mlg.utils.measure.HilbertSchmidt
All Implemented Interfaces:
Measure

public class HilbertSchmidt
extends Object
implements Measure

Compute the Hilbert-Schmidt independence criterion according to the estimate in the paper "On Kernel Parameter Selection in Hilbert-Schmidt Independence Criterion" p.3


Field Summary
 
Fields inherited from interface be.ac.ulb.mlg.utils.Measure
ERROR_VALUE
 
Constructor Summary
HilbertSchmidt()
          Initializing the Hilbert-Schmidt independence criterion to use the Gaussian Kernel
HilbertSchmidt(Kernel kernelA, Kernel kernelB)
          Initializing the Hilbert-Schmidt independence criterion with specified kernels
 
Method Summary
 boolean hasNativeImplementation()
          Know if the measure owns a native implementation
 double measure(double[] A, double[] B, boolean[] computable)
          Compute the measure between two data vectors
static double norm(double[] A, double[] B, boolean[] computable)
           
 boolean requireDataTransformation()
          Know if the measure need to transform input data (input data are copied to be preserved)
 void transform(double[][] data)
          The transformation method called before measurement
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HilbertSchmidt

public HilbertSchmidt(Kernel kernelA,
                      Kernel kernelB)
Initializing the Hilbert-Schmidt independence criterion with specified kernels

Parameters:
kernelA - kernel for the first vector values
kernelA - kernel for the second vector values

HilbertSchmidt

public HilbertSchmidt()
Initializing the Hilbert-Schmidt independence criterion to use the Gaussian Kernel

Method Detail

measure

public double measure(double[] A,
                      double[] B,
                      boolean[] computable)
Description copied from interface: Measure
Compute the measure between two data vectors

Specified by:
measure in interface Measure
Parameters:
A - The first data vector
B - The second data vector
computable - Boolean vector set to true except for indexes they must be ignored during the measurement
Returns:
The measure between a and b

norm

public static double norm(double[] A,
                          double[] B,
                          boolean[] computable)

hasNativeImplementation

public boolean hasNativeImplementation()
Description copied from interface: Measure
Know if the measure owns a native implementation

Specified by:
hasNativeImplementation in interface Measure
Returns:
True if the measure is also natively implemented

requireDataTransformation

public boolean requireDataTransformation()
Description copied from interface: Measure
Know if the measure need to transform input data (input data are copied to be preserved)

Specified by:
requireDataTransformation in interface Measure
Returns:
True if the input data require some transformation

transform

public void transform(double[][] data)
Description copied from interface: Measure
The transformation method called before measurement

Specified by:
transform in interface Measure
Parameters:
data - An input data vector to be measured