Recomputes the variance of the Gaussian noise using gradients
[newLikPar] = g_l_gauss(oldLikPar,y,cavM,cavV,postM,postV);
[newLikPar] = g_l_gauss(oldLikPar,y,cavM,cavV,postM,postV)
-
implements a conjugate gradient (SCG) algorithm for adjusting the noise
variance in the Gaussian noise model. The gradient steps are based on the
approximation to the marginal likelihood (evidence) using the cavity
distributions obtained with the TAP/EP framework.
This version uses the cavity means and variances of the GP approximation -
unlike the EM-based method (em_gauss
) which uses the posterior GP.
The algorithm employs the scaled conjugate gradient (scg
) method from
the Netlab
toolbox.
A momentum term is introduced whih is aimed to stabilise the algorithm.
Parameters:
oldLikPar
- the old (previous) value of the Gaussian noise parameter.
y
- desired output.
cavM,cavV
- (cavity) mean and variance of the GP.
postM,postV
- mean and variance of the posterior process.
newLikPar
- the new noise variance.
ogptrain
, demogp_reg
, c_reg_gauss
Copyright (c) Lehel Csató (2001-2004)