00001 /* 00002 * SingleGP.h 00003 * 00004 * Created on: Feb 10, 2010 00005 * Author: sturm 00006 */ 00007 00008 #include "covarianceFunctions.h" 00009 #include "gpRegression.hpp" 00010 00011 namespace gaussian_process { 00012 00013 class SingleGP { 00014 public: 00015 CovFuncND initialCovFunc; 00016 double initialSigmaNoise; 00017 00018 CovFuncND covFunc; 00019 double sigmaNoise; 00020 00021 TVector<TDoubleVector> dataPoints; 00022 TVector<double> targetPoints; 00023 GPReg<TDoubleVector> GP; 00024 double mean,var; 00025 00026 SingleGP(CovFuncND initialCovFunc,double initialSigmaNoise); 00027 ~SingleGP(); 00028 void Reset(); 00029 void SetData(TVector<TDoubleVector> &dataPoints,TVector<double> &targetPoints); 00030 void BuildGP(); 00031 void OptimizeGP(); 00032 void Evaluate(TDoubleVector data, double &targetMean, double &targetVar); 00033 double GetDataLikelihood(); 00034 }; 00035 00036 }