在 sklearn GPR 中结合周期性和非周期性内核

问题描述

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

根据 The Kernel Cookbook,正确的方法是简单地将周期变量上的 ExpSinesquared 核与其他非周期核(例如 Matérn 核)相乘,得到类似

ExpSinesquared(x[:3])*Matern(x[3:])

(其中 x 是参数的 7 向量)。有人会认为 sklearn.gaussian_process.kernels 中实现的 the Product kernel 将是可行的方法,但据我所知,这不允许我选择哪些参数是周期性的,哪些不是;使用 Product 内核将有效地给我 ExpSinesquared(x)*Matern(x)

由于我对 sklearn 中的 GPR 不是很熟悉,那么实现我想要的内核的最佳方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...