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
CMultitaskKernelPlifNormalizer Class Reference

Detailed Description

The MultitaskKernel allows learning a piece-wise linear function (PLIF) via MKL.

Definition at line 26 of file MultitaskKernelPlifNormalizer.h.

Inheritance diagram for CMultitaskKernelPlifNormalizer:
Inheritance graph
[legend]

Public Member Functions

 CMultitaskKernelPlifNormalizer ()
 CMultitaskKernelPlifNormalizer (std::vector< float64_t > support_, std::vector< int32_t > task_vector)
virtual float64_t normalize (float64_t value, int32_t idx_lhs, int32_t idx_rhs)
int32_t get_num_unique_tasks (std::vector< int32_t > vec)
virtual ~CMultitaskKernelPlifNormalizer ()
void update_cache ()
float64_t compute_task_similarity (int32_t task_a, int32_t task_b)
virtual std::vector< int32_t > get_task_vector_lhs () const
virtual void set_task_vector_lhs (std::vector< int32_t > vec)
virtual std::vector< int32_t > get_task_vector_rhs () const
virtual void set_task_vector_rhs (std::vector< int32_t > vec)
virtual void set_task_vector (std::vector< int32_t > vec)
float64_t get_task_distance (int32_t task_lhs, int32_t task_rhs)
void set_task_distance (int32_t task_lhs, int32_t task_rhs, float64_t distance)
float64_t get_task_similarity (int32_t task_lhs, int32_t task_rhs)
void set_task_similarity (int32_t task_lhs, int32_t task_rhs, float64_t similarity)
float64_t get_beta (int32_t idx)
void set_beta (int32_t idx, float64_t weight)
int32_t get_num_betas ()
virtual const char * get_name () const
CMultitaskKernelPlifNormalizerKernelNormalizerToMultitaskKernelPlifNormalizer (CKernelNormalizer *n)
- Public Member Functions inherited from CMultitaskKernelMklNormalizer
 CMultitaskKernelMklNormalizer ()
virtual bool init (CKernel *k)
virtual float64_t normalize_lhs (float64_t value, int32_t idx_lhs)
virtual float64_t normalize_rhs (float64_t value, int32_t idx_rhs)
- Public Member Functions inherited from CKernelNormalizer
 CKernelNormalizer ()
virtual ~CKernelNormalizer ()
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 Member Functions

virtual void register_params ()

Protected Attributes

int32_t num_tasks
int32_t num_tasksqr
std::vector< int32_t > task_vector_lhs
std::vector< int32_t > task_vector_rhs
std::vector< float64_tdistance_matrix
std::vector< float64_tsimilarity_matrix
int32_t num_betas
std::vector< float64_tbetas
std::vector< float64_tsupport
- Protected Attributes inherited from CMultitaskKernelMklNormalizer
float64_t scale
- 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

Constructor & Destructor Documentation

default constructor

Definition at line 31 of file MultitaskKernelPlifNormalizer.h.

CMultitaskKernelPlifNormalizer ( std::vector< float64_t support_,
std::vector< int32_t >  task_vector 
)

constructor

Definition at line 40 of file MultitaskKernelPlifNormalizer.h.

virtual ~CMultitaskKernelPlifNormalizer ( )
virtual

default destructor

Definition at line 117 of file MultitaskKernelPlifNormalizer.h.

Member Function Documentation

float64_t compute_task_similarity ( int32_t  task_a,
int32_t  task_b 
)

derive similarity from distance with plif

Definition at line 142 of file MultitaskKernelPlifNormalizer.h.

float64_t get_beta ( int32_t  idx)
virtual
Parameters
idxindex of MKL weight to get

Implements CMultitaskKernelMklNormalizer.

Definition at line 282 of file MultitaskKernelPlifNormalizer.h.

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

Reimplemented from CMultitaskKernelMklNormalizer.

Definition at line 314 of file MultitaskKernelPlifNormalizer.h.

int32_t get_num_betas ( )
virtual
Returns
number of kernel weights (support points)

Implements CMultitaskKernelMklNormalizer.

Definition at line 305 of file MultitaskKernelPlifNormalizer.h.

int32_t get_num_unique_tasks ( std::vector< int32_t >  vec)

helper routine

Parameters
vecvector with containing task_id for each example
Returns
number of unique task ids

Definition at line 100 of file MultitaskKernelPlifNormalizer.h.

float64_t get_task_distance ( int32_t  task_lhs,
int32_t  task_rhs 
)
Parameters
task_lhstask_id on left hand side
task_rhstask_id on right hand side
Returns
distance between tasks

Definition at line 222 of file MultitaskKernelPlifNormalizer.h.

float64_t get_task_similarity ( int32_t  task_lhs,
int32_t  task_rhs 
)
Parameters
task_lhstask_id on left hand side
task_rhstask_id on right hand side
Returns
similarity between tasks

Definition at line 253 of file MultitaskKernelPlifNormalizer.h.

virtual std::vector<int32_t> get_task_vector_lhs ( ) const
virtual
Returns
vec task vector with containing task_id for each example on left hand side

Definition at line 187 of file MultitaskKernelPlifNormalizer.h.

virtual std::vector<int32_t> get_task_vector_rhs ( ) const
virtual
Returns
vec task vector with containing task_id for each example on right hand side

Definition at line 199 of file MultitaskKernelPlifNormalizer.h.

CMultitaskKernelPlifNormalizer* KernelNormalizerToMultitaskKernelPlifNormalizer ( CKernelNormalizer n)

casts kernel normalizer to multitask kernel plif normalizer

Parameters
nkernel normalizer to cast

Definition at line 322 of file MultitaskKernelPlifNormalizer.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 75 of file MultitaskKernelPlifNormalizer.h.

virtual void register_params ( )
protectedvirtual

register the parameters

Reimplemented from CKernelNormalizer.

Definition at line 330 of file MultitaskKernelPlifNormalizer.h.

void set_beta ( int32_t  idx,
float64_t  weight 
)
virtual
Parameters
idxindex of MKL weight to set
weightMKL weight to set

Implements CMultitaskKernelMklNormalizer.

Definition at line 293 of file MultitaskKernelPlifNormalizer.h.

void set_task_distance ( int32_t  task_lhs,
int32_t  task_rhs,
float64_t  distance 
)
Parameters
task_lhstask_id on left hand side
task_rhstask_id on right hand side
distancedistance between tasks

Definition at line 237 of file MultitaskKernelPlifNormalizer.h.

void set_task_similarity ( int32_t  task_lhs,
int32_t  task_rhs,
float64_t  similarity 
)
Parameters
task_lhstask_id on left hand side
task_rhstask_id on right hand side
similaritysimilarity between tasks

Definition at line 268 of file MultitaskKernelPlifNormalizer.h.

virtual void set_task_vector ( std::vector< int32_t >  vec)
virtual
Parameters
vectask vector with containing task_id for each example

Definition at line 211 of file MultitaskKernelPlifNormalizer.h.

virtual void set_task_vector_lhs ( std::vector< int32_t >  vec)
virtual
Parameters
vectask vector with containing task_id for each example

Definition at line 193 of file MultitaskKernelPlifNormalizer.h.

virtual void set_task_vector_rhs ( std::vector< int32_t >  vec)
virtual
Parameters
vectask vector with containing task_id for each example

Definition at line 205 of file MultitaskKernelPlifNormalizer.h.

void update_cache ( )

update cache

Definition at line 123 of file MultitaskKernelPlifNormalizer.h.

Member Data Documentation

std::vector<float64_t> betas
protected

weights

Definition at line 361 of file MultitaskKernelPlifNormalizer.h.

std::vector<float64_t> distance_matrix
protected

MxM matrix encoding distance between tasks

Definition at line 352 of file MultitaskKernelPlifNormalizer.h.

int32_t num_betas
protected

number of weights

Definition at line 358 of file MultitaskKernelPlifNormalizer.h.

int32_t num_tasks
protected

number of tasks

Definition at line 341 of file MultitaskKernelPlifNormalizer.h.

int32_t num_tasksqr
protected

square of num_tasks – for registration purpose

Definition at line 343 of file MultitaskKernelPlifNormalizer.h.

std::vector<float64_t> similarity_matrix
protected

MxM matrix encoding similarity between tasks

Definition at line 355 of file MultitaskKernelPlifNormalizer.h.

std::vector<float64_t> support
protected

support points

Definition at line 364 of file MultitaskKernelPlifNormalizer.h.

std::vector<int32_t> task_vector_lhs
protected

task vector indicating to which task each example on the left hand side belongs

Definition at line 346 of file MultitaskKernelPlifNormalizer.h.

std::vector<int32_t> task_vector_rhs
protected

task vector indicating to which task each example on the right hand side belongs

Definition at line 349 of file MultitaskKernelPlifNormalizer.h.


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

SHOGUN Machine Learning Toolbox - Documentation