The class PolyMatchWordStringKernel computes a variant of the polynomial kernel on word-features.
It makes sense for strings of same length mapped to word features and is computed as
where I is the indicator function which evaluates to 1 if its argument is true and to 0 otherwise.
Note that additional normalisation is applied, i.e.
Definition at line 38 of file PolyMatchWordStringKernel.h.
Public Member Functions | |
CPolyMatchWordStringKernel () | |
CPolyMatchWordStringKernel (int32_t size, int32_t degree, bool inhomogene) | |
CPolyMatchWordStringKernel (CStringFeatures< uint16_t > *l, CStringFeatures< uint16_t > *r, int32_t degree, bool inhomogene) | |
virtual | ~CPolyMatchWordStringKernel () |
virtual bool | init (CFeatures *l, CFeatures *r) |
virtual void | cleanup () |
virtual EKernelType | get_kernel_type () |
virtual const char * | get_name () const |
Protected Member Functions | |
virtual float64_t | compute (int32_t idx_a, int32_t idx_b) |
Protected Attributes | |
int32_t | degree |
bool | inhomogene |
CPolyMatchWordStringKernel | ( | void | ) |
default constructor
Definition at line 20 of file PolyMatchWordStringKernel.cpp.
CPolyMatchWordStringKernel | ( | int32_t | size, | |
int32_t | degree, | |||
bool | inhomogene | |||
) |
constructor
size | cache size | |
degree | degree | |
inhomogene | is inhomogeneous |
Definition at line 26 of file PolyMatchWordStringKernel.cpp.
CPolyMatchWordStringKernel | ( | CStringFeatures< uint16_t > * | l, | |
CStringFeatures< uint16_t > * | r, | |||
int32_t | degree, | |||
bool | inhomogene | |||
) |
constructor
l | features of left-hand side | |
r | features of right-hand side | |
degree | degree | |
inhomogene | is inhomogeneous |
Definition at line 35 of file PolyMatchWordStringKernel.cpp.
~CPolyMatchWordStringKernel | ( | ) | [virtual] |
Definition at line 47 of file PolyMatchWordStringKernel.cpp.
void cleanup | ( | ) | [virtual] |
clean up kernel
Reimplemented from CKernel.
Definition at line 58 of file PolyMatchWordStringKernel.cpp.
float64_t compute | ( | int32_t | idx_a, | |
int32_t | idx_b | |||
) | [protected, virtual] |
compute kernel function for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object
idx_a | index a | |
idx_b | index b |
Implements CKernel.
Definition at line 63 of file PolyMatchWordStringKernel.cpp.
virtual EKernelType get_kernel_type | ( | ) | [virtual] |
return what type of kernel we are
Implements CStringKernel< uint16_t >.
Definition at line 78 of file PolyMatchWordStringKernel.h.
virtual const char* get_name | ( | void | ) | const [virtual] |
return the kernel's name
Reimplemented from CStringKernel< uint16_t >.
Definition at line 84 of file PolyMatchWordStringKernel.h.
initialize kernel
l | features of left-hand side | |
r | features of right-hand side |
Reimplemented from CStringKernel< uint16_t >.
Definition at line 52 of file PolyMatchWordStringKernel.cpp.
int32_t degree [protected] |
degree
Definition at line 102 of file PolyMatchWordStringKernel.h.
bool inhomogene [protected] |
if kernel is inhomogeneous
Definition at line 104 of file PolyMatchWordStringKernel.h.