Mercurial > hg > camir-ismir2012
diff toolboxes/SVM-light/src/kernel.h @ 0:cc4b1211e677 tip
initial commit to HG from
Changeset:
646 (e263d8a21543) added further path and more save "camirversion.m"
author | Daniel Wolff |
---|---|
date | Fri, 19 Aug 2016 13:07:06 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolboxes/SVM-light/src/kernel.h Fri Aug 19 13:07:06 2016 +0200 @@ -0,0 +1,40 @@ +/************************************************************************/ +/* */ +/* kernel.h */ +/* */ +/* User defined kernel function. Feel free to plug in your own. */ +/* */ +/* Copyright: Thorsten Joachims */ +/* Date: 16.12.97 */ +/* */ +/************************************************************************/ + +/* KERNEL_PARM is defined in svm_common.h The field 'custom' is reserved for */ +/* parameters of the user defined kernel. You can also access and use */ +/* the parameters of the other kernels. Just replace the line + return((double)(1.0)); + with your own kernel. */ + + /* Example: The following computes the polynomial kernel. sprod_ss + computes the inner product between two sparse vectors. + + return((CFLOAT)pow(kernel_parm->coef_lin*sprod_ss(a->words,b->words) + +kernel_parm->coef_const,(double)kernel_parm->poly_degree)); + */ + +/* If you are implementing a kernel that is not based on a + feature/value representation, you might want to make use of the + field "userdefined" in SVECTOR. By default, this field will contain + whatever string you put behind a # sign in the example file. So, if + a line in your training file looks like + + -1 1:3 5:6 #abcdefg + + then the SVECTOR field "words" will contain the vector 1:3 5:6, and + "userdefined" will contain the string "abcdefg". */ + +double custom_kernel(KERNEL_PARM *kernel_parm, SVECTOR *a, SVECTOR *b) + /* plug in you favorite kernel */ +{ + return((double)(1.0)); +}