Python sklearn探地雷达中周期和非周期核的组合

Python sklearn探地雷达中周期和非周期核的组合,python,machine-learning,scikit-learn,bayesian,gaussian-process,Python,Machine Learning,Scikit Learn,Bayesian,Gaussian Process,我正在使用scikit学习Python库对一个需要七个输入的函数执行贝叶斯优化(在高斯过程回归之上)。其中四个输入表示物理角度,因此高斯核在其中应该是周期性的;这是一个自然的选择。但是,我不想任意强制函数在其他三个函数中是周期性的 根据,正确的方法是简单地将ExpSineSquared核乘以周期变量,再将非周期核(比如Matérn核)乘以其他核,得到如下结果 ExpSineSquared(x[:3])*Matern(x[3:]) (其中,x是参数的7向量)。有人会认为,在sklearn.gau

我正在使用scikit学习Python库对一个需要七个输入的函数执行贝叶斯优化(在高斯过程回归之上)。其中四个输入表示物理角度,因此高斯核在其中应该是周期性的;这是一个自然的选择。但是,我不想任意强制函数在其他三个函数中是周期性的

根据,正确的方法是简单地将
ExpSineSquared
核乘以周期变量,再将非周期核(比如Matérn核)乘以其他核,得到如下结果

ExpSineSquared(x[:3])*Matern(x[3:])
(其中,
x
是参数的7向量)。有人会认为,在
sklearn.gaussian_process.kernels中实现是可行的,但据我所知,这不允许我选择哪些参数是周期性的,哪些不是周期性的;使用
产品
内核将有效地为我提供
ExpSineSquared(x)*Matern(x)


由于我对sklearn中的GPR不是很有经验,实现我想要的内核的最佳方式是什么?

我投票结束这个问题,因为它不是关于在中定义的编程,而是关于ML理论和方法论。@desertnaut我问的是如何实现与sklearn库接口的特定形式的内核,不是使用哪种内核。如果不是在这里,我还会在哪里提出实施问题?