Class CachingKernel

  • All Implemented Interfaces:
    java.io.Serializable, SVMKernel

    public class CachingKernel
    extends NestedKernel

    Caches the results of a nested kernel so that k(a, b) need only be calculated once.

    This kernel is thread-safe. However, care must be taken when setting the nested kernel that no other thread is retrieving values at the same time. This would cause a race condition in which the newly flushed cache may contain a value from the previous kernel.

    Author:
    Thomas Down, Matthew Pocock
    See Also:
    Serialized Form
    • Constructor Detail

      • CachingKernel

        public CachingKernel()
      • CachingKernel

        public CachingKernel​(SVMKernel k)
    • Method Detail

      • evaluate

        public double evaluate​(java.lang.Object x,
                               java.lang.Object y)
        Description copied from interface: SVMKernel
        Return the dot product of two vectors in an arbitrary feature space. In this implementation, the `vectors' can actually be arbitrary objects.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object