问题标签 [gpyopt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1247 浏览

python - 使用 GpyOpt 时如何添加限制条件?

目前我尝试使用 GPyOpt 最小化函数并获得优化的参数。

我想为这个函数添加限制条件。这是一个例子。

我应该如何修改这段代码?

0 投票
1 回答
774 浏览

python - GpyOpt 忽略约束。指定它们的正确方法是什么?

我想在GpyOpt. 说,我想最小化

在哪里

st 至少有一个非零并且不超过 3 可以等于 1。所以我指定了约束:

根据参考手册here,看起来我们可以使用numpy函数指定约束。这里建议我们可以在调用中指定约束BayesianOptimizationGpyOpt所以我用下面的代码表达了这一点

但是,似乎GpyOpt忽略了这些约束,因为我在控制台中得到以下输出:

其中包含大于 3 和 0 的值。

np.sum(x[:])如果我明确写出x[:, 0] + x[:, 1] + ...行为不会改变。

如果我指定连续域,仍然会违反约束。

传递约束的正确方法是什么,这样它们就不会被忽略?

我使用的是GpyOpt1.2.1 版。

更新: np.sum(x, 1)np.sum(x[:])不是不能解决问题。

我正在使用 Python 3.6.3,通过 pip 安装了 numpy 1.14.2 和 GPyOpt 1.2.1。

0 投票
2 回答
779 浏览

python - Python / GPyOpt:仅优化一个参数

我目前正在尝试使用GPyOpt模块f(arg1, arg2, arg3, ...)通过高斯优化找到某些函数的最小值。虽然需要许多输入参数,但我只想优化其中一个。你是怎样做的?f(...)

我目前的“解决方案”是放入f(...)一个虚拟类并在初始化时指定不优化的参数。虽然这可以说是解决这个问题的最蟒蛇式的方法,但它也比它有任何权利要复杂得多。

f(x, y, method)优化时具有固定y(数字)和method(字符串)的函数的简短工作示例x

肯定有一个更简单的方法。但是我发现的所有示例都优化了所有参数,我无法通过阅读 github 上的代码来弄清楚(虽然我会在GPyOpt.core.task.space中找到信息,但没有运气)。

0 投票
1 回答
828 浏览

python - GPyOpt 迭代寻找最大目标函数值;检索建议的下一个位置

我刚开始使用 GPy 和 GPyOpt。我的目标是设计一个迭代过程来找到 x 的位置,其中 y 是最大值。虚拟 x 数组从 0 到 100,步长为 0.5。虚拟 y 数组是 x 数组的函数。真正的函数是 y = -x**2 + 50*x + 5,所以 ymax 是 x = 25.0 时。

我通过将 5 个点随机分配给 x 数组(具有相应的 5 个 y 值)开始它,并运行贝叶斯优化以让它推荐下一个采样位置。我可以使用方便的 myBopt.plot_acquistion() 来生成绘图。示例图如下。 在此处输入图像描述 在此处输入图像描述

问题:

(1) 类高斯峰和垂直线是什么意思?他们有什么建议?我假设高斯峰的中心是建议的下一个采样位置,这是正确的吗?

(2)如何找回高斯峰的中心位置?我试图从 myBopt 打印出一些东西,但在任何地方都找不到(如果我知道如何获得这个数字,我可以将它附加到原始列表中以开始另一个 BO 并找到下一个位置,直到收敛)。

(3) 有没有办法检索原始数据以绘制采集函数图?这一定是保存在某个地方的。

(4)我还生成了收敛图(在采集图下),我真的无法理解。有人可以向我解释一下吗?

谢谢。

0 投票
1 回答
189 浏览

python - GPyOpt 的“第一步”示例是否应该找到最小值?

GPyOpt 的“第一步”页面显示了漂亮的图像,看起来像最小值,由上面的代码找到

在此处输入图像描述

不幸的是,当我运行相同的代码时,我得到

在此处输入图像描述

或者

在此处输入图像描述

即垂直线很少达到最小值。

这是我的误解,还是图书馆不工作?

0 投票
1 回答
71 浏览

gpyopt - GPyOpt 获得最优 X 的成本差异

我使用 GPyOpt 优化了多维模型

这样做之后,我用 检索最佳坐标,用 检索opt.x_opt模型成本opt.fx_opt。但是,我也对fx这个最佳位置的方差感兴趣。我如何实现这一目标?

0 投票
1 回答
669 浏览

python - 如何组合两个 GPy 模型的情节?

我已经计算了两个 GP 回归模型,并希望将它们绘制在同一个图中。

模型 1

模型 2

我希望两个图都在一个图中,在 matplotlib 或 plotly ieGPy.plotting.show(fig, filename='filename')中。

谢谢

0 投票
0 回答
122 浏览

python - GP 回归模型为所有测试输入预测非常相似的数字

我正在使用doc2vec 嵌入氨基酸序列来尝试预测动力学速率。

我已经尝试过标准化和不标准化我的输入向量(X),但除非我标准化我的输出变量(动力学速率),否则我的 GP 模型预测所有测试输入的数字非常相似(在 4.87 和 4.9 之间)

你应该标准化你的输出值还是我的模型有问题?

我在 Python 中使用GPy包。

这是我的代码:

0 投票
1 回答
135 浏览

python - 为什么在 XGBRegressor 中使用优化参数(MSE 是最小化目标)给我的 RMSE 与优化后的 RMSE 不同?

我正在处理回归量问题。我正在调整 XGBRegressor 模型的参数,所以我使用库 GPyOpt 来获得优化的参数。这些函数返回一个包含 5 个元素的数组和最小化的 MSE,即 1813。然后我尝试在模型中输入优化后的参数,然后模型的 MSE 返回 2810。我想知道为什么会这样?

我对库 GPyOpt 非常熟悉。关于我面临的这个问题的信息不多,所以我想知道这是因为我的粗心错误还是有什么我不明白的地方?

数组([ 0.56133897, 2.697656 , 50. , 300. , 10. ])

我预计 MSE 大约在 1813 左右,但我得到了 2810。所以我想知道为什么

0 投票
1 回答
825 浏览

python - GPyOpt - 如何进行物理实验?

我正在尝试做一些物理实验,以找到优化某些参数的公式。通过物理实验,我的意思是我有一个化学工作台,我将材料混合在一起,然后测量该配方的特性。从历史上看,我使用过传统的 DOE,但我需要加快时间来获得理想的配方。我知道单纯形优化,但我有兴趣尝试贝叶斯优化。我发现 GPyOpt 声称(甚至在 SO Tag 描述中)支持物理实验。但是,尚不清楚如何启用这种行为。

我尝试过的一件事是通过 收集用户输入input,我想我可以挑选优化器和函数,但这感觉很笨拙。在下面的示例代码中,我使用了 GPyOpt 示例中的函数,但我必须输入实际值。

所以,我的问题是,使用 GPyOpt 进行物理实验的预期方式是什么?