132 template<
typename ForwardIter,
typename Accessor>
142 template<
typename ForwardIter1,
typename Accessor1,
143 typename ForwardIter2,
typename Accessor2 >
160 template<
typename FV>
163 return exp(-
p_gamma*(x.square() - 2*x.dotProduct(y) + y.square()));
166 template<
typename FV,
typename FVGradient>
168 FVGradient& gradient)
const 174 template<
typename STDATA>
178 if( stData.valueExists(
"gamma"))
180 stData.getValue(
"gamma",
p_gamma);
182 else if( stData.valueExists(
"feature_vector_dim"))
184 unsigned int fvDim = 1;
185 stData.getValue(
"feature_vector_dim", fvDim);
190 template<
typename STDATA>
194 stData.setValue(
"kernel_type",
name());
195 stData.setValue(
"gamma",
p_gamma);
205 return "radial basis function kernel: exp(-gamma*|u-v|^2)";
222 "gamma for rbf-kernel. (default 1.0, or " 223 "1/k, when feature_vector_dim is given"));
void saveParameters(STDATA &stData) const
#define CHECK_MEMBER_TEMPLATE(c)
The Kernel_RBF class specifies a radial basis function kernel exp(-gamma*|u-v|^2) ...
void gradient_of_k_function(const FV &x, const FV &y, FVGradient &gradient) const
void updateCache(const ForwardIter &, const ForwardIter &, Accessor, ProgressReporter *) const
static void getParamInfos(std::vector< ParamInfo > &p)
get information about the parameters, that are used in loadParameters() and saveParameters().
void updateCache(const ForwardIter1 &, const ForwardIter1 &, Accessor1, const ForwardIter2 &, const ForwardIter2 &, Accessor2, ProgressReporter *=0) const
void setGamma(double gamma)
void loadParameters(STDATA &stData)
static const char * description()
static const char * name()
The ParamInfo class contains informations about one parameter like key, help text, guiHints etc.
Kernel_RBF(double gamma=1.)
double k_function(const FV &x, const FV &y) const