CKernelNormalizer Class Reference


Detailed Description

The class Kernel Normalizer defines a function to postprocess 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 42 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

Constructor & Destructor Documentation

default constructor

Definition at line 46 of file KernelNormalizer.h.

virtual ~CKernelNormalizer (  )  [virtual]

default destructor

Definition at line 48 of file KernelNormalizer.h.


Member Function Documentation

virtual bool init ( CKernel k  )  [pure virtual]
virtual float64_t normalize ( float64_t  value,
int32_t  idx_lhs,
int32_t  idx_rhs 
) [pure virtual]

normalize the kernel value

Parameters:
value kernel value
idx_lhs index of left hand side vector
idx_rhs index of right hand side vector

Implemented in CAvgDiagKernelNormalizer, CDiceKernelNormalizer, CFirstElementKernelNormalizer, CIdentityKernelNormalizer, CMultitaskKernelNormalizer, CRidgeKernelNormalizer, CSqrtDiagKernelNormalizer, CTanimotoKernelNormalizer, and CVarianceKernelNormalizer.

virtual float64_t normalize_lhs ( float64_t  value,
int32_t  idx_lhs 
) [pure virtual]

normalize only the left hand side vector

Parameters:
value value of a component of the left hand side feature vector
idx_lhs index of left hand side vector

Implemented in CAvgDiagKernelNormalizer, CDiceKernelNormalizer, CFirstElementKernelNormalizer, CIdentityKernelNormalizer, CMultitaskKernelNormalizer, CRidgeKernelNormalizer, CSqrtDiagKernelNormalizer, CTanimotoKernelNormalizer, and CVarianceKernelNormalizer.

virtual float64_t normalize_rhs ( float64_t  value,
int32_t  idx_rhs 
) [pure virtual]

normalize only the right hand side vector

Parameters:
value value of a component of the right hand side feature vector
idx_rhs index of right hand side vector

Implemented in CAvgDiagKernelNormalizer, CDiceKernelNormalizer, CFirstElementKernelNormalizer, CIdentityKernelNormalizer, CMultitaskKernelNormalizer, CRidgeKernelNormalizer, CSqrtDiagKernelNormalizer, CTanimotoKernelNormalizer, and CVarianceKernelNormalizer.


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

SHOGUN Machine Learning Toolbox - Documentation