smile.math.kernel
Class HyperbolicTangentKernel
- java.lang.Object
-
- smile.math.kernel.HyperbolicTangentKernel
-
- All Implemented Interfaces:
- java.io.Serializable, MercerKernel<double[]>
public class HyperbolicTangentKernel extends java.lang.Object implements MercerKernel<double[]>, java.io.Serializable
The hyperbolic tangent kernel. k(u, v) = tanh(γ uTv - λ), where γ is the scale of the used inner product and λ is the offset of the used inner product. If the offset is negative the likelihood of obtaining a kernel matrix that is not positive definite is much higher (since then even some diagonal elements may be negative), hence if this kernel has to be used, the offset should always be positive. Note, however, that this is no guarantee that the kernel will be positive.The hyperbolic tangent kernel was quite popular for support vector machines due to its origin from neural networks. However, it should be used carefully since the kernel matrix may not be positive semi-definite. Besides, it was reported the hyperbolic tangent kernel is not better than the Gaussian kernel in general.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description HyperbolicTangentKernel()Constructor.HyperbolicTangentKernel(double scale, double offset)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublek(double[] x, double[] y)Kernel function.java.lang.StringtoString()
-
-
-
Constructor Detail
-
HyperbolicTangentKernel
public HyperbolicTangentKernel()
Constructor.
-
HyperbolicTangentKernel
public HyperbolicTangentKernel(double scale, double offset)Constructor.
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
k
public double k(double[] x, double[] y)Description copied from interface:MercerKernelKernel function.- Specified by:
kin interfaceMercerKernel<double[]>
-
-
DataMelt 3.0 © DataMelt by jWork.ORG