高斯过程的恒定核

时间:2018-07-12 20:26:33

标签: kernel

有人知道用于高斯过程的恒定核的含义吗? sklearn的文档说,它用于修改高斯过程的均值。通常,高斯过程中的均值不是零吗?我发现常数内核实际上修改了标准偏差。为什么?

2 个答案:

答案 0 :(得分:0)

您可以根据定义找到原因。

  

$ f(x)\ sim GP(m(x)= 0,k(x_i,x_j))$

也就是说

  

$ E [f(x)] = 0 $,$ cov [f(x_i),f(x_j)] = k(x_i,x_j)$

如果将常数c添加到内核中,

  

$ cov [f(x_i),f(x_j)] = E [(f(x_i)-E [f(x_i)])(f(x_j)-E [f(x_i)])] = E [f(x_i)f(x_j)]-m(x_i)m(x_j)= E [f(x_i)f(x_j)] = k(x_i,x_j)+ c $

所以实际上与具有

的GP相同
  

$ sqrt(c),k(x_i,x_j)$

因为

  

$ cov [f(x_i),f(x_j)] = E [f(x_i)f(x_j)]-m(x_i)m(x_j)= E [f(x_i)f(x_j)]- c = k(x_i,x_j)$

,它是先前的内核。

答案 1 :(得分:0)

在实践中,可以使用向内核添加常量而不是移动数据集标签Y的平均值。我已经观察过很多次了。

例如,假设我想使用 RBF 核加常数核 σ^2 来拟合 Ymean = 3.5 的平滑函数。在这种情况下,经过超参数优化(通过边际似然最大化),超参数 σ 变得非常接近 Ymean 值 3.5。

相反,我可以使用相同的内核手动减去平均值并在新的 Y* = Y - Ymean 上拟合高斯过程。在这种情况下,我将获得接近于零的 σ 值。

更正式地说,核中常数的含义正是我们的 GP 预测函数的多项式逼近中常数项的方差。