Package smile.math.kernel
Class PolynomialKernel
java.lang.Object
smile.math.kernel.Polynomial
smile.math.kernel.PolynomialKernel
- All Implemented Interfaces:
Serializable
,ToDoubleBiFunction<double[],
,double[]> Function
,DotProductKernel
,MercerKernel<double[]>
The polynomial kernel.
k(u, v) = (γ uTv - λ)d
where γ is the scale of the used inner product, λ the offset of the used inner product, and d the order of the polynomial kernel.
- See Also:
-
Constructor Summary
ConstructorDescriptionPolynomialKernel
(int degree) Constructor with scale 1 and offset 0.PolynomialKernel
(int degree, double scale, double offset) Constructor.PolynomialKernel
(int degree, double scale, double offset, double[] lo, double[] hi) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
hi()
Returns the upper bound of hyperparameters (in hyperparameter tuning).double[]
Returns the hyperparameters of kernel.double
k
(double[] x, double[] y) Kernel function.double[]
kg
(double[] x, double[] y) Computes the kernel and its gradient over hyperparameters.double[]
lo()
Returns the lower bound of hyperparameters (in hyperparameter tuning).of
(double[] params) Returns the same kind kernel with the new hyperparameters.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface smile.math.kernel.DotProductKernel
apply, f, K
Methods inherited from interface smile.math.kernel.MercerKernel
apply, applyAsDouble, K, K, KG
-
Constructor Details
-
PolynomialKernel
public PolynomialKernel(int degree) Constructor with scale 1 and offset 0.- Parameters:
degree
- The degree of polynomial.
-
PolynomialKernel
public PolynomialKernel(int degree, double scale, double offset) Constructor.- Parameters:
degree
- The degree of polynomial.scale
- The scale parameter.offset
- The offset parameter.
-
PolynomialKernel
public PolynomialKernel(int degree, double scale, double offset, double[] lo, double[] hi) Constructor.- Parameters:
degree
- The degree of polynomial. The degree is fixed during hyperparameter tuning.scale
- The scale parameter.offset
- The offset parameter.lo
- The lower bound of scale and offset for hyperparameter tuning.hi
- The upper bound of scale and offset for hyperparameter tuning.
-
-
Method Details
-
k
public double k(double[] x, double[] y) Description copied from interface:MercerKernel
Kernel function.- Specified by:
k
in interfaceMercerKernel<double[]>
- Parameters:
x
- an object.y
- an object.- Returns:
- the kernel value.
-
kg
public double[] kg(double[] x, double[] y) Description copied from interface:MercerKernel
Computes the kernel and its gradient over hyperparameters.- Specified by:
kg
in interfaceMercerKernel<double[]>
- Parameters:
x
- an object.y
- an object.- Returns:
- the kernel value and gradient.
-
of
Description copied from interface:MercerKernel
Returns the same kind kernel with the new hyperparameters.- Specified by:
of
in interfaceMercerKernel<double[]>
- Parameters:
params
- the hyperparameters.- Returns:
- the same kind kernel with the new hyperparameters.
-
hyperparameters
public double[] hyperparameters()Description copied from interface:MercerKernel
Returns the hyperparameters of kernel.- Specified by:
hyperparameters
in interfaceMercerKernel<double[]>
- Returns:
- the hyperparameters of kernel.
-
lo
public double[] lo()Description copied from interface:MercerKernel
Returns the lower bound of hyperparameters (in hyperparameter tuning).- Specified by:
lo
in interfaceMercerKernel<double[]>
- Returns:
- the lower bound of hyperparameters.
-
hi
public double[] hi()Description copied from interface:MercerKernel
Returns the upper bound of hyperparameters (in hyperparameter tuning).- Specified by:
hi
in interfaceMercerKernel<double[]>
- Returns:
- the upper bound of hyperparameters.
-