The MultitaskKernel allows learning a piece-wise linear function (PLIF) via MKL.
Definition at line 26 of file MultitaskKernelPlifNormalizer.h.

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 |
| CMultitaskKernelPlifNormalizer * | KernelNormalizerToMultitaskKernelPlifNormalizer (CKernelNormalizer *n) |
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_t > | distance_matrix |
| std::vector< float64_t > | similarity_matrix |
| int32_t | num_betas |
| std::vector< float64_t > | betas |
| std::vector< float64_t > | support |
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.
| 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] |
| idx | index of MKL weight to get |
Implements CMultitaskKernelMklNormalizer.
Definition at line 282 of file MultitaskKernelPlifNormalizer.h.
| virtual const char* get_name | ( | ) | const [virtual] |
Reimplemented from CMultitaskKernelMklNormalizer.
Definition at line 314 of file MultitaskKernelPlifNormalizer.h.
| int32_t get_num_betas | ( | ) | [virtual] |
Implements CMultitaskKernelMklNormalizer.
Definition at line 305 of file MultitaskKernelPlifNormalizer.h.
| int32_t get_num_unique_tasks | ( | std::vector< int32_t > | vec | ) |
helper routine
| vec | vector with containing task_id for each example |
Definition at line 100 of file MultitaskKernelPlifNormalizer.h.
| float64_t get_task_distance | ( | int32_t | task_lhs, | |
| int32_t | task_rhs | |||
| ) |
| task_lhs | task_id on left hand side | |
| task_rhs | task_id on right hand side |
Definition at line 222 of file MultitaskKernelPlifNormalizer.h.
| float64_t get_task_similarity | ( | int32_t | task_lhs, | |
| int32_t | task_rhs | |||
| ) |
| task_lhs | task_id on left hand side | |
| task_rhs | task_id on right hand side |
Definition at line 253 of file MultitaskKernelPlifNormalizer.h.
| virtual std::vector<int32_t> get_task_vector_lhs | ( | ) | const [virtual] |
Definition at line 187 of file MultitaskKernelPlifNormalizer.h.
| virtual std::vector<int32_t> get_task_vector_rhs | ( | ) | const [virtual] |
Definition at line 199 of file MultitaskKernelPlifNormalizer.h.
| CMultitaskKernelPlifNormalizer* KernelNormalizerToMultitaskKernelPlifNormalizer | ( | CKernelNormalizer * | n | ) |
casts kernel normalizer to multitask kernel plif normalizer
| n | kernel normalizer to cast |
Definition at line 322 of file MultitaskKernelPlifNormalizer.h.
normalize the kernel value
| 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 330 of file MultitaskKernelPlifNormalizer.h.
| void set_beta | ( | int32_t | idx, | |
| float64_t | weight | |||
| ) | [virtual] |
| 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 | |||
| ) |
| 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 | |||
| ) |
| 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] |
| 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] |
| 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] |
| 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.
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.
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.