Weighted sum of kernel functions. More...
#include <shark/Models/Kernels/SubrangeKernel.h>
Public Member Functions | |
std::string | name () const |
From INameable: return the class name. More... | |
template<class Kernels , class Ranges > | |
SubrangeKernel (Kernels const &kernels, Ranges const &ranges) | |
Weighted sum of kernel functions.
For a set of positive definite kernels \( k_1, \dots, k_n \) with positive coeffitients \( w_1, \dots, w_n \) the sum
\[ \tilde k(x_1, x_2) := \sum_{i=1}^{n} w_i \cdot k_i(x_1, x_2) \]
is again a positive definite kernel function. This still holds when the sub-kernels only operate of a subset of features, that is, when we have a direct sum kernel ( see e.g. the UCSC Technical Report UCSC-CRL-99-10: Convolution Kernels on Discrete Structures by David Haussler ).
This class is very similar to the #WeightedSumKernel , except that it assumes it's inputs to be tuples of values \( x=(x_1,\dots, x_n) \) and we calculate the direct sum of kernels
\[ \tilde k(x, y) := \sum_{i=1}^{n} w_i \cdot k_i(x_i, y_i) \]
Internally, the weights are represented as \( w_i = \exp(\xi_i) \) to allow for unconstrained optimization.
The result of the kernel evaluation is devided by the sum of the kernel weights, so that in total, this amounts to fixing the sum of the weights to one.
Definition at line 189 of file SubrangeKernel.h.
|
inline |
Definition at line 202 of file SubrangeKernel.h.
|
inline |
From INameable: return the class name.
Definition at line 198 of file SubrangeKernel.h.