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

Detailed Description

SqrtDiagKernelNormalizer divides by the Square Root of the product of the diagonal elements.

This 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 29 of file SqrtDiagKernelNormalizer.h.

Inheritance diagram for CSqrtDiagKernelNormalizer:
Inheritance graph
[legend]

Public Member Functions

 CSqrtDiagKernelNormalizer (bool use_opt_diag=false)
virtual ~CSqrtDiagKernelNormalizer ()
virtual bool init (CKernel *k)
virtual float64_t normalize (float64_t value, int32_t idx_lhs, int32_t idx_rhs)
virtual float64_t normalize_lhs (float64_t value, int32_t idx_lhs)
virtual float64_t normalize_rhs (float64_t value, int32_t idx_rhs)
bool alloc_and_compute_diag (CKernel *k, float64_t *&v, int32_t num)
virtual const char * get_name () const
- Public Member Functions inherited from CKernelNormalizer
 CKernelNormalizer ()
virtual ~CKernelNormalizer ()
virtual void register_params ()
ENormalizerType get_normalizer_type ()
void set_normalizer_type (ENormalizerType type)
- 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 Attributes

float64_tsqrtdiag_lhs
int32_t num_sqrtdiag_lhs
float64_tsqrtdiag_rhs
int32_t num_sqrtdiag_rhs
bool use_optimized_diagonal_computation
- Protected Attributes inherited from CKernelNormalizer
ENormalizerType m_type

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters
- Protected Member Functions inherited from CSGObject
virtual void load_serializable_pre () throw (ShogunException)
virtual void load_serializable_post () throw (ShogunException)
virtual void save_serializable_pre () throw (ShogunException)
virtual void save_serializable_post () throw (ShogunException)

Constructor & Destructor Documentation

CSqrtDiagKernelNormalizer ( bool  use_opt_diag = false)

default constructor

Parameters
use_opt_diag- some kernels support faster diagonal compuation via compute_diag(idx), this flag enables this

Definition at line 36 of file SqrtDiagKernelNormalizer.h.

virtual ~CSqrtDiagKernelNormalizer ( )
virtual

default destructor

Definition at line 51 of file SqrtDiagKernelNormalizer.h.

Member Function Documentation

bool alloc_and_compute_diag ( CKernel k,
float64_t *&  v,
int32_t  num 
)

alloc and compute the vector containing the square root of the diagonal elements of this kernel.

Definition at line 119 of file SqrtDiagKernelNormalizer.h.

virtual const char* get_name ( ) const
virtual
Returns
object name

Implements CSGObject.

Definition at line 144 of file SqrtDiagKernelNormalizer.h.

virtual bool init ( CKernel k)
virtual

initialization of the normalizer

Parameters
kkernel

Implements CKernelNormalizer.

Definition at line 59 of file SqrtDiagKernelNormalizer.h.

virtual float64_t normalize ( float64_t  value,
int32_t  idx_lhs,
int32_t  idx_rhs 
)
virtual

normalize the kernel value

Parameters
valuekernel value
idx_lhsindex of left hand side vector
idx_rhsindex of right hand side vector

Implements CKernelNormalizer.

Definition at line 89 of file SqrtDiagKernelNormalizer.h.

virtual float64_t normalize_lhs ( float64_t  value,
int32_t  idx_lhs 
)
virtual

normalize only the left hand side vector

Parameters
valuevalue of a component of the left hand side feature vector
idx_lhsindex of left hand side vector

Implements CKernelNormalizer.

Definition at line 100 of file SqrtDiagKernelNormalizer.h.

virtual float64_t normalize_rhs ( float64_t  value,
int32_t  idx_rhs 
)
virtual

normalize only the right hand side vector

Parameters
valuevalue of a component of the right hand side feature vector
idx_rhsindex of right hand side vector

Implements CKernelNormalizer.

Definition at line 109 of file SqrtDiagKernelNormalizer.h.

Member Data Documentation

int32_t num_sqrtdiag_lhs
protected

num sqrt diagonal left-hand side

Definition at line 151 of file SqrtDiagKernelNormalizer.h.

int32_t num_sqrtdiag_rhs
protected

num sqrt diagonal right-hand side

Definition at line 157 of file SqrtDiagKernelNormalizer.h.

float64_t* sqrtdiag_lhs
protected

sqrt diagonal left-hand side

Definition at line 148 of file SqrtDiagKernelNormalizer.h.

float64_t* sqrtdiag_rhs
protected

sqrt diagonal right-hand side

Definition at line 154 of file SqrtDiagKernelNormalizer.h.

bool use_optimized_diagonal_computation
protected

f optimized diagonal computation is used

Definition at line 160 of file SqrtDiagKernelNormalizer.h.


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

SHOGUN Machine Learning Toolbox - Documentation