SHOGUN v0.9.0
|
The MultitaskKernel allows learning a piece-wise linear function (PLIF) via MKL.
公有成员 | |
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 |
保护属性 | |
int32_t | num_tasks |
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
CMultitaskKernelPlifNormalizer | ( | std::vector< float64_t > | support_, |
std::vector< int32_t > | task_vector | ||
) |
constructor
virtual ~CMultitaskKernelPlifNormalizer | ( | ) | [virtual] |
default destructor
float64_t compute_task_similarity | ( | int32_t | task_a, |
int32_t | task_b | ||
) |
derive similarity from distance with plif
float64_t get_beta | ( | int32_t | idx | ) | [virtual] |
idx | index of MKL weight to get |
virtual const char* get_name | ( | void | ) | const [virtual] |
int32_t get_num_betas | ( | ) | [virtual] |
int32_t get_num_unique_tasks | ( | std::vector< int32_t > | vec | ) |
helper routine
vec | vector with containing task_id for each example |
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 |
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 |
virtual std::vector<int32_t> get_task_vector_lhs | ( | ) | const [virtual] |
virtual std::vector<int32_t> get_task_vector_rhs | ( | ) | const [virtual] |
normalize the kernel value
value | kernel value |
idx_lhs | index of left hand side vector |
idx_rhs | index of right hand side vector |
void set_beta | ( | int32_t | idx, |
float64_t | weight | ||
) | [virtual] |
idx | index of MKL weight to set |
weight | MKL weight to set |
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 |
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 |
virtual void set_task_vector | ( | std::vector< int32_t > | vec | ) | [virtual] |
vec | task vector with containing task_id for each example |
virtual void set_task_vector_lhs | ( | std::vector< int32_t > | vec | ) | [virtual] |
vec | task vector with containing task_id for each example |
virtual void set_task_vector_rhs | ( | std::vector< int32_t > | vec | ) | [virtual] |
vec | task vector with containing task_id for each example |
void update_cache | ( | ) |
update cache
number of weights
std::vector<float64_t> distance_matrix [protected] |
MxM matrix encoding distance between tasks
int32_t num_betas [protected] |
number of weights
int32_t num_tasks [protected] |
number of tasks
std::vector<float64_t> similarity_matrix [protected] |
MxM matrix encoding similarity between tasks
support points
std::vector<int32_t> task_vector_lhs [protected] |
task vector indicating to which task each example on the left hand side belongs
std::vector<int32_t> task_vector_rhs [protected] |
task vector indicating to which task each example on the right hand side belongs