我正在用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,优化后所有的超参数都将是正的.
有人能告诉我负超参数是什么意思吗?我应该标准化数据吗?
发布于 2014-06-21 10:07:37
错误在于,初始噪声参数已经是负值:
hyp.lik = log(0.1); %hyper-parameters of noise所以我建议你使用正的噪声方差,然后再试一次。
关于你的另一个问题,是的,这通常是一个好主意,标准化的数据(即给他们零均值和单位方差)。
这种行为只发生在集中式数据上的一个可能原因可能是方差比原始数据的方差小。记住,在贝叶斯线性回归(--高斯过程在原则上是什么),噪声方差被简单地加到协方差矩阵中。在您的例子中,这个加载项是负的,当然它的影响更大,对于较小的差异。
发布于 2014-06-24 14:01:55
GPML工具箱中的超参数表示为对数。因此,如果你想得到实际的长度尺度值,在向量上执行exp(X)。
https://stackoverflow.com/questions/24304803
复制相似问题