SqrtDiagKernelNormalizer divides by the Square Root of the product of the diagonal elements.
This effectively normalizes the vectors in feature space to norm 1 (see CSqrtDiagKernelNormalizer)
Definition at line 27 of file SqrtDiagKernelNormalizer.h.
Public Member Functions | |
CSqrtDiagKernelNormalizer (bool use_opt_diag=false) | |
virtual | ~CSqrtDiagKernelNormalizer () |
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) |
virtual const char * | get_name () const |
Protected Attributes | |
float64_t * | sqrtdiag_lhs |
float64_t * | sqrtdiag_rhs |
bool | use_optimized_diagonal_computation |
CSqrtDiagKernelNormalizer::CSqrtDiagKernelNormalizer | ( | 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 34 of file SqrtDiagKernelNormalizer.h.
virtual CSqrtDiagKernelNormalizer::~CSqrtDiagKernelNormalizer | ( | ) | [virtual] |
default destructor
Definition at line 40 of file SqrtDiagKernelNormalizer.h.
alloc and compute the vector containing the square root of the diagonal elements of this kernel.
Definition at line 108 of file SqrtDiagKernelNormalizer.h.
virtual const char* CSqrtDiagKernelNormalizer::get_name | ( | ) | const [virtual] |
Implements CSGObject.
Definition at line 133 of file SqrtDiagKernelNormalizer.h.
virtual bool CSqrtDiagKernelNormalizer::init | ( | CKernel * | k | ) | [virtual] |
initialization of the normalizer
k | kernel |
Implements CKernelNormalizer.
Definition at line 48 of file SqrtDiagKernelNormalizer.h.
virtual float64_t CSqrtDiagKernelNormalizer::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 78 of file SqrtDiagKernelNormalizer.h.
virtual float64_t CSqrtDiagKernelNormalizer::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 89 of file SqrtDiagKernelNormalizer.h.
virtual float64_t CSqrtDiagKernelNormalizer::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 98 of file SqrtDiagKernelNormalizer.h.
float64_t* CSqrtDiagKernelNormalizer::sqrtdiag_lhs [protected] |
sqrt diagonal left-hand side
Definition at line 137 of file SqrtDiagKernelNormalizer.h.
float64_t* CSqrtDiagKernelNormalizer::sqrtdiag_rhs [protected] |
sqrt diagonal right-hand side
Definition at line 139 of file SqrtDiagKernelNormalizer.h.
bool CSqrtDiagKernelNormalizer::use_optimized_diagonal_computation [protected] |
f optimized diagonal computation is used
Definition at line 141 of file SqrtDiagKernelNormalizer.h.