|
SHOGUN
v1.1.0
|
The MultitaskKernel allows Multitask Learning via a modified kernel function.
This effectively normalizes the vectors in feature space to norm 1 (see CSqrtDiagKernelNormalizer)
Definition at line 31 of file MultitaskKernelNormalizer.h.

Public Member Functions | |
| CMultitaskKernelNormalizer () | |
| CMultitaskKernelNormalizer (std::vector< int32_t > task_vector) | |
| virtual | ~CMultitaskKernelNormalizer () |
| virtual bool | init (CKernel *k) |
| int32_t | get_num_unique_tasks (std::vector< int32_t > vec) |
| 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) |
| std::vector< int32_t > | get_task_vector_lhs () const |
| void | set_task_vector_lhs (std::vector< int32_t > vec) |
| std::vector< int32_t > | get_task_vector_rhs () const |
| void | set_task_vector_rhs (std::vector< int32_t > vec) |
| void | set_task_vector (std::vector< int32_t > vec) |
| 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) |
| virtual const char * | get_name () const |
| CMultitaskKernelNormalizer * | KernelNormalizerToMultitaskKernelNormalizer (CKernelNormalizer *n) |
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) |
| SGIO * | get_global_io () |
| void | set_global_parallel (Parallel *parallel) |
| Parallel * | get_global_parallel () |
| void | set_global_version (Version *version) |
| Version * | get_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 | |
| std::vector< float64_t > | similarity_matrix |
| int32_t | num_tasks |
| std::vector< int32_t > | task_vector_lhs |
| std::vector< int32_t > | task_vector_rhs |
| float64_t | scale |
Protected Attributes inherited from CKernelNormalizer | |
| ENormalizerType | m_type |
Additional Inherited Members | |
Public Attributes inherited from CSGObject | |
| SGIO * | io |
| Parallel * | parallel |
| Version * | version |
| Parameter * | m_parameters |
| Parameter * | m_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) |
default constructor
Definition at line 38 of file MultitaskKernelNormalizer.h.
| CMultitaskKernelNormalizer | ( | std::vector< int32_t > | task_vector | ) |
default constructor
| task_vector | task vector with containing task_id for each example |
Definition at line 46 of file MultitaskKernelNormalizer.h.
|
virtual |
default destructor
Definition at line 61 of file MultitaskKernelNormalizer.h.
|
virtual |
Implements CSGObject.
Definition at line 228 of file MultitaskKernelNormalizer.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 103 of file MultitaskKernelNormalizer.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 201 of file MultitaskKernelNormalizer.h.
| std::vector<int32_t> get_task_vector_lhs | ( | ) | const |
Definition at line 166 of file MultitaskKernelNormalizer.h.
| std::vector<int32_t> get_task_vector_rhs | ( | ) | const |
Definition at line 178 of file MultitaskKernelNormalizer.h.
|
virtual |
initialization of the normalizer
| k | kernel |
Implements CKernelNormalizer.
Definition at line 67 of file MultitaskKernelNormalizer.h.
| CMultitaskKernelNormalizer* KernelNormalizerToMultitaskKernelNormalizer | ( | CKernelNormalizer * | n | ) |
convert generic kernel normalizer object into CMultitaskKernelNormalizer
Definition at line 237 of file MultitaskKernelNormalizer.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 123 of file MultitaskKernelNormalizer.h.
normalize only the left hand side vector
| value | value of a component of the left hand side feature vector |
| idx_lhs | index of left hand side vector |
Implements CKernelNormalizer.
Definition at line 147 of file MultitaskKernelNormalizer.h.
normalize only the right hand side vector
| value | value of a component of the right hand side feature vector |
| idx_rhs | index of right hand side vector |
Implements CKernelNormalizer.
Definition at line 157 of file MultitaskKernelNormalizer.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 216 of file MultitaskKernelNormalizer.h.
| void set_task_vector | ( | std::vector< int32_t > | vec | ) |
| vec | task vector with containing task_id for each example |
Definition at line 190 of file MultitaskKernelNormalizer.h.
| void set_task_vector_lhs | ( | std::vector< int32_t > | vec | ) |
| vec | task vector with containing task_id for each example |
Definition at line 172 of file MultitaskKernelNormalizer.h.
| void set_task_vector_rhs | ( | std::vector< int32_t > | vec | ) |
| vec | task vector with containing task_id for each example |
Definition at line 184 of file MultitaskKernelNormalizer.h.
|
protected |
number of tasks
Definition at line 249 of file MultitaskKernelNormalizer.h.
|
protected |
scale constant obtained from k(0,0)
Definition at line 258 of file MultitaskKernelNormalizer.h.
|
protected |
MxM matrix encoding similarity between tasks
Definition at line 246 of file MultitaskKernelNormalizer.h.
|
protected |
task vector indicating to which task each example on the left hand side belongs
Definition at line 252 of file MultitaskKernelNormalizer.h.
|
protected |
task vector indicating to which task each example on the right hand side belongs
Definition at line 255 of file MultitaskKernelNormalizer.h.