Kernel 高斯过程的常数核
有人知道高斯过程中使用的常数核的含义吗?sklearn的文件称,它用于修改高斯过程的平均值。一般来说,高斯过程中的平均值不是零吗?我发现常数核实际上修改了标准偏差。为什么?您可以根据定义找到原因 让 $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$ 所以实际上它和普通医生一样 $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)$Kernel 高斯过程的常数核,kernel,Kernel,有人知道高斯过程中使用的常数核的含义吗?sklearn的文件称,它用于修改高斯过程的平均值。一般来说,高斯过程中的平均值不是零吗?我发现常数核实际上修改了标准偏差。为什么?您可以根据定义找到原因 让 $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)]
在实践中,可以使用向内核添加常量,而不是移动数据集标签的平均值Y。我已经观察过很多次了 例如,假设我想使用RBF核加上常数核σ^2来拟合平滑函数,其中Ymean=3.5。在这种情况下,在超参数优化(通过边际似然最大化)后,超参数σ变得非常接近Ymean值3.5 相反,我可以手动减去平均值,并使用相同的内核在新的Y*=Y-Ymean上拟合高斯过程。在这种情况下,我将获得接近于零的σ值 更正式地说,核中常数的含义正是GP预测函数多项式逼近中常数项的方差