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]

List of all members.

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

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

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:
idx index of MKL weight to get

Implements CMultitaskKernelMklNormalizer.

Definition at line 282 of file MultitaskKernelPlifNormalizer.h.

virtual const char* get_name ( void   )  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:
vec vector 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_lhs task_id on left hand side
task_rhs task_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_lhs task_id on left hand side
task_rhs task_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.

virtual float64_t normalize ( float64_t  value,
int32_t  idx_lhs,
int32_t  idx_rhs 
) [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

Implements CKernelNormalizer.

Definition at line 75 of file MultitaskKernelPlifNormalizer.h.

virtual void register_params (  )  [protected, virtual]

register the parameters

Reimplemented from CKernelNormalizer.

Definition at line 322 of file MultitaskKernelPlifNormalizer.h.

void set_beta ( int32_t  idx,
float64_t  weight 
) [virtual]
Parameters:
idx index of MKL weight to set
weight MKL 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_lhs task_id on left hand side
task_rhs task_id on right hand side
distance distance 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_lhs task_id on left hand side
task_rhs task_id on right hand side
similarity similarity between tasks

Definition at line 268 of file MultitaskKernelPlifNormalizer.h.

virtual void set_task_vector ( std::vector< int32_t >  vec  )  [virtual]
Parameters:
vec task 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:
vec task 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:
vec task 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 353 of file MultitaskKernelPlifNormalizer.h.

std::vector<float64_t> distance_matrix [protected]

MxM matrix encoding distance between tasks

Definition at line 344 of file MultitaskKernelPlifNormalizer.h.

int32_t num_betas [protected]

number of weights

Definition at line 350 of file MultitaskKernelPlifNormalizer.h.

int32_t num_tasks [protected]

number of tasks

Definition at line 333 of file MultitaskKernelPlifNormalizer.h.

int32_t num_tasksqr [protected]

square of num_tasks -- for registration purpose

Definition at line 335 of file MultitaskKernelPlifNormalizer.h.

std::vector<float64_t> similarity_matrix [protected]

MxM matrix encoding similarity between tasks

Definition at line 347 of file MultitaskKernelPlifNormalizer.h.

std::vector<float64_t> support [protected]

support points

Definition at line 356 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 338 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 341 of file MultitaskKernelPlifNormalizer.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