【问题标题】:Gaussian Process, negative hyper-parameters?高斯过程,负超参数?
【发布时间】:2014-06-19 10:50:44
【问题描述】:

我正在使用 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 进行归一化,优化后所有超参数都会为正。

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

【问题讨论】:

  • 超参数被定义为exp(log(\theta)),所以即使你得到一个负的超参数,根据定义它也被限制为正的。

标签: matlab machine-learning hyperparameters


【解决方案1】:

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

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

所以我建议您使用正噪声方差并重试。

关于您的其他问题,是的,对数据进行归一化通常是一个好主意(即给它们零均值和单位方差)。

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

【讨论】:

    【解决方案2】:

    GPML 工具箱中的超参数以对数表示。所以如果你想得到实际的长度-尺度值,对向量执行exp(X)。

    【讨论】:

      猜你喜欢
      • 2020-08-16
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 2018-03-02
      • 2018-05-11
      • 2018-12-06
      相关资源
      最近更新 更多