Kernel Functions
Kernel functions form a class of algorithms for pattern analysis. The
main characteristic of kernel functions is a distinct approach to
this problem. Instead of reducing the dimension of the original data,
kernel functions map the data into higher-dimensional spaces in order
to make the data more easily separable there.
Linear Kernel
A linear kernel is the simplest kernel function.
Problem Statement
Given a set
of dimension
, the problem is to
compute the linear kernel function
for
any pair of input vectors:
.
X
of n
feature vectors
p
and a set Y
of m
feature vectors
Batch Processing
Algorithm Input
The linear kernel function accepts the input described below. Pass
the
Input ID
as a parameter to the methods that provide input for
your algorithm.Input ID | Input |
---|---|
X | Pointer to the
|
Y | Pointer to the
|
Algorithm Parameters
The linear kernel function has the following parameters:
Parameter | Default Value | Description |
---|---|---|
algorithmFPType | float | The floating-point type that the algorithm uses for intermediate computations. Can be float or double . |
method | defaultDense | Available computation methods:
|
computationMode | matrixMatrix | Computation mode for the kernel function. Can be: For CPU:
For GPU:
|
rowIndexX | 0 | Index i of the vector in the set X for the vectorVector computation mode. |
rowIndexY | 0 | Index j of the vector in the set Y for the vectorVector or matrixVector computation mode. |
rowIndexResult | 0 | Row index in the values numeric table to locate the result of the computation for the vectorVector computation mode. |
k | 1.0 | The coefficient k of the linear kernel. |
b | 0.0 | The coefficient b of the linear kernel. |
Algorithm Output
The linear kernel function calculates the results described below.
Pass the
Result ID
as a parameter to the methods that access the results of your algorithm.Result ID | Result |
---|---|
values | Pointer to the
By default, this result is an object of the HomogenNumericTable class,
but you can define the result as an object of any class derived from NumericTable
except PackedSymmetricMatrix , PackedTriangularMatrix , and CSRNumericTable . |
Examples
oneAPI DPC++
Batch Processing:
oneAPI C++
Batch Processing:
C++ (CPU)
Batch Processing:
Java*
There is no support for Java on GPU.
Batch Processing:
Radial Basis Function Kernel
The Radial Basis Function (RBF) kernel is a popular kernel function
used in kernelized learning algorithms.
Problem Statement
Given a set
of dimension
,
the problem is to compute the RBF kernel function
for any pair of input vectors:
X
of n
feature vectors
p
and a set Y
of m
feature vectors
Batch Processing
Algorithm Input
The RBF kernel accepts the input described below. Pass the Input
ID as a parameter to the methods that provide input for your
algorithm.
Input ID | Input |
---|---|
X | Pointer to the
X . This table can be an object of any class derived from NumericTable . |
Y | Pointer to the
Y . This table can be an object of any class derived from NumericTable . |
Algorithm Parameters
The RBF kernel has the following parameters:
Parameter | Default Value | Description |
---|---|---|
algorithmFPType | float | The floating-point type that the algorithm uses for intermediate computations. Can be float or double . |
method | defaultDense | Available computation methods:
|
computationMode | matrixMatrix | Computation mode for the kernel function. Can be: For CPU:
For GPU:
|
rowIndexX | 0 | Index i of the vector in the set X for the vectorVector computation mode. |
rowIndexY | 0 | Index j of the vector in the set Y for the vectorVector or matrixVector computation mode. |
rowIndexResult | 0 | Row index in the values numeric table to locate the result of the computation for the vectorVector computation mode. |
sigma | 1.0 | The coefficient
|
Algorithm Output
The RBF kernel calculates the results described below. Pass the
Result ID as a parameter to the methods that access the results of
your algorithm.
Result ID | Result |
---|---|
values | Pointer to the
By default, this result is an object of the HomogenNumericTable class,
but you can define the result as an object of any class derived from NumericTable
except PackedSymmetricMatrix , PackedTriangularMatrix , and CSRNumericTable . |
Examples
oneAPI DPC++
Batch Processing:
oneAPI C++
Batch Processing:
C++ (CPU)
Batch Processing:
Java*
There is no support for Java on GPU.
Batch Processing: