【问题标题】:constant kernel for Gaussian process高斯过程的常数核
【发布时间】:2021-03-18 02:33:34
【问题描述】:

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

【问题讨论】:

    标签: kernel


    【解决方案1】:

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

    $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)$

    ,它是以前的内核。

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2018-03-02
        • 2016-04-15
        • 1970-01-01
        • 2018-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-10
        • 2020-07-01
        相关资源
        最近更新 更多