问题描述
我正在使用 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 (将#修改为@)