|
PLearn 0.1
|
#include <CompactVMatrixGaussianKernel.h>


Public Member Functions | |
| CompactVMatrixGaussianKernel () | |
| CompactVMatrixGaussianKernel (real the_sigma, PP< CompactVMatrix > &vm) | |
| virtual string | classname () const |
| virtual OptionList & | getOptionList () const |
| virtual OptionMap & | getOptionMap () const |
| virtual RemoteMethodMap & | getRemoteMethodMap () const |
| virtual CompactVMatrixGaussianKernel * | deepCopy (CopiesMap &copies) const |
| virtual real | evaluate (const Vec &x1, const Vec &x2) const |
| ** Subclasses must override this method ** | |
| virtual void | setParameters (Vec paramvec) |
| ** Subclasses may override these methods ** They provide a generic way to set and retrieve kernel parameters | |
Static Public Member Functions | |
| static string | _classname_ () |
| static OptionList & | _getOptionList_ () |
| static RemoteMethodMap & | _getRemoteMethodMap_ () |
| static Object * | _new_instance_for_typemap_ () |
| static bool | _isa_ (const Object *o) |
| static void | _static_initialize_ () |
| static const PPath & | declaringFile () |
Static Public Attributes | |
| static StaticInitializer | _static_initializer_ |
Static Protected Member Functions | |
| static void | declareOptions (OptionList &ol) |
| recognized option are "sigma" and "m" | |
Protected Attributes | |
| real | sigma |
| PP< CompactVMatrix > | m |
Private Types | |
| typedef Kernel | inherited |
behaves like GaussianKernel except that the x1 and x2 vectors actually only contain INDICES of the rows of a CompactVMatrix, and the square difference is performed efficiently, taking advantage of the discrete nature of many fields.
Definition at line 59 of file CompactVMatrixGaussianKernel.h.
typedef Kernel PLearn::CompactVMatrixGaussianKernel::inherited [private] |
Reimplemented from PLearn::Kernel.
Definition at line 61 of file CompactVMatrixGaussianKernel.h.
| PLearn::CompactVMatrixGaussianKernel::CompactVMatrixGaussianKernel | ( | ) | [inline] |
Definition at line 68 of file CompactVMatrixGaussianKernel.h.
| PLearn::CompactVMatrixGaussianKernel::CompactVMatrixGaussianKernel | ( | real | the_sigma, |
| PP< CompactVMatrix > & | vm | ||
| ) | [inline] |
Definition at line 70 of file CompactVMatrixGaussianKernel.h.
| string PLearn::CompactVMatrixGaussianKernel::_classname_ | ( | ) | [static] |
Reimplemented from PLearn::Kernel.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| OptionList & PLearn::CompactVMatrixGaussianKernel::_getOptionList_ | ( | ) | [static] |
Reimplemented from PLearn::Kernel.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| RemoteMethodMap & PLearn::CompactVMatrixGaussianKernel::_getRemoteMethodMap_ | ( | ) | [static] |
Reimplemented from PLearn::Kernel.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
Reimplemented from PLearn::Kernel.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| Object * PLearn::CompactVMatrixGaussianKernel::_new_instance_for_typemap_ | ( | ) | [static] |
Reimplemented from PLearn::Object.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| StaticInitializer CompactVMatrixGaussianKernel::_static_initializer_ & PLearn::CompactVMatrixGaussianKernel::_static_initialize_ | ( | ) | [static] |
Reimplemented from PLearn::Kernel.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| string PLearn::CompactVMatrixGaussianKernel::classname | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| void PLearn::CompactVMatrixGaussianKernel::declareOptions | ( | OptionList & | ol | ) | [static, protected] |
recognized option are "sigma" and "m"
Reimplemented from PLearn::Kernel.
Definition at line 83 of file CompactVMatrixGaussianKernel.cc.
References PLearn::OptionBase::buildoption, PLearn::declareOption(), m, and sigma.
{
declareOption(ol, "sigma", &CompactVMatrixGaussianKernel::sigma, OptionBase::buildoption,
"TODO: Some comments");
declareOption(ol, "m", &CompactVMatrixGaussianKernel::m, OptionBase::buildoption, "");
inherited::declareOptions(ol);
}

| static const PPath& PLearn::CompactVMatrixGaussianKernel::declaringFile | ( | ) | [inline, static] |
| CompactVMatrixGaussianKernel * PLearn::CompactVMatrixGaussianKernel::deepCopy | ( | CopiesMap & | copies | ) | const [virtual] |
Reimplemented from PLearn::Kernel.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| real PLearn::CompactVMatrixGaussianKernel::evaluate | ( | const Vec & | x1, |
| const Vec & | x2 | ||
| ) | const [virtual] |
** Subclasses must override this method **
returns K(x1,x2)
Implements PLearn::Kernel.
Definition at line 51 of file CompactVMatrixGaussianKernel.cc.
References PLearn::exp(), m, and PLearn::powdistance().
{
// return exp(-powdistance(x1, x2, 2.0)/(sigma*sigma));
real sqdiff=0;
if (m)
{
sqdiff=m->squareDifference(int(x1[0]),int(x2[0]));
/*
#ifdef BOUNDCHECK
m->setNormalMode();
int actual_n_inputs = m->width()-1;
Vec actual_x1(actual_n_inputs);
Vec actual_x2(actual_n_inputs);
m->getRow(int(x1[0]),actual_x1);
m->getRow(int(x2[0]),actual_x2);
m->setIndicesMode();
real actual_sqdiff= powdistance(actual_x1, actual_x2, 2.0);
if (fabs(sqdiff-actual_sqdiff)>0.1)
PLWARNING("something wrong in CompactVMatrixGaussianKernel");
#endif
*/
}
else
sqdiff= powdistance(x1, x2, real(2.0));
return exp(-sqdiff/(sigma*sigma));
}

| OptionList & PLearn::CompactVMatrixGaussianKernel::getOptionList | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| OptionMap & PLearn::CompactVMatrixGaussianKernel::getOptionMap | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| RemoteMethodMap & PLearn::CompactVMatrixGaussianKernel::getRemoteMethodMap | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 49 of file CompactVMatrixGaussianKernel.cc.
| void PLearn::CompactVMatrixGaussianKernel::setParameters | ( | Vec | paramvec | ) | [virtual] |
** Subclasses may override these methods ** They provide a generic way to set and retrieve kernel parameters
default version produces an error
Reimplemented from PLearn::Kernel.
Definition at line 79 of file CompactVMatrixGaussianKernel.cc.
{ sigma = paramvec[0]; }
Reimplemented from PLearn::Kernel.
Definition at line 73 of file CompactVMatrixGaussianKernel.h.
PP<CompactVMatrix> PLearn::CompactVMatrixGaussianKernel::m [protected] |
Definition at line 65 of file CompactVMatrixGaussianKernel.h.
Referenced by declareOptions().
real PLearn::CompactVMatrixGaussianKernel::sigma [protected] |
Definition at line 64 of file CompactVMatrixGaussianKernel.h.
Referenced by declareOptions().
1.7.4