TanimotoKernelNormalizer performs kernel normalization inspired by the Tanimoto coefficient (see http://en.wikipedia.org/wiki/Jaccard_index ).
Definition at line 24 of file TanimotoKernelNormalizer.h.
Public Member Functions | |
CTanimotoKernelNormalizer (bool use_opt_diag=false) | |
virtual | ~CTanimotoKernelNormalizer () |
virtual bool | init (CKernel *k) |
virtual float64_t | normalize (float64_t value, int32_t idx_lhs, int32_t idx_rhs) |
virtual float64_t | normalize_lhs (float64_t value, int32_t idx_lhs) |
virtual float64_t | normalize_rhs (float64_t value, int32_t idx_rhs) |
bool | alloc_and_compute_diag (CKernel *k, float64_t *&v, int32_t num) |
Protected Attributes | |
float64_t * | diag_lhs |
float64_t * | diag_rhs |
bool | use_optimized_diagonal_computation |
CTanimotoKernelNormalizer::CTanimotoKernelNormalizer | ( | bool | use_opt_diag = false |
) |
default constructor
use_opt_diag | - some kernels support faster diagonal compuation via compute_diag(idx), this flag enables this |
Definition at line 31 of file TanimotoKernelNormalizer.h.
virtual CTanimotoKernelNormalizer::~CTanimotoKernelNormalizer | ( | ) | [virtual] |
default destructor
Definition at line 37 of file TanimotoKernelNormalizer.h.
alloc and compute the vector containing the square root of the diagonal elements of this kernel.
Definition at line 107 of file TanimotoKernelNormalizer.h.
virtual bool CTanimotoKernelNormalizer::init | ( | CKernel * | k | ) | [virtual] |
initialization of the normalizer
k | kernel |
Implements CKernelNormalizer.
Definition at line 45 of file TanimotoKernelNormalizer.h.
virtual float64_t CTanimotoKernelNormalizer::normalize | ( | float64_t | value, | |
int32_t | idx_lhs, | |||
int32_t | idx_rhs | |||
) | [virtual] |
normalize the kernel value
value | kernel value | |
idx_lhs | index of left hand side vector | |
idx_rhs | index of right hand side vector |
Implements CKernelNormalizer.
Definition at line 75 of file TanimotoKernelNormalizer.h.
virtual float64_t CTanimotoKernelNormalizer::normalize_lhs | ( | float64_t | value, | |
int32_t | idx_lhs | |||
) | [virtual] |
normalize only the left hand side vector
value | value of a component of the left hand side feature vector | |
idx_lhs | index of left hand side vector |
Implements CKernelNormalizer.
Definition at line 86 of file TanimotoKernelNormalizer.h.
virtual float64_t CTanimotoKernelNormalizer::normalize_rhs | ( | float64_t | value, | |
int32_t | idx_rhs | |||
) | [virtual] |
normalize only the right hand side vector
value | value of a component of the right hand side feature vector | |
idx_rhs | index of right hand side vector |
Implements CKernelNormalizer.
Definition at line 96 of file TanimotoKernelNormalizer.h.
float64_t* CTanimotoKernelNormalizer::diag_lhs [protected] |
diagonal left-hand side
Definition at line 133 of file TanimotoKernelNormalizer.h.
float64_t* CTanimotoKernelNormalizer::diag_rhs [protected] |
diagonal right-hand side
Definition at line 135 of file TanimotoKernelNormalizer.h.
bool CTanimotoKernelNormalizer::use_optimized_diagonal_computation [protected] |
flat if optimized diagonal computation is used
Definition at line 137 of file TanimotoKernelNormalizer.h.