SHOGUN
v1.1.0
|
Normalize the kernel by adding a constant term to its diagonal. This aids kernels to become positive definite (even though they are not - often caused by numerical problems).
Formally,
where E is a matrix with ones on the diagonal and R is the scalar ridge term. The ridge term R is computed as .
Typically,
In case c <= 0, c is compute as the mean of the kernel diagonal
Definition at line 43 of file RidgeKernelNormalizer.h.
Public Member Functions | |
CRidgeKernelNormalizer (float64_t r=1e-10, float64_t c=0.0) | |
virtual | ~CRidgeKernelNormalizer () |
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) |
virtual const char * | get_name () const |
![]() | |
CKernelNormalizer () | |
virtual | ~CKernelNormalizer () |
virtual void | register_params () |
ENormalizerType | get_normalizer_type () |
void | set_normalizer_type (ENormalizerType type) |
![]() | |
CSGObject () | |
CSGObject (const CSGObject &orig) | |
virtual | ~CSGObject () |
virtual bool | is_generic (EPrimitiveType *generic) const |
template<class T > | |
void | set_generic () |
void | unset_generic () |
virtual void | print_serializable (const char *prefix="") |
virtual bool | save_serializable (CSerializableFile *file, const char *prefix="") |
virtual bool | load_serializable (CSerializableFile *file, const char *prefix="") |
void | set_global_io (SGIO *io) |
SGIO * | get_global_io () |
void | set_global_parallel (Parallel *parallel) |
Parallel * | get_global_parallel () |
void | set_global_version (Version *version) |
Version * | get_global_version () |
SGVector< char * > | get_modelsel_names () |
char * | get_modsel_param_descr (const char *param_name) |
index_t | get_modsel_param_index (const char *param_name) |
Protected Attributes | |
float64_t | ridge |
the constant ridge to be added to the kernel diagonal | |
float64_t | scale |
scaling parameter (avg of diagonal) | |
![]() | |
ENormalizerType | m_type |
Additional Inherited Members | |
![]() | |
SGIO * | io |
Parallel * | parallel |
Version * | version |
Parameter * | m_parameters |
Parameter * | m_model_selection_parameters |
![]() | |
virtual void | load_serializable_pre () throw (ShogunException) |
virtual void | load_serializable_post () throw (ShogunException) |
virtual void | save_serializable_pre () throw (ShogunException) |
virtual void | save_serializable_post () throw (ShogunException) |
CRidgeKernelNormalizer | ( | float64_t | r = 1e-10 , |
float64_t | c = 0.0 |
||
) |
constructor
r | ridge parameter |
c | scale parameter, if <= 0 scaling will be computed from the avg of the kernel diagonal elements |
the scalar r*c will be added to the kernel diagonal, typical use cases:
Definition at line 56 of file RidgeKernelNormalizer.h.
|
virtual |
default destructor
Definition at line 68 of file RidgeKernelNormalizer.h.
|
virtual |
|
virtual |
initialization of the normalizer (if needed)
k | kernel |
Implements CKernelNormalizer.
Definition at line 74 of file RidgeKernelNormalizer.h.
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 105 of file RidgeKernelNormalizer.h.
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 118 of file RidgeKernelNormalizer.h.
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 128 of file RidgeKernelNormalizer.h.
|
protected |
the constant ridge to be added to the kernel diagonal
Definition at line 139 of file RidgeKernelNormalizer.h.
|
protected |
scaling parameter (avg of diagonal)
Definition at line 141 of file RidgeKernelNormalizer.h.