0

我正在使用 GPML 工具箱进行回归的高斯过程。但是,在使用“minimize.m”(没有平均函数)进行优化后,我得到了一些负超参数!

初始超参数是:

hyp.cov = [0; 0]; % two hyper-parameters in covariance kernel (length-scale & amplitute) hyp.lik = log(0.1); %hyper-parameters of noise

原始训练数据:

x=[819 1119 1419 1599 1719 1839 1899 2019 2079 2139];   %coordinates

y=[105.00  114.33  126.33 130.33  116.33  103.00  103.00  124.67  122.67  109.00]; %training data

在我的代码中,y 被归一化为具有零均值和单位方差。然后优化:

hyp = minimize(hyp, @gp, -100, @infExact, [], {@covSEiso}, likfunc, x,y);

大约 100 次迭代后,我得到了一些负超参数!!!这很令人困惑......

但是,如果我不对 y 进行归一化,优化后所有超参数都将为正。

谁能告诉我负超参数是什么意思?我应该标准化数据吗?

4

2 回答 2

0

错误是初始噪声参数已经是负数:

hyp.lik = log(0.1);   %hyper-parameters of noise

所以我建议你使用正噪声方差,然后再试一次。

关于您的另一个问题,是的,标准化数据通常是一个好主意(即给它们零均值和单位方差)。

这种行为仅发生在集中数据上的一个可能原因可能是方差变得小于原始数据的方差。请记住,在贝叶斯线性回归(原则上是高斯过程)中,噪声方差只是简单地添加到协方差矩阵中。在您的情况下,此加数为负数,对于较小的方差,其影响当然更大。

于 2014-06-21T10:07:37.697 回答
-1

GPML 工具箱中的超参数以对数表示。因此,如果您想获得实际的长度尺度值,请在向量上执行 exp(X)。

于 2014-06-24T14:01:55.593 回答