CPolyMatchWordStringKernel Class Reference


Detailed Description

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

\[ k({\bf x},{\bf x'})= (\sum_{i=0}^L I(x_i=x'_i)+c)^d \]

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.

\[ k'({\bf x}, {\bf x'})=\frac{k({\bf x}, {\bf x'})}{\sqrt{k({\bf x}, {\bf x})k({\bf x'}, {\bf x'})}} \]

Definition at line 36 of file PolyMatchWordStringKernel.h.

Inheritance diagram for CPolyMatchWordStringKernel:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 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 bool load_init (FILE *src)
virtual bool save_init (FILE *dest)
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

Constructor & Destructor Documentation

CPolyMatchWordStringKernel::CPolyMatchWordStringKernel ( int32_t  size,
int32_t  degree,
bool  inhomogene 
)

constructor

Parameters:
size cache size
degree degree
inhomogene is inhomogeneous

Definition at line 18 of file PolyMatchWordStringKernel.cpp.

CPolyMatchWordStringKernel::CPolyMatchWordStringKernel ( CStringFeatures< uint16_t > *  l,
CStringFeatures< uint16_t > *  r,
int32_t  degree,
bool  inhomogene 
)

constructor

Parameters:
l features of left-hand side
r features of right-hand side
degree degree
inhomogene is inhomogeneous

Definition at line 24 of file PolyMatchWordStringKernel.cpp.

CPolyMatchWordStringKernel::~CPolyMatchWordStringKernel (  )  [virtual]

Definition at line 32 of file PolyMatchWordStringKernel.cpp.


Member Function Documentation

void CPolyMatchWordStringKernel::cleanup (  )  [virtual]

clean up kernel

Reimplemented from CKernel.

Definition at line 43 of file PolyMatchWordStringKernel.cpp.

float64_t CPolyMatchWordStringKernel::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

Parameters:
idx_a index a
idx_b index b
Returns:
computed kernel function at indices a,b

Implements CKernel.

Definition at line 58 of file PolyMatchWordStringKernel.cpp.

virtual EKernelType CPolyMatchWordStringKernel::get_kernel_type (  )  [virtual]

return what type of kernel we are

Returns:
kernel type POLYMATCH

Implements CKernel.

Definition at line 87 of file PolyMatchWordStringKernel.h.

virtual const char* CPolyMatchWordStringKernel::get_name (  )  const [virtual]

return the kernel's name

Returns:
name PolyMatchWord

Implements CSGObject.

Definition at line 93 of file PolyMatchWordStringKernel.h.

bool CPolyMatchWordStringKernel::init ( CFeatures l,
CFeatures r 
) [virtual]

initialize kernel

Parameters:
l features of left-hand side
r features of right-hand side
Returns:
if initializing was successful

Reimplemented from CStringKernel< uint16_t >.

Definition at line 37 of file PolyMatchWordStringKernel.cpp.

bool CPolyMatchWordStringKernel::load_init ( FILE *  src  )  [virtual]

load kernel init_data

Parameters:
src file to load from
Returns:
if loading was successful

Implements CKernel.

Definition at line 48 of file PolyMatchWordStringKernel.cpp.

bool CPolyMatchWordStringKernel::save_init ( FILE *  dest  )  [virtual]

save kernel init_data

Parameters:
dest file to save to
Returns:
if saving was successful

Implements CKernel.

Definition at line 53 of file PolyMatchWordStringKernel.cpp.


Member Data Documentation

degree

Definition at line 108 of file PolyMatchWordStringKernel.h.

if kernel is inhomogeneous

Definition at line 110 of file PolyMatchWordStringKernel.h.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation