y = gpfwd(net, x) [y, sigsq] = gpfwd(net, x) [y, sigsq] = gpfwd(net, x, cninv)
y = gpfwd(net, x)
takes a Gaussian Process data structure net
together
with a matrix x
of input vectors, and forward propagates the inputs
through the model to generate a matrix y
of output
vectors. Each row of x
corresponds to one input vector and each
row of y
corresponds to one output vector. This assumes that the
training data (both inputs and targets) has been stored in net
by
a call to gpinit
; these are needed to compute the training
data covariance matrix.
[y, sigsq] = gpfwd(net, x)
also generates a column vector sigsq
of
conditional variances (or squared error bars) where each value corresponds to a pattern.
[y, sigsq] = gpfwd(net, x, cninv)
uses the pre-computed inverse covariance
matrix cninv
in the forward propagation. This increases efficiency if
several calls to gpfwd
are made.
net = gp(1, 'sqexp'); net = gpinit(net, x, t); net = netopt(net, options, x, t, 'scg'); [pred, sigsq] = gpfwd(net, xtest); plot(xtest, pred, '-k'); hold on plot(xtest, pred+sqrt(sigsq), '-b', xtest, pred-sqrt(sigsq), '-b');
gp
, demgp
, gpinit
Copyright (c) Ian T Nabney (1996-9)