Computes the Tensor Product Pair Kernel (TPPK).
Formally, it computes
It is defined on pairs of inputs and a subkernel . The subkernel has to be given on initialization. The pairs are specified via indizes (ab)using 2-dimensional integer features.
Its feature space is the tensor product of the feature spaces of the subkernel
on its input.
It is often used in bioinformatics, e.g., to predict protein-protein interactions.
Definition at line 35 of file TensorProductPairKernel.h.
Public Member Functions | |
CTensorProductPairKernel (int32_t size, CKernel *subkernel) | |
CTensorProductPairKernel (CSimpleFeatures< int32_t > *l, CSimpleFeatures< int32_t > *r, CKernel *subkernel) | |
virtual | ~CTensorProductPairKernel () |
virtual bool | init (CFeatures *l, CFeatures *r) |
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 | |
CKernel * | subkernel |
CTensorProductPairKernel::CTensorProductPairKernel | ( | int32_t | size, | |
CKernel * | subkernel | |||
) |
constructor
size | cache size | |
subkernel | the subkernel |
Definition at line 17 of file TensorProductPairKernel.cpp.
CTensorProductPairKernel::CTensorProductPairKernel | ( | CSimpleFeatures< int32_t > * | l, | |
CSimpleFeatures< int32_t > * | r, | |||
CKernel * | subkernel | |||
) |
constructor
l | features of left-hand side | |
r | features of right-hand side | |
subkernel | the subkernel |
Definition at line 23 of file TensorProductPairKernel.cpp.
CTensorProductPairKernel::~CTensorProductPairKernel | ( | ) | [virtual] |
Definition at line 30 of file TensorProductPairKernel.cpp.
float64_t CTensorProductPairKernel::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 53 of file TensorProductPairKernel.cpp.
virtual EKernelType CTensorProductPairKernel::get_kernel_type | ( | ) | [virtual] |
return what type of kernel we are
Implements CKernel.
Definition at line 81 of file TensorProductPairKernel.h.
virtual const char* CTensorProductPairKernel::get_name | ( | ) | const [virtual] |
return the kernel's name
Implements CSGObject.
Definition at line 87 of file TensorProductPairKernel.h.
initialize kernel
l | features of left-hand side | |
r | features of right-hand side |
Reimplemented from CSimpleKernel< int32_t >.
Definition at line 36 of file TensorProductPairKernel.cpp.
bool CTensorProductPairKernel::load_init | ( | FILE * | src | ) | [virtual] |
load kernel init_data
src | file to load from |
Implements CKernel.
Definition at line 43 of file TensorProductPairKernel.cpp.
bool CTensorProductPairKernel::save_init | ( | FILE * | dest | ) | [virtual] |
save kernel init_data
dest | file to save to |
Implements CKernel.
Definition at line 48 of file TensorProductPairKernel.cpp.
CKernel* CTensorProductPairKernel::subkernel [protected] |
the subkernel
Definition at line 102 of file TensorProductPairKernel.h.