Python 在scikit学习中,如果高斯过程回归的恒常核值是固定的,它会有影响吗?
在scikit learn中,Python 在scikit学习中,如果高斯过程回归的恒常核值是固定的,它会有影响吗?,python,machine-learning,scikit-learn,gaussian-process,Python,Machine Learning,Scikit Learn,Gaussian Process,在scikit learn中,GaussianProcessRegressor在其参数中包含一个内核和用于其超参数的优化器。 我知道如果优化器设置为None,或者如果内核的超参数设置为“fixed”,那么它们就不能更改 scikit学习中GPR的默认内核是ConstantKernel(1.0,常量值\u bounds=“fixed”)*RBF(1.0,长度\u scale\u bounds=“fixed”)。我假设常量内核在这里有一个用途,但根据我的理解,它只能是1,因此没有任何效果 我的问题是
GaussianProcessRegressor
在其参数中包含一个内核和用于其超参数的优化器。
我知道如果优化器设置为None
,或者如果内核的超参数设置为“fixed”
,那么它们就不能更改
scikit学习中GPR的默认内核是ConstantKernel(1.0,常量值\u bounds=“fixed”)*RBF(1.0,长度\u scale\u bounds=“fixed”)
。我假设常量内核在这里有一个用途,但根据我的理解,它只能是1,因此没有任何效果
我的问题是:默认内核和简单的RBF(1.0,length\u scale\u bounds=“fixed”)内核之间有什么实际的区别吗?ConstantKernel(1.0,constant\u value\u bounds=“fixed”)*RBF(1.0,length\u scale\u bounds=“fixed”)
不是scikit learn或任何其他库中的默认内核,但它被广泛使用,因此我们可以将其视为违约。在GP中,我们不将任何内核视为默认内核(源代码:)
关于你的问题,RBF核的方程如下:
part1 = sigma^2
part2 = exp(((x1-x2)^2)/l^2)
RBF(x1, x2) = part1 * part2
这里,l
是长度刻度,sigma^2
是方差超参数。其他实现,比如GPy,直接将sigma
和l
作为内核的参数。但是,scikit learn选择了不同的方式
在sklearn中,ConstantKernel()
正在建模part1
,RBF()
正在建模part2
因此,如果我们在两个部分中都使用“fixed”参数,则没有实际的区别,但是如果它们是可变的,那么它们就不同了,正如我试图在上面描述的那样。很抱歉,我指的是scikit learn中的默认内核,而不是一般的内核。我刚刚编辑了我的帖子,使之更清晰。那么我们有相同的结论吗?给定
'fixed'
参数,一个RBF(1.0,length\u scale\u bounds=“fixed”)
将等同于默认内核?是的,您可以用数字检查。