SHOGUN
v1.1.0
|
The Weighted Degree String kernel.
The WD kernel of order d compares two sequences and
of length L by summing all contributions of k-mer matches of lengths
, weighted by coefficients
. It is defined as
Here, is the string of length k starting at position l of the sequence
and
is the indicator function which evaluates to 1 when its argument is true and to 0 otherwise.
Definition at line 53 of file WeightedDegreeStringKernel.h.
Static Public Member Functions | |
static void * | compute_batch_helper (void *p) |
Protected Member Functions | |
void | create_empty_tries () |
void | add_example_to_tree (int32_t idx, float64_t weight) |
void | add_example_to_single_tree (int32_t idx, float64_t weight, int32_t tree_num) |
void | add_example_to_tree_mismatch (int32_t idx, float64_t weight) |
void | add_example_to_single_tree_mismatch (int32_t idx, float64_t weight, int32_t tree_num) |
float64_t | compute_by_tree (int32_t idx) |
float64_t | compute (int32_t idx_a, int32_t idx_b) |
float64_t | compute_with_mismatch (char *avec, int32_t alen, char *bvec, int32_t blen) |
float64_t | compute_without_mismatch (char *avec, int32_t alen, char *bvec, int32_t blen) |
float64_t | compute_without_mismatch_matrix (char *avec, int32_t alen, char *bvec, int32_t blen) |
float64_t | compute_using_block (char *avec, int32_t alen, char *bvec, int32_t blen) |
virtual void | remove_lhs () |
Protected Attributes | |
float64_t * | weights |
int32_t | weights_degree |
int32_t | weights_length |
float64_t * | position_weights |
int32_t | position_weights_len |
float64_t * | weights_buffer |
int32_t | mkl_stepsize |
int32_t | degree |
int32_t | length |
int32_t | max_mismatch |
int32_t | seq_length |
bool | initialized |
bool | block_computation |
float64_t * | block_weights |
EWDKernType | type |
int32_t | which_degree |
CTrie< DNATrie > * | tries |
bool | tree_initialized |
CAlphabet * | alphabet |
Additional Inherited Members | |
![]() | |
SGIO * | io |
Parallel * | parallel |
Version * | version |
Parameter * | m_parameters |
Parameter * | m_model_selection_parameters |
![]() | |
template<class T > | |
static void * | get_kernel_matrix_helper (void *p) |
default constructor
Definition at line 48 of file WeightedDegreeStringKernel.cpp.
CWeightedDegreeStringKernel | ( | int32_t | degree, |
EWDKernType | type = E_WD |
||
) |
constructor
degree | degree |
type | weighted degree kernel type |
Definition at line 55 of file WeightedDegreeStringKernel.cpp.
CWeightedDegreeStringKernel | ( | float64_t * | weights, |
int32_t | degree | ||
) |
constructor
weights | kernel's weights |
degree | degree |
Definition at line 68 of file WeightedDegreeStringKernel.cpp.
CWeightedDegreeStringKernel | ( | CStringFeatures< char > * | l, |
CStringFeatures< char > * | r, | ||
int32_t | degree | ||
) |
constructor
l | features of left-hand side |
r | features of right-hand side |
degree | degree |
Definition at line 85 of file WeightedDegreeStringKernel.cpp.
|
virtual |
Definition at line 97 of file WeightedDegreeStringKernel.cpp.
|
protected |
add example to single tree
idx | index |
weight | weight |
tree_num | which tree |
Definition at line 436 of file WeightedDegreeStringKernel.cpp.
|
protected |
add example to single tree mismatch
idx | index |
weight | weight |
tree_num | which tree |
Definition at line 487 of file WeightedDegreeStringKernel.cpp.
|
protected |
add example to tree
idx | index |
weight | weight |
Definition at line 390 of file WeightedDegreeStringKernel.cpp.
|
protected |
add example to tree mismatch
idx | index |
weight | weight |
Definition at line 461 of file WeightedDegreeStringKernel.cpp.
|
virtual |
add to normal
idx | where to add |
weight | what to add |
Reimplemented from CKernel.
Definition at line 213 of file WeightedDegreeStringKernel.h.
|
virtual |
clean up kernel
Reimplemented from CKernel.
Definition at line 183 of file WeightedDegreeStringKernel.cpp.
|
virtual |
clear normal subkernel functionality
Reimplemented from CKernel.
Definition at line 195 of file WeightedDegreeStringKernel.h.
|
protectedvirtual |
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 364 of file WeightedDegreeStringKernel.cpp.
float64_t * compute_abs_weights | ( | int32_t & | len | ) |
compute abs weights
len | len |
Definition at line 566 of file WeightedDegreeStringKernel.cpp.
|
virtual |
compute batch
num_vec | number of vectors |
vec_idx | vector index |
target | target |
num_suppvec | number of support vectors |
IDX | IDX |
alphas | alphas |
factor | factor |
Reimplemented from CKernel.
Definition at line 863 of file WeightedDegreeStringKernel.cpp.
|
static |
helper for compute batch
p | thread parameter |
Definition at line 827 of file WeightedDegreeStringKernel.cpp.
|
virtual |
compute by subkernel
idx | index |
subkernel_contrib | subkernel contribution |
Reimplemented from CKernel.
Definition at line 247 of file WeightedDegreeStringKernel.h.
void compute_by_tree | ( | int32_t | idx, |
float64_t * | LevelContrib | ||
) |
compute by tree
idx | index |
LevelContrib | level contribution |
Definition at line 539 of file WeightedDegreeStringKernel.cpp.
|
protected |
compute by tree
idx | index |
Definition at line 515 of file WeightedDegreeStringKernel.cpp.
|
virtual |
compute optimized
idx | index to compute |
Reimplemented from CKernel.
Definition at line 162 of file WeightedDegreeStringKernel.h.
|
protected |
compute using block
avec | vector a |
alen | length of vector a |
bvec | vector b |
blen | length of vector b |
Definition at line 291 of file WeightedDegreeStringKernel.cpp.
|
protected |
compute with mismatch
avec | vector a |
alen | length of vector a |
bvec | vector b |
blen | length of vector b |
Definition at line 263 of file WeightedDegreeStringKernel.cpp.
|
protected |
compute without mismatch
avec | vector a |
alen | length of vector a |
bvec | vector b |
blen | length of vector b |
Definition at line 317 of file WeightedDegreeStringKernel.cpp.
|
protected |
compute without mismatch matrix
avec | vector a |
alen | length of vector a |
bvec | vector b |
blen | length of vector b |
Definition at line 340 of file WeightedDegreeStringKernel.cpp.
|
protected |
create emtpy tries
Definition at line 128 of file WeightedDegreeStringKernel.cpp.
|
virtual |
delete optimization
Reimplemented from CKernel.
Definition at line 249 of file WeightedDegreeStringKernel.cpp.
bool delete_position_weights | ( | ) |
delete position weights
Definition at line 518 of file WeightedDegreeStringKernel.h.
int32_t get_degree | ( | ) | const |
float64_t* get_degree_weights | ( | int32_t & | d, |
int32_t & | len | ||
) |
get degree weights
d | degree weights will be stored here |
len | number of degree weights will be stored here |
Definition at line 389 of file WeightedDegreeStringKernel.h.
|
virtual |
return what type of kernel we are
Implements CStringKernel< char >.
Definition at line 115 of file WeightedDegreeStringKernel.h.
int32_t get_max_mismatch | ( | ) | const |
get maximum mismatch
Definition at line 536 of file WeightedDegreeStringKernel.h.
int32_t get_mkl_stepsize | ( | ) |
|
virtual |
return the kernel's name
Reimplemented from CStringKernel< char >.
Definition at line 121 of file WeightedDegreeStringKernel.h.
|
virtual |
get number of subkernels
Reimplemented from CKernel.
Definition at line 231 of file WeightedDegreeStringKernel.h.
float64_t* get_position_weights | ( | int32_t & | len | ) |
get position weights
len | number of position weights will be stored here |
Definition at line 424 of file WeightedDegreeStringKernel.h.
|
virtual |
get subkernel weights
num_weights | number of weights will be stored here |
Reimplemented from CKernel.
Definition at line 269 of file WeightedDegreeStringKernel.h.
EWDKernType get_type | ( | ) | const |
get WD kernel weighting type
Definition at line 106 of file WeightedDegreeStringKernel.h.
bool get_use_block_computation | ( | ) |
check if block computation is performed
Definition at line 566 of file WeightedDegreeStringKernel.h.
float64_t* get_weights | ( | int32_t & | num_weights | ) |
get weights
num_weights | number of weights will be stored here |
Definition at line 401 of file WeightedDegreeStringKernel.h.
int32_t get_which_degree | ( | ) |
initialize kernel
l | features of left-hand side |
r | features of right-hand side |
Reimplemented from CStringKernel< char >.
Definition at line 141 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights | ( | ) |
initialize block weights
Definition at line 802 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights_const | ( | ) |
initialize block weights constant
Definition at line 726 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights_cubicpoly | ( | ) |
initialize block weights cubic polynomial
Definition at line 761 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights_exp | ( | ) |
initialize block weights exponential
Definition at line 774 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights_from_wd | ( | ) |
initialize block weights from weighted degree
Definition at line 685 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights_from_wd_external | ( | ) |
initialize block weights from external weighted degree
Definition at line 702 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights_linear | ( | ) |
initialize block weights linear
Definition at line 736 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights_log | ( | ) |
initialize block weights logarithmic
Definition at line 788 of file WeightedDegreeStringKernel.cpp.
bool init_block_weights_sqpoly | ( | ) |
initialize block weights squared polynomial
Definition at line 747 of file WeightedDegreeStringKernel.cpp.
|
virtual |
initialize optimization
count | count |
IDX | index |
alphas | alphas |
Reimplemented from CKernel.
Definition at line 132 of file WeightedDegreeStringKernel.h.
|
virtual |
initialize optimization do initialization for tree_num up to upto_tree, use tree_num=-1 to construct all trees
count | count |
IDX | IDX |
alphas | alphas |
tree_num | which tree |
Definition at line 207 of file WeightedDegreeStringKernel.cpp.
bool is_tree_initialized | ( | ) |
check if tree is initialized
Definition at line 382 of file WeightedDegreeStringKernel.h.
|
protectedvirtual |
remove lhs from kernel
Reimplemented from CKernel.
Definition at line 117 of file WeightedDegreeStringKernel.cpp.
bool set_degree | ( | int32_t | deg | ) |
set degree
deg | new degree |
Definition at line 543 of file WeightedDegreeStringKernel.h.
bool set_max_mismatch | ( | int32_t | max | ) |
set maximum mismatch
max | new maximum mismatch |
Definition at line 967 of file WeightedDegreeStringKernel.cpp.
bool set_mkl_stepsize | ( | int32_t | step | ) |
set MKL steps ize
step | new step size |
Definition at line 573 of file WeightedDegreeStringKernel.h.
|
virtual |
set the current kernel normalizer
Reimplemented from CKernel.
Definition at line 345 of file WeightedDegreeStringKernel.h.
bool set_position_weights | ( | float64_t * | pws, |
int32_t | len | ||
) |
set position weights
pws | new position weights |
len | number of position weights |
Definition at line 655 of file WeightedDegreeStringKernel.cpp.
set subkernel weights
wweights |
Reimplemented from CKernel.
Definition at line 294 of file WeightedDegreeStringKernel.h.
bool set_use_block_computation | ( | bool | block | ) |
set if block computation shall be performed
block | if block computation shall be performed |
Definition at line 556 of file WeightedDegreeStringKernel.h.
set wd weights
new_weights | new weights |
Definition at line 441 of file WeightedDegreeStringKernel.h.
bool set_wd_weights_by_type | ( | EWDKernType | type | ) |
set wd weights
type | weighted degree kernel type |
if we know a better weighting later on do a switch
Definition at line 572 of file WeightedDegreeStringKernel.cpp.
set weights
new_weights | new weights |
Definition at line 625 of file WeightedDegreeStringKernel.cpp.
bool set_which_degree | ( | int32_t | which | ) |
set which degree
which | which degree |
Definition at line 592 of file WeightedDegreeStringKernel.h.
|
protected |
alphabet of features
Definition at line 758 of file WeightedDegreeStringKernel.h.
|
protected |
if block computation is used
Definition at line 742 of file WeightedDegreeStringKernel.h.
|
protected |
(internal) block weights
Definition at line 745 of file WeightedDegreeStringKernel.h.
|
protected |
degree
Definition at line 729 of file WeightedDegreeStringKernel.h.
|
protected |
if kernel is initialized
Definition at line 739 of file WeightedDegreeStringKernel.h.
|
protected |
length
Definition at line 731 of file WeightedDegreeStringKernel.h.
|
protected |
maximum mismatch
Definition at line 734 of file WeightedDegreeStringKernel.h.
|
protected |
MKL step size
Definition at line 727 of file WeightedDegreeStringKernel.h.
|
protected |
position weights
Definition at line 721 of file WeightedDegreeStringKernel.h.
|
protected |
position weights
Definition at line 723 of file WeightedDegreeStringKernel.h.
|
protected |
sequence length
Definition at line 736 of file WeightedDegreeStringKernel.h.
|
protected |
if tree is initialized
Definition at line 755 of file WeightedDegreeStringKernel.h.
|
protected |
tries
Definition at line 752 of file WeightedDegreeStringKernel.h.
|
protected |
WeightedDegree kernel type
Definition at line 747 of file WeightedDegreeStringKernel.h.
|
protected |
degree*length weights *length must match seq_length if != 0
Definition at line 713 of file WeightedDegreeStringKernel.h.
|
protected |
weights buffer
Definition at line 725 of file WeightedDegreeStringKernel.h.
|
protected |
degree
Definition at line 715 of file WeightedDegreeStringKernel.h.
|
protected |
length
Definition at line 717 of file WeightedDegreeStringKernel.h.
|
protected |
which degree
Definition at line 749 of file WeightedDegreeStringKernel.h.