Definition at line 22 of file Kernel.h.
Public Member Functions | |
CKernel (INT size) | |
CKernel (CFeatures *l, CFeatures *r, INT size) | |
virtual | ~CKernel () |
DREAL | kernel (INT idx_a, INT idx_b) |
void | get_kernel_matrix (DREAL **dst, INT *m, INT *n) |
virtual DREAL * | get_kernel_matrix_real (int &m, int &n, DREAL *target) |
virtual SHORTREAL * | get_kernel_matrix_shortreal (int &m, int &n, SHORTREAL *target) |
virtual bool | init (CFeatures *lhs, CFeatures *rhs) |
virtual void | cleanup () |
bool | load (CHAR *fname) |
bool | save (CHAR *fname) |
virtual bool | load_init (FILE *src)=0 |
virtual bool | save_init (FILE *dest)=0 |
CFeatures * | get_lhs () |
CFeatures * | get_rhs () |
INT | get_num_vec_lhs () |
INT | get_num_vec_rhs () |
bool | has_features () |
virtual void | remove_lhs_and_rhs () |
virtual void | remove_lhs () |
virtual void | remove_rhs () |
takes all necessary steps if the rhs is removed from kernel | |
virtual EKernelType | get_kernel_type ()=0 |
virtual EFeatureType | get_feature_type ()=0 |
virtual EFeatureClass | get_feature_class ()=0 |
virtual const CHAR * | get_name ()=0 |
void | set_cache_size (INT size) |
int | get_cache_size () |
void | list_kernel () |
bool | has_property (EKernelProperty p) |
virtual void | clear_normal () |
virtual void | add_to_normal (INT vector_idx, DREAL weight) |
EOptimizationType | get_optimization_type () |
virtual void | set_optimization_type (EOptimizationType t) |
bool | get_is_initialized () |
virtual bool | init_optimization (INT count, INT *IDX, DREAL *weights) |
virtual bool | delete_optimization () |
bool | init_optimization_svm (CSVM *svm) |
virtual DREAL | compute_optimized (INT vector_idx) |
virtual void | compute_batch (INT num_vec, INT *vec_idx, DREAL *target, INT num_suppvec, INT *IDX, DREAL *alphas, DREAL factor=1.0) |
DREAL | get_combined_kernel_weight () |
void | set_combined_kernel_weight (double nw) |
virtual INT | get_num_subkernels () |
virtual void | compute_by_subkernel (INT vector_idx, DREAL *subkernel_contrib) |
virtual const DREAL * | get_subkernel_weights (INT &num_weights) |
virtual void | set_subkernel_weights (DREAL *weights, INT num_weights) |
bool | get_precompute_matrix () |
bool | get_precompute_subkernel_matrix () |
virtual void | set_precompute_matrix (bool flag, bool subkernel_flag) |
Static Public Attributes | |
static CParallel | parallel |
static CIO | io |
static CVersion | version |
Protected Member Functions | |
void | set_property (EKernelProperty p) |
void | unset_property (EKernelProperty p) |
void | set_is_initialized (bool p_init) |
virtual DREAL | compute (INT x, INT y)=0 |
void | do_precompute_matrix () |
matrix precomputation | |
void | init_sqrt_diag (DREAL *v, INT num) |
Protected Attributes | |
INT | cache_size |
cache_size in MB | |
KERNELCACHE_ELEM * | kernel_matrix |
SHORTREAL * | precomputed_matrix |
bool | precompute_subkernel_matrix |
bool | precompute_matrix |
CFeatures * | lhs |
feature vectors to occur on left hand side | |
CFeatures * | rhs |
feature vectors to occur on right hand side | |
DREAL | combined_kernel_weight |
bool | optimization_initialized |
EOptimizationType | opt_type |
ULONG | properties |
CKernel::CKernel | ( | INT | size | ) |
constructor
l | features for left-hand side | |
r | features for right-hand side | |
size | cache size |
Definition at line 49 of file Kernel.cpp.
CKernel::~CKernel | ( | ) | [virtual] |
Definition at line 66 of file Kernel.cpp.
get kernel matrix
dst | destination where matrix will be stored | |
m | dimension m of matrix | |
n | dimension n of matrix |
Definition at line 79 of file Kernel.cpp.
get kernel matrix real
m | dimension m of matrix | |
n | dimension n of matrix | |
target | the kernel matrix |
Definition at line 216 of file Kernel.cpp.
get kernel matrix shortreal
m | dimension m of matrix | |
n | dimension n of matrix | |
target | target for kernel matrix |
Reimplemented in CCustomKernel.
Definition at line 146 of file Kernel.cpp.
initialize kernel e.g. setup lhs/rhs of kernel, precompute normalization constants etc. make sure to check that your kernel can deal with the supplied features (!)
lhs | features for left-hand side | |
rhs | features for right-hand side |
Reimplemented in CAUCKernel, CChi2Kernel, CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CConstKernel, CCustomKernel, CDistanceKernel, CFixedDegreeStringKernel, CGaussianKernel, CHistogramWordKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CLocalAlignmentStringKernel, CLocalityImprovedStringKernel, CPolyKernel, CPolyMatchStringKernel, CPolyMatchWordKernel, CPyramidChi2, CSalzbergWordKernel, CSigmoidKernel, CSimpleKernel< ST >, CSimpleLocalityImprovedStringKernel, CSparseGaussianKernel, CSparseKernel< ST >, CSparseLinearKernel, CSparsePolyKernel, CStringKernel< ST >, CWeightedCommWordStringKernel, CWeightedDegreePositionStringKernel, CWeightedDegreeStringKernel, CWordMatchKernel, CSimpleKernel< double >, CSimpleKernel< unsigned char >, CSimpleKernel< unsigned short int >, CSparseKernel< double >, CStringKernel< char >, CStringKernel< unsigned short int >, and CStringKernel< uint64_t >.
Definition at line 288 of file Kernel.cpp.
void CKernel::cleanup | ( | ) | [virtual] |
clean up your kernel
base method only removes lhs and rhs overload to add further cleanup but make sure CKernel::cleanup() is called
Reimplemented in CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CCustomKernel, CFixedDegreeStringKernel, CHistogramWordKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CLocalAlignmentStringKernel, CPolyKernel, CPolyMatchStringKernel, CPolyMatchWordKernel, CPyramidChi2, CSalzbergWordKernel, CSigmoidKernel, CSimpleLocalityImprovedStringKernel, CSparseGaussianKernel, CSparseLinearKernel, CSparsePolyKernel, CWeightedCommWordStringKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 315 of file Kernel.cpp.
bool CKernel::load | ( | CHAR * | fname | ) |
load the kernel matrix
fname | filename to load from |
Definition at line 322 of file Kernel.cpp.
bool CKernel::save | ( | CHAR * | fname | ) |
save kernel matrix
fname | filename to save to |
Definition at line 327 of file Kernel.cpp.
virtual bool CKernel::load_init | ( | FILE * | src | ) | [pure virtual] |
load kernel init_data
abstract base method
src | file to load from |
Implemented in CAUCKernel, CChi2Kernel, CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CConstKernel, CCustomKernel, CDiagKernel, CDistanceKernel, CFixedDegreeStringKernel, CGaussianKernel, CHistogramWordKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CLocalAlignmentStringKernel, CLocalityImprovedStringKernel, CPolyKernel, CPolyMatchStringKernel, CPolyMatchWordKernel, CPyramidChi2, CSalzbergWordKernel, CSigmoidKernel, CSimpleLocalityImprovedStringKernel, CSparseGaussianKernel, CSparseLinearKernel, CSparsePolyKernel, CWeightedDegreePositionStringKernel, CWeightedDegreeStringKernel, and CWordMatchKernel.
virtual bool CKernel::save_init | ( | FILE * | dest | ) | [pure virtual] |
save kernel init_data
abstract base method
dest | file to save to |
Implemented in CAUCKernel, CChi2Kernel, CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CConstKernel, CCustomKernel, CDiagKernel, CDistanceKernel, CFixedDegreeStringKernel, CGaussianKernel, CHistogramWordKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CLocalAlignmentStringKernel, CLocalityImprovedStringKernel, CPolyKernel, CPolyMatchStringKernel, CPolyMatchWordKernel, CPyramidChi2, CSalzbergWordKernel, CSigmoidKernel, CSimpleLocalityImprovedStringKernel, CSparseGaussianKernel, CSparseLinearKernel, CSparsePolyKernel, CWeightedDegreePositionStringKernel, CWeightedDegreeStringKernel, and CWordMatchKernel.
CFeatures* CKernel::get_lhs | ( | ) |
CFeatures* CKernel::get_rhs | ( | ) |
INT CKernel::get_num_vec_lhs | ( | ) |
INT CKernel::get_num_vec_rhs | ( | ) |
bool CKernel::has_features | ( | ) |
void CKernel::remove_lhs_and_rhs | ( | ) | [virtual] |
remove lhs and rhs from kernel
Definition at line 358 of file Kernel.cpp.
void CKernel::remove_lhs | ( | ) | [virtual] |
remove lhs from kernel
Reimplemented in CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 370 of file Kernel.cpp.
void CKernel::remove_rhs | ( | ) | [virtual] |
takes all necessary steps if the rhs is removed from kernel
remove rhs from kernel
Reimplemented in CCombinedKernel, CCommUlongStringKernel, and CCommWordStringKernel.
Definition at line 379 of file Kernel.cpp.
virtual EKernelType CKernel::get_kernel_type | ( | ) | [pure virtual] |
return what type of kernel we are, e.g. Linear,Polynomial, Gaussian,...
abstract base method
Implemented in CAUCKernel, CChi2Kernel, CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CConstKernel, CCustomKernel, CDiagKernel, CDistanceKernel, CFixedDegreeStringKernel, CGaussianKernel, CGaussianShiftKernel, CHistogramWordKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CLocalAlignmentStringKernel, CLocalityImprovedStringKernel, CPolyKernel, CPolyMatchStringKernel, CPolyMatchWordKernel, CPyramidChi2, CSalzbergWordKernel, CSigmoidKernel, CSimpleLocalityImprovedStringKernel, CSparseGaussianKernel, CSparseLinearKernel, CSparsePolyKernel, CWeightedCommWordStringKernel, CWeightedDegreePositionStringKernel, CWeightedDegreeStringKernel, and CWordMatchKernel.
virtual EFeatureType CKernel::get_feature_type | ( | ) | [pure virtual] |
return feature type the kernel can deal with
abstract base method
Implemented in CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CConstKernel, CCustomKernel, CDiagKernel, CDistanceKernel, CSimpleKernel< ST >, CSparseGaussianKernel, CSparseKernel< ST >, CSparsePolyKernel, CStringKernel< ST >, CWeightedCommWordStringKernel, CSimpleKernel< double >, CSimpleKernel< unsigned char >, CSimpleKernel< unsigned short int >, CSparseKernel< double >, CStringKernel< char >, CStringKernel< unsigned short int >, CStringKernel< uint64_t >, CSimpleKernel< ST >, CSimpleKernel< ST >, CSimpleKernel< ST >, CSimpleKernel< ST >, CSimpleKernel< ST >, CSimpleKernel< ST >, CSimpleKernel< ST >, CSparseKernel< ST >, CSparseKernel< ST >, CSparseKernel< ST >, CSparseKernel< ST >, CSparseKernel< ST >, CSparseKernel< ST >, CSparseKernel< ST >, CStringKernel< ST >, CStringKernel< ST >, CStringKernel< ST >, CStringKernel< ST >, CStringKernel< ST >, CStringKernel< ST >, and CStringKernel< ST >.
virtual EFeatureClass CKernel::get_feature_class | ( | ) | [pure virtual] |
return feature class the kernel can deal with
abstract base method
Implemented in CCombinedKernel, CConstKernel, CCustomKernel, CDiagKernel, CDistanceKernel, CSimpleKernel< ST >, CSparseKernel< ST >, CStringKernel< ST >, CSimpleKernel< double >, CSimpleKernel< unsigned char >, CSimpleKernel< unsigned short int >, CSparseKernel< double >, CStringKernel< char >, CStringKernel< unsigned short int >, and CStringKernel< uint64_t >.
virtual const CHAR* CKernel::get_name | ( | ) | [pure virtual] |
get the name of a kernel
Implemented in CAUCKernel, CChi2Kernel, CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CConstKernel, CCustomKernel, CDiagKernel, CDistanceKernel, CFixedDegreeStringKernel, CGaussianKernel, CGaussianShiftKernel, CHistogramWordKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CLocalAlignmentStringKernel, CLocalityImprovedStringKernel, CPolyKernel, CPolyMatchStringKernel, CPolyMatchWordKernel, CPyramidChi2, CSalzbergWordKernel, CSigmoidKernel, CSimpleLocalityImprovedStringKernel, CSparseGaussianKernel, CSparseLinearKernel, CSparsePolyKernel, CWeightedCommWordStringKernel, CWeightedDegreePositionStringKernel, CWeightedDegreeStringKernel, and CWordMatchKernel.
void CKernel::set_cache_size | ( | INT | size | ) |
int CKernel::get_cache_size | ( | ) |
void CKernel::list_kernel | ( | ) |
list kernel
Definition at line 389 of file Kernel.cpp.
bool CKernel::has_property | ( | EKernelProperty | p | ) |
void CKernel::clear_normal | ( | ) | [virtual] |
for optimizable kernels, i.e. kernels where the weight vector can be computed explicitely (if it fits into memory)
Reimplemented in CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CSparseLinearKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 578 of file Kernel.cpp.
add vector*factor to 'virtual' normal vector
vector_idx | index | |
weight | weight |
Reimplemented in CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CSparseLinearKernel, CWeightedCommWordStringKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 573 of file Kernel.cpp.
EOptimizationType CKernel::get_optimization_type | ( | ) |
virtual void CKernel::set_optimization_type | ( | EOptimizationType | t | ) | [virtual] |
bool CKernel::get_is_initialized | ( | ) |
initialize optimization
count | count | |
IDX | index | |
weights | weights |
Reimplemented in CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CSparseLinearKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 550 of file Kernel.cpp.
bool CKernel::delete_optimization | ( | ) | [virtual] |
delete optimization
Reimplemented in CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CSparseLinearKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 556 of file Kernel.cpp.
bool CKernel::init_optimization_svm | ( | CSVM * | svm | ) |
initialize optimization
svm | svm model |
Definition at line 644 of file Kernel.cpp.
compute optimized
vector_idx | index to compute |
Reimplemented in CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CSparseLinearKernel, CWeightedCommWordStringKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 562 of file Kernel.cpp.
void CKernel::compute_batch | ( | INT | num_vec, | |
INT * | vec_idx, | |||
DREAL * | target, | |||
INT | num_suppvec, | |||
INT * | IDX, | |||
DREAL * | alphas, | |||
DREAL | factor = 1.0 | |||
) | [virtual] |
computes output for a batch of examples in an optimized fashion (favorable if kernel supports it, i.e. has KP_BATCHEVALUATION. to the outputvector target (of length num_vec elements) the output for the examples enumerated in vec_idx are added. therefore make sure that it is initialized with ZERO. the following num_suppvec, IDX, alphas arguments are the number of support vectors, their indices and weights
Reimplemented in CCombinedKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 568 of file Kernel.cpp.
DREAL CKernel::get_combined_kernel_weight | ( | ) |
void CKernel::set_combined_kernel_weight | ( | double | nw | ) |
INT CKernel::get_num_subkernels | ( | ) | [virtual] |
get number of subkernels
Reimplemented in CCombinedKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 583 of file Kernel.cpp.
compute by subkernel
vector_idx | index | |
subkernel_contrib | subkernel contribution |
Reimplemented in CCombinedKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 588 of file Kernel.cpp.
get subkernel weights
num_weights | number of weights will be stored here |
Reimplemented in CCombinedKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 593 of file Kernel.cpp.
set subkernel weights
weights | subkernel weights | |
num_weights | number of weights |
Reimplemented in CCombinedKernel, CWeightedDegreePositionStringKernel, and CWeightedDegreeStringKernel.
Definition at line 599 of file Kernel.cpp.
bool CKernel::get_precompute_matrix | ( | ) |
bool CKernel::get_precompute_subkernel_matrix | ( | ) |
virtual void CKernel::set_precompute_matrix | ( | bool | flag, | |
bool | subkernel_flag | |||
) | [virtual] |
set precompute matrix
flag | flag | |
subkernel_flag | subkernel flag |
Reimplemented in CCombinedKernel.
void CKernel::set_property | ( | EKernelProperty | p | ) | [protected] |
void CKernel::unset_property | ( | EKernelProperty | p | ) | [protected] |
void CKernel::set_is_initialized | ( | bool | p_init | ) | [protected] |
compute kernel function for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object
abstract base method
x | index a | |
y | index b |
Implemented in CAUCKernel, CChi2Kernel, CCombinedKernel, CCommUlongStringKernel, CCommWordStringKernel, CConstKernel, CCustomKernel, CDiagKernel, CDistanceKernel, CFixedDegreeStringKernel, CGaussianKernel, CGaussianShiftKernel, CHistogramWordKernel, CLinearByteKernel, CLinearKernel, CLinearStringKernel, CLinearWordKernel, CLocalAlignmentStringKernel, CLocalityImprovedStringKernel, CPolyKernel, CPolyMatchStringKernel, CPolyMatchWordKernel, CPyramidChi2, CSalzbergWordKernel, CSigmoidKernel, CSimpleLocalityImprovedStringKernel, CSparseGaussianKernel, CSparseLinearKernel, CSparsePolyKernel, CWeightedDegreePositionStringKernel, CWeightedDegreeStringKernel, and CWordMatchKernel.
void CKernel::do_precompute_matrix | ( | ) | [protected] |
INT CKernel::cache_size [protected] |
KERNELCACHE_ELEM* CKernel::kernel_matrix [protected] |
SHORTREAL* CKernel::precomputed_matrix [protected] |
bool CKernel::precompute_subkernel_matrix [protected] |
bool CKernel::precompute_matrix [protected] |
CFeatures* CKernel::lhs [protected] |
CFeatures* CKernel::rhs [protected] |
DREAL CKernel::combined_kernel_weight [protected] |
bool CKernel::optimization_initialized [protected] |
EOptimizationType CKernel::opt_type [protected] |
ULONG CKernel::properties [protected] |
CParallel CSGObject::parallel [static, inherited] |
Definition at line 105 of file SGObject.h.
CIO CSGObject::io [static, inherited] |
Definition at line 106 of file SGObject.h.
CVersion CSGObject::version [static, inherited] |
Definition at line 107 of file SGObject.h.