GaussianProcessNormal::GaussianProcessNormal(size_t dim, 
					 bopt_params params):
    HierarchicalGaussianProcess(dim,params),
    mSigma(params.sigma_s), 
    mW0(params.mean.n_coef), mInvVarW(params.mean.n_coef), 
    mD(params.mean.n_coef,params.mean.n_coef)
  {  
    mW0 = utils::array2vector(params.mean.coef_mean,params.mean.n_coef);
    for (size_t ii = 0; ii < params.mean.n_coef; ++ii)
      {
	double varii = params.mean.coef_std[ii] * params.mean.coef_std[ii];
	mInvVarW(ii) = 1/varii;
      }
     d_ = new GaussianDistribution();
  }  // Constructor
Exemplo n.º 2
0
  StudentTProcessNIG::StudentTProcessNIG(size_t dim, bopt_params params, 
					 const Dataset& data, 			 
					 MeanModel& mean, randEngine& eng):
    HierarchicalGaussianProcess(dim,params,data, mean, eng),
    mAlpha(params.alpha), mBeta (params.beta), 
    mW0(params.mean.n_coef), mInvVarW(params.mean.n_coef), 
    mD(params.mean.n_coef,params.mean.n_coef)
  {  
    mW0 = utils::array2vector(params.mean.coef_mean,params.mean.n_coef);
    for (size_t ii = 0; ii < params.mean.n_coef; ++ii)
      {
	double varii = params.mean.coef_std[ii] * params.mean.coef_std[ii];
	mInvVarW(ii) = 1/varii;
      }
     d_ = new StudentTDistribution(eng);
  }  // Constructor