|
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 |
Public Member Functions inherited from CKernelNormalizer | |
| CKernelNormalizer () | |
| virtual | ~CKernelNormalizer () |
| virtual void | register_params () |
| ENormalizerType | get_normalizer_type () |
| void | set_normalizer_type (ENormalizerType type) |
Public Member Functions inherited from CSGObject | |
| 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) | |
Protected Attributes inherited from CKernelNormalizer | |
| ENormalizerType | m_type |
Additional Inherited Members | |
Public Attributes inherited from CSGObject | |
| SGIO * | io |
| Parallel * | parallel |
| Version * | version |
| Parameter * | m_parameters |
| Parameter * | m_model_selection_parameters |
Protected Member Functions inherited from CSGObject | |
| 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.