OptimKernelParameterGradInterface.h 957 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /**
  2. * @file OptimKernelParameterGradInterface.h
  3. * @author Erik Rodner
  4. * @date 01/28/2010
  5. */
  6. #ifndef _NICE_OBJREC_OPTIMKERNELPARAMETERGRADINTERFACEINCLUDE
  7. #define _NICE_OBJREC_OPTIMKERNELPARAMETERGRADINTERFACEINCLUDE
  8. #include "ParameterizedKernel.h"
  9. namespace OBJREC {
  10. /** @class OptimKernelParameterGradInterface
  11. * optimized kernel parameter interface
  12. *
  13. * @author Erik Rodner
  14. */
  15. class OptimKernelParameterGradInterface : public ParameterizedKernel
  16. {
  17. protected:
  18. public:
  19. /** simple destructor */
  20. virtual ~OptimKernelParameterGradInterface();
  21. /* Due to memory limitations we are not able to
  22. * compute the gradient of the kernel matrix directly, therefore
  23. * we calculate the parameter gradient directly for GP regression */
  24. virtual void calculateGPRegGradientOptimized ( const NICE::Vector & parameters, const KernelData *kernelData,
  25. const NICE::VVector & y, NICE::Vector & newGradient ) const = 0;
  26. };
  27. }
  28. #endif