GaussProcApproximation Class Reference

Derived approximation class for Gaussian Process implementation. More...

Inheritance diagram for GaussProcApproximation:

Approximation List of all members.

Public Member Functions

 GaussProcApproximation ()
 default constructor
 GaussProcApproximation (const ProblemDescDB &problem_db, const size_t &num_acv)
 standard constructor
 ~GaussProcApproximation ()
 destructor

Protected Member Functions

int min_coefficients () const
 build the derived class approximation type in numVars dimensions
int num_constraints () const
 return the number of constraints to be enforced via anchorPoint
void find_coefficients ()
 find the covariance parameters governing the Gaussian process response
const Real & get_value (const RealVector &x)
 retrieve the function value for a given parameter set x
const Real & get_variance (const RealVector &x)
 retrieve the variance of the predicted value for a given parameter set x
const RealBaseVectorget_gradient (const RealVector &x)
 for a given parameter set x

Private Member Functions

void GPmodel_build ()
 Function to compute hyperparameters governing the GP.
void GPmodel_apply (const RealVector &new_x, bool variance_flag, bool gradients_flag)
 Function returns a response value using the GP surface.
void normalize_training_data ()
 Normalizes the initial inputs upon which the GP surface is based.
void get_trend ()
 linear, if order = 2, trend is quadratic.
void get_beta_coefficients ()
 Gets the beta coefficients for the calculation of the mean of the GP.
int get_cholesky_factor ()
 error checking
void get_process_variance ()
 the correlation lengthscales
void get_cov_matrix ()
 calculates the covariance matrix for a given set of input points
void get_cov_vector ()
 set of inputs upon which the GP is based
void optimize_theta_global ()
 parameters using NCSUDirect
void optimize_theta_multipoint ()
 parameters using a gradient-based solver and multiple staring points
void predict (bool variance_flag, bool gradients_flag)
 Calculates the predicted new response value for x in normalized space.
Real calc_nll ()
 matrix)
void calc_grad_nll ()
 to the correlation lengthscales, theta
void get_grad_cov_vector ()
 to each componeent of x.
void run_point_selection ()
 estimate the necessary parameters
void initialize_point_selection ()
 initial subset of the training points
void pointsel_get_errors (RealVector &)
 training points and find the errors
int addpoint (int, IntVector &)
 Adds a point to the effective training set. Returns 1 on success.
int pointsel_add_sel (RealVector &)
 them
Real maxval (RealVector &)
 Return the maximum value of the elements in a vector.
void pointsel_write_points ()
 Writes out the training set before and after point selection.
void lhood_2d_grid_eval ()
 likelihood on a grid
void writex (char[])
 specified file
void writeCovMat (char[])
 Writes out the covariance matrix to a specified file.

Static Private Member Functions

static void negloglik (int mode, int n, const NEWMAT::ColumnVector &X, NEWMAT::Real &fx, NEWMAT::ColumnVector &grad_x, int &result_mode)
 by minimizing the negative log likelihood
static void constraint_eval (int mode, int n, const NEWMAT::ColumnVector &X, NEWMAT::ColumnVector &g, NEWMAT::Matrix &gradC, int &result_mode)
 this function is empty: it is an unconstrained optimization.
static double negloglikNCSU (const RealVector &x)
 function used by NCSUOptimizer to optimize negloglik objective

Private Attributes

RealDenseMatrix trainPoints
 used to create the Gaussian process
RealDenseMatrix trainValues
 An array of response values; one response value per sample site.
RealDenseVector trainMeans
 The mean of the input columns of trainPoints.
RealDenseVector trainStdvs
 The standard deviation of the input columns of trainPoints.
RealDenseMatrix normTrainPoints
 Current working set of normalized points upon which the GP is based.
RealDenseMatrix trendFunction
 matrix to hold the trend function
RealDenseMatrix betaCoeffs
 matrix to hold the beta coefficients for the trend function
RealSymDenseMatrix covMatrix
 between points Xi and Xj in the initial set of samples
RealDenseMatrix covVector
 between a new point X and point Xj from the initial set of samples
RealDenseMatrix approxPoint
 single point, but it could be generalized to be a vector of points.
RealDenseMatrix gradNegLogLikTheta
 with respect to the theta correlation terms
RealSpdDenseSolver covSlvr
 the covariance matrix
RealDenseMatrix gradCovVector
 with respect to a particular componenet of X
RealDenseMatrix normTrainPointsAll
 Set of all original samples available.
RealDenseMatrix trainValuesAll
 All original samples available.
RealDenseMatrix trendFunctionAll
 Trend function values corresponding to all original samples.
size_t numObs
 The number of observations on which the GP surface is built.
size_t numObsAll
 The original number of observations.
short trendOrder
 linear, if order = 2, trend is quadratic.
RealVector thetaParams
 same point. sige is the underlying process error.
Real procVar
 The process variance, the multiplier of the correlation matrix.
RealVector pointsAddedIndex
 all points which have been added
int cholFlag
 A global indicator for success of the Cholesky factorization.
bool usePointSelection
 a flag to indicate the use of point selection

Static Private Attributes

static GaussProcApproximationGPinstance
 pointer to the active object instance used within the static evaluator

Detailed Description

Derived approximation class for Gaussian Process implementation.

The GaussProcApproximation class provides a global approximation (surrogate) based on a Gaussian process. The Gaussian process is built after normalizing the function values, with zero mean. Opt++ is used to determine the optimal values of the covariance parameters, those which minimize the negative log likelihood function.


Member Function Documentation

void GPmodel_apply ( const RealVector new_x,
bool  variance_flag,
bool  gradients_flag 
) [private]

Function returns a response value using the GP surface.

The response value is computed at the design point specified by the RealVector function argument.


The documentation for this class was generated from the following files:
Generated on Wed Nov 5 19:54:06 2008 for DAKOTA by  doxygen 1.5.1