SHOGUN
v1.1.0
|
The well known Gaussian kernel (swiss army knife for SVMs) computed on CDotFeatures.
It is computed as
where is the kernel width.
The compact version as given in Bart Hamers' thesis Kernel Models for Large Scale Applications (Eq. 4.10) is computed as
where is the kernel width.
Definition at line 44 of file GaussianKernel.h.
Public Member Functions | |
CGaussianKernel () | |
CGaussianKernel (int32_t size, float64_t width) | |
CGaussianKernel (CDotFeatures *l, CDotFeatures *r, float64_t width, int32_t size=10) | |
virtual | ~CGaussianKernel () |
virtual bool | init (CFeatures *l, CFeatures *r) |
virtual void | cleanup () |
virtual EKernelType | get_kernel_type () |
virtual const char * | get_name () const |
virtual void | set_width (float64_t w) |
virtual float64_t | get_width () const |
void | set_compact_enabled (bool compact) |
bool | get_compact_enabled () |
![]() | |
CDotKernel () | |
CDotKernel (int32_t cachesize) | |
CDotKernel (CFeatures *l, CFeatures *r) | |
virtual EFeatureClass | get_feature_class () |
virtual EFeatureType | get_feature_type () |
![]() | |
CKernel () | |
CKernel (int32_t size) | |
CKernel (CFeatures *l, CFeatures *r, int32_t size) | |
virtual | ~CKernel () |
float64_t | kernel (int32_t idx_a, int32_t idx_b) |
SGMatrix< float64_t > | get_kernel_matrix () |
virtual SGVector< float64_t > | get_kernel_col (int32_t j) |
virtual SGVector< float64_t > | get_kernel_row (int32_t i) |
template<class T > | |
SGMatrix< T > | get_kernel_matrix () |
virtual bool | set_normalizer (CKernelNormalizer *normalizer) |
virtual CKernelNormalizer * | get_normalizer () |
virtual bool | init_normalizer () |
void | load (CFile *loader) |
void | save (CFile *writer) |
CFeatures * | get_lhs () |
CFeatures * | get_rhs () |
virtual int32_t | get_num_vec_lhs () |
virtual int32_t | get_num_vec_rhs () |
virtual bool | has_features () |
bool | get_lhs_equals_rhs () |
virtual void | remove_lhs_and_rhs () |
virtual void | remove_lhs () |
virtual void | remove_rhs () |
takes all necessary steps if the rhs is removed from kernel | |
void | set_cache_size (int32_t size) |
int32_t | get_cache_size () |
void | list_kernel () |
bool | has_property (EKernelProperty p) |
virtual void | clear_normal () |
virtual void | add_to_normal (int32_t vector_idx, float64_t weight) |
EOptimizationType | get_optimization_type () |
virtual void | set_optimization_type (EOptimizationType t) |
bool | get_is_initialized () |
virtual bool | init_optimization (int32_t count, int32_t *IDX, float64_t *weights) |
virtual bool | delete_optimization () |
bool | init_optimization_svm (CSVM *svm) |
virtual float64_t | compute_optimized (int32_t vector_idx) |
virtual void | compute_batch (int32_t num_vec, int32_t *vec_idx, float64_t *target, int32_t num_suppvec, int32_t *IDX, float64_t *alphas, float64_t factor=1.0) |
float64_t | get_combined_kernel_weight () |
void | set_combined_kernel_weight (float64_t nw) |
virtual int32_t | get_num_subkernels () |
virtual void | compute_by_subkernel (int32_t vector_idx, float64_t *subkernel_contrib) |
virtual const float64_t * | get_subkernel_weights (int32_t &num_weights) |
virtual void | set_subkernel_weights (SGVector< float64_t > weights) |
![]() | |
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 Member Functions | |
virtual float64_t | compute (int32_t idx_a, int32_t idx_b) |
virtual void | load_serializable_post () throw (ShogunException) |
Protected Attributes | |
float64_t | width |
float64_t * | sq_lhs |
float64_t * | sq_rhs |
bool | m_compact |
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) |
CGaussianKernel | ( | ) |
default constructor
Definition at line 22 of file GaussianKernel.cpp.
CGaussianKernel | ( | int32_t | size, |
float64_t | width | ||
) |
CGaussianKernel | ( | CDotFeatures * | l, |
CDotFeatures * | r, | ||
float64_t | width, | ||
int32_t | size = 10 |
||
) |
constructor
l | features of left-hand side |
r | features of right-hand side |
width | width |
size | cache size |
Definition at line 35 of file GaussianKernel.cpp.
|
virtual |
Definition at line 44 of file GaussianKernel.cpp.
|
virtual |
|
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 |
Reimplemented from CDotKernel.
Reimplemented in CGaussianShiftKernel.
Definition at line 81 of file GaussianKernel.cpp.
bool get_compact_enabled | ( | ) |
return value of the compact option
Definition at line 125 of file GaussianKernel.h.
|
virtual |
return what type of kernel we are
Implements CDotKernel.
Reimplemented in CGaussianShiftKernel.
Definition at line 86 of file GaussianKernel.h.
|
virtual |
return the kernel's name
Reimplemented from CDotKernel.
Reimplemented in CGaussianShiftKernel.
Definition at line 92 of file GaussianKernel.h.
|
virtual |
initialize kernel
l | features of left-hand side |
r | features of right-hand side |
free sq_{r,l}hs first
Reimplemented from CDotKernel.
Definition at line 71 of file GaussianKernel.cpp.
|
protectedvirtual |
Can (optionally) be overridden to post-initialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::LOAD_SERIALIZABLE_POST is called.
ShogunException | Will be thrown if an error occurres. |
Reimplemented from CKernel.
Definition at line 105 of file GaussianKernel.cpp.
void set_compact_enabled | ( | bool | compact | ) |
set the compact option
compact | value of the compact option |
Definition at line 116 of file GaussianKernel.h.
|
virtual |
|
protected |
whether compact output enabled
Definition at line 175 of file GaussianKernel.h.
|
protected |
squared left-hand side
Definition at line 171 of file GaussianKernel.h.
|
protected |
squared right-hand side
Definition at line 173 of file GaussianKernel.h.
|
protected |
width
Definition at line 169 of file GaussianKernel.h.