SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
CPolyKernel Class Reference

Detailed Description

Computes the standard polynomial kernel on CDotFeatures.

Formally, it computes

\[ k({\bf x},{\bf x'})= ({\bf x}\cdot {\bf x'}+c)^d \]

Note that additional normalisation is applied, i.e.

\[ k'({\bf x}, {\bf x'})=\frac{k({\bf x}, {\bf x'})}{\sqrt{k({\bf x}, {\bf x})k({\bf x'}, {\bf x'})}} \]

Definition at line 36 of file PolyKernel.h.

Inheritance diagram for CPolyKernel:
Inheritance graph
[legend]

Public Member Functions

 CPolyKernel ()
 CPolyKernel (CDotFeatures *l, CDotFeatures *r, int32_t d, bool inhom, int32_t size=10)
 CPolyKernel (int32_t size, int32_t degree, bool inhomogene=true)
virtual ~CPolyKernel ()
virtual bool init (CFeatures *l, CFeatures *r)
virtual void cleanup ()
virtual EKernelType get_kernel_type ()
virtual const char * get_name () const
- Public Member Functions inherited from CDotKernel
 CDotKernel ()
 CDotKernel (int32_t cachesize)
 CDotKernel (CFeatures *l, CFeatures *r)
virtual EFeatureClass get_feature_class ()
virtual EFeatureType get_feature_type ()
- Public Member Functions inherited from CKernel
 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_tget_kernel_matrix ()
virtual SGVector< float64_tget_kernel_col (int32_t j)
virtual SGVector< float64_tget_kernel_row (int32_t i)
template<class T >
SGMatrix< T > get_kernel_matrix ()
virtual bool set_normalizer (CKernelNormalizer *normalizer)
virtual CKernelNormalizerget_normalizer ()
virtual bool init_normalizer ()
void load (CFile *loader)
void save (CFile *writer)
CFeaturesget_lhs ()
CFeaturesget_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_tget_subkernel_weights (int32_t &num_weights)
virtual void set_subkernel_weights (SGVector< float64_t > weights)
- 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)
SGIOget_global_io ()
void set_global_parallel (Parallel *parallel)
Parallelget_global_parallel ()
void set_global_version (Version *version)
Versionget_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)

Protected Attributes

int32_t degree
bool inhomogene

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters
- Static Protected Member Functions inherited from CKernel
template<class T >
static void * get_kernel_matrix_helper (void *p)

Constructor & Destructor Documentation

default constructor

Definition at line 21 of file PolyKernel.cpp.

CPolyKernel ( CDotFeatures l,
CDotFeatures r,
int32_t  d,
bool  inhom,
int32_t  size = 10 
)

constructor

Parameters
lfeatures of left-hand side
rfeatures of right-hand side
ddegree
inhomis inhomogeneous
sizecache size

Definition at line 37 of file PolyKernel.cpp.

CPolyKernel ( int32_t  size,
int32_t  degree,
bool  inhomogene = true 
)

constructor

Parameters
sizecache size
degreedegree
inhomogeneis inhomogeneous

Definition at line 29 of file PolyKernel.cpp.

~CPolyKernel ( )
virtual

Definition at line 47 of file PolyKernel.cpp.

Member Function Documentation

void cleanup ( )
virtual

clean up kernel

Reimplemented from CKernel.

Definition at line 58 of file PolyKernel.cpp.

float64_t compute ( int32_t  idx_a,
int32_t  idx_b 
)
protectedvirtual

compute kernel function for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object

Parameters
idx_aindex a
idx_bindex b
Returns
computed kernel function at indices a,b

Reimplemented from CDotKernel.

Definition at line 63 of file PolyKernel.cpp.

virtual EKernelType get_kernel_type ( )
virtual

return what type of kernel we are

Returns
kernel type POLY

Implements CDotKernel.

Definition at line 78 of file PolyKernel.h.

virtual const char* get_name ( ) const
virtual

return the kernel's name

Returns
name Poly

Reimplemented from CDotKernel.

Definition at line 84 of file PolyKernel.h.

bool init ( CFeatures l,
CFeatures r 
)
virtual

initialize kernel

Parameters
lfeatures of left-hand side
rfeatures of right-hand side
Returns
if initializing was successful

Reimplemented from CDotKernel.

Definition at line 52 of file PolyKernel.cpp.

Member Data Documentation

int32_t degree
protected

degree

Definition at line 102 of file PolyKernel.h.

bool inhomogene
protected

if kernel is inhomogeneous

Definition at line 104 of file PolyKernel.h.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation