SHOGUN
v1.1.0
|
Template class DotKernel is the base class for kernels working on DotFeatures.
CDotFeatures are features supporting operations like dot product, dot product with a dense vector and addition to a dense vector. Therefore several dot product based kernels derive from this class (cf., e.g., CLinearKernel)
Definition at line 29 of file DotKernel.h.
Public Member Functions | |
CDotKernel () | |
CDotKernel (int32_t cachesize) | |
CDotKernel (CFeatures *l, CFeatures *r) | |
virtual bool | init (CFeatures *l, CFeatures *r) |
virtual EFeatureClass | get_feature_class () |
virtual EFeatureType | get_feature_type () |
virtual const char * | get_name () const |
virtual EKernelType | get_kernel_type ()=0 |
![]() | |
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 () |
virtual void | cleanup () |
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) |
![]() | |
void | set_property (EKernelProperty p) |
void | unset_property (EKernelProperty p) |
void | set_is_initialized (bool p_init) |
int32_t | compute_row_start (int64_t offs, int32_t n, bool symmetric) |
virtual void | load_serializable_post () throw (ShogunException) |
virtual void | save_serializable_pre () throw (ShogunException) |
virtual void | save_serializable_post () throw (ShogunException) |
virtual void | register_params () |
![]() | |
virtual void | load_serializable_pre () throw (ShogunException) |
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) |
![]() | |
int32_t | cache_size |
cache_size in MB | |
KERNELCACHE_ELEM * | kernel_matrix |
CFeatures * | lhs |
feature vectors to occur on left hand side | |
CFeatures * | rhs |
feature vectors to occur on right hand side | |
bool | lhs_equals_rhs |
lhs | |
int32_t | num_lhs |
number of feature vectors on left hand side | |
int32_t | num_rhs |
number of feature vectors on right hand side | |
float64_t | combined_kernel_weight |
bool | optimization_initialized |
EOptimizationType | opt_type |
uint64_t | properties |
CKernelNormalizer * | normalizer |
CDotKernel | ( | ) |
default constructor
Definition at line 35 of file DotKernel.h.
CDotKernel | ( | int32_t | cachesize | ) |
CDotKernel | ( | CFeatures * | l, |
CFeatures * | r | ||
) |
constructor
l | features of left-hand side |
r | features of right-hand side |
Definition at line 48 of file DotKernel.h.
|
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 |
Implements CKernel.
Reimplemented in CGaussianKernel, CPyramidChi2, CANOVAKernel, CTensorProductPairKernel, CHistogramIntersectionKernel, CAUCKernel, CChi2Kernel, CExponentialKernel, CWeightedDegreeRBFKernel, CPolyKernel, CWaveletKernel, CGaussianShiftKernel, CSigmoidKernel, CGaussianShortRealKernel, and CSplineKernel.
Definition at line 121 of file DotKernel.h.
|
virtual |
return feature class the kernel can deal with
dot kernel returns unknown since features can be based on anything
Implements CKernel.
Reimplemented in CTensorProductPairKernel, CAUCKernel, CANOVAKernel, CChi2Kernel, and CWeightedDegreeRBFKernel.
Definition at line 86 of file DotKernel.h.
|
virtual |
return feature type the kernel can deal with
dot kernel returns unknown since features can be based on anything
Implements CKernel.
Reimplemented in CTensorProductPairKernel, CAUCKernel, CChi2Kernel, CANOVAKernel, and CWeightedDegreeRBFKernel.
Definition at line 94 of file DotKernel.h.
|
pure virtual |
return what type of kernel we are, e.g. Linear,Polynomial, Gaussian,...
abstract base method
Implements CKernel.
Implemented in CPyramidChi2, CGaussianKernel, CPolyKernel, CWaveletKernel, CExponentialKernel, CGaussianShiftKernel, CTensorProductPairKernel, CAUCKernel, CChi2Kernel, CHistogramIntersectionKernel, CSigmoidKernel, CANOVAKernel, CGaussianShortRealKernel, CSplineKernel, CLinearKernel, and CWeightedDegreeRBFKernel.
|
virtual |
Returns the name of the SGSerializable instance. It MUST BE the CLASS NAME without the prefixed `C'.
Implements CSGObject.
Reimplemented in CPyramidChi2, CGaussianKernel, CChi2Kernel, CANOVAKernel, CPolyKernel, CTensorProductPairKernel, CWaveletKernel, CExponentialKernel, CGaussianShiftKernel, CAUCKernel, CHistogramIntersectionKernel, CSigmoidKernel, CGaussianShortRealKernel, CSplineKernel, CLinearKernel, and CWeightedDegreeRBFKernel.
Definition at line 101 of file DotKernel.h.
initialize kernel e.g. setup lhs/rhs of kernel, precompute normalization constants etc. make sure to check that your kernel can deal with the supplied features (!)
l | features for left-hand side |
r | features for right-hand side |
Reimplemented from CKernel.
Reimplemented in CPyramidChi2, CGaussianKernel, CPolyKernel, CWaveletKernel, CTensorProductPairKernel, CANOVAKernel, CAUCKernel, CChi2Kernel, CExponentialKernel, CGaussianShortRealKernel, CHistogramIntersectionKernel, CSigmoidKernel, CSplineKernel, CLinearKernel, and CWeightedDegreeRBFKernel.
Definition at line 63 of file DotKernel.h.