Public Member Functions | Protected Attributes

CKernelNormalizer Class Reference


Detailed Description

The class Kernel Normalizer defines a function to post-process kernel values.

Formally it defines f(.,.,.)

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

examples for f(.,.,.) would be scaling with a constant

\[ f(k({\bf x},{\bf x'}), ., .)= \frac{1}{c}\cdot k({\bf x},{\bf x'}) \]

as can be found in class CAvgDiagKernelNormalizer, the identity (cf. CIdentityKernelNormalizer), dividing by the Square Root of the product of the diagonal elements which effectively normalizes the vectors in feature space to norm 1 (see CSqrtDiagKernelNormalizer)

\[ 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 51 of file KernelNormalizer.h.

Inheritance diagram for CKernelNormalizer:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CKernelNormalizer ()
virtual ~CKernelNormalizer ()
virtual bool init (CKernel *k)=0
virtual float64_t normalize (float64_t value, int32_t idx_lhs, int32_t idx_rhs)=0
virtual float64_t normalize_lhs (float64_t value, int32_t idx_lhs)=0
virtual float64_t normalize_rhs (float64_t value, int32_t idx_rhs)=0
ENormalizerType get_normalizer_type ()
void set_normalizer_type (ENormalizerType type)

Protected Attributes

ENormalizerType m_type

Constructor & Destructor Documentation

default constructor

Definition at line 57 of file KernelNormalizer.h.

virtual ~CKernelNormalizer (  )  [virtual]

default destructor

Definition at line 66 of file KernelNormalizer.h.


Member Function Documentation

ENormalizerType get_normalizer_type (  ) 

getter for normalizer type

Definition at line 94 of file KernelNormalizer.h.

virtual bool init ( CKernel k  )  [pure virtual]
virtual float64_t normalize ( float64_t  value,
int32_t  idx_lhs,
int32_t  idx_rhs 
) [pure virtual]
virtual float64_t normalize_lhs ( float64_t  value,
int32_t  idx_lhs 
) [pure virtual]
virtual float64_t normalize_rhs ( float64_t  value,
int32_t  idx_rhs 
) [pure virtual]
void set_normalizer_type ( ENormalizerType  type  ) 

setter for normalizer type

Parameters:
type type of normalizer

Definition at line 102 of file KernelNormalizer.h.


Member Data Documentation

ENormalizerType m_type [protected]

normalizer type

Definition at line 109 of file KernelNormalizer.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation