11 #ifndef _MULTITASKKERNELNORMALIZER_H___
12 #define _MULTITASKKERNELNORMALIZER_H___
79 if (strcmp(k->
get_name(),
"WeightedDegree") == 0) {
80 SG_INFO(
"using first-element normalization\n")
83 SG_INFO(
"no inner normalization for non-WDK kernel\n")
109 std::sort(vec.begin(), vec.end());
112 std::vector<int32_t>::iterator endLocation = std::unique(vec.begin(), vec.end());
152 SG_ERROR(
"normalize_lhs not implemented")
162 SG_ERROR(
"normalize_rhs not implemented")
207 ASSERT(task_lhs < num_tasks && task_lhs >= 0)
208 ASSERT(task_rhs < num_tasks && task_rhs >= 0)
223 ASSERT(task_lhs < num_tasks && task_lhs >= 0)
224 ASSERT(task_rhs < num_tasks && task_rhs >= 0)
233 return "MultitaskKernelNormalizer";
virtual const char * get_name() const =0
float distance(CJLCoverTreePoint p1, CJLCoverTreePoint p2, float64_t upper_bound)
The MultitaskKernel allows Multitask Learning via a modified kernel function.
virtual const char * get_name() const
virtual float64_t compute(int32_t x, int32_t y)=0
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)
CMultitaskKernelNormalizer(std::vector< int32_t > task_vector)
CMultitaskKernelNormalizer()
float64_t get_task_similarity(int32_t task_lhs, int32_t task_rhs)
virtual bool init(CKernel *k)
std::vector< float64_t > similarity_matrix
std::vector< int32_t > get_task_vector_lhs() const
void set_task_vector_rhs(std::vector< int32_t > vec)
virtual int32_t get_num_vec_lhs()
std::vector< int32_t > task_vector_lhs
void set_task_vector_lhs(std::vector< int32_t > vec)
virtual ~CMultitaskKernelNormalizer()
virtual float64_t normalize_rhs(float64_t value, int32_t idx_rhs)
std::vector< int32_t > task_vector_rhs
void set_task_vector(std::vector< int32_t > vec)
The class Kernel Normalizer defines a function to post-process kernel values.
virtual int32_t get_num_vec_rhs()
void set_task_similarity(int32_t task_lhs, int32_t task_rhs, float64_t similarity)
CMultitaskKernelNormalizer * KernelNormalizerToMultitaskKernelNormalizer(CKernelNormalizer *n)
CFeatures * rhs
feature vectors to occur on right hand side
all of classes and functions are contained in the shogun namespace
CFeatures * lhs
feature vectors to occur on left hand side
The class Features is the base class of all feature objects.
int32_t get_num_unique_tasks(std::vector< int32_t > vec)
std::vector< int32_t > get_task_vector_rhs() const