问题标签 [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.
python - 使用 GpyOpt 时如何添加限制条件?
目前我尝试使用 GPyOpt 最小化函数并获得优化的参数。
我想为这个函数添加限制条件。这是一个例子。
我应该如何修改这段代码?
python - GpyOpt 忽略约束。指定它们的正确方法是什么?
我想在GpyOpt
. 说,我想最小化
在哪里
st 至少有一个非零并且不超过 3 可以等于 1。所以我指定了约束:
根据参考手册here,看起来我们可以使用numpy
函数指定约束。这里建议我们可以在调用中指定约束BayesianOptimization
。GpyOpt
所以我用下面的代码表达了这一点
但是,似乎GpyOpt
忽略了这些约束,因为我在控制台中得到以下输出:
其中包含大于 3 和 0 的值。
np.sum(x[:])
如果我明确写出x[:, 0] + x[:, 1] + ...
行为不会改变。
如果我指定连续域,仍然会违反约束。
传递约束的正确方法是什么,这样它们就不会被忽略?
我使用的是GpyOpt
1.2.1 版。
更新:
np.sum(x, 1)
而np.sum(x[:])
不是不能解决问题。
我正在使用 Python 3.6.3,通过 pip 安装了 numpy 1.14.2 和 GPyOpt 1.2.1。
python - Python / GPyOpt:仅优化一个参数
我目前正在尝试使用GPyOpt模块f(arg1, arg2, arg3, ...)
通过高斯优化找到某些函数的最小值。虽然需要许多输入参数,但我只想优化其中一个。你是怎样做的?f(...)
我目前的“解决方案”是放入f(...)
一个虚拟类并在初始化时指定不优化的参数。虽然这可以说是解决这个问题的最蟒蛇式的方法,但它也比它有任何权利要复杂得多。
f(x, y, method)
优化时具有固定y
(数字)和method
(字符串)的函数的简短工作示例x
:
肯定有一个更简单的方法。但是我发现的所有示例都优化了所有参数,我无法通过阅读 github 上的代码来弄清楚(虽然我会在GPyOpt.core.task.space中找到信息,但没有运气)。
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)我还生成了收敛图(在采集图下),我真的无法理解。有人可以向我解释一下吗?
谢谢。
gpyopt - GPyOpt 获得最优 X 的成本差异
我使用 GPyOpt 优化了多维模型
这样做之后,我用 检索最佳坐标,用 检索opt.x_opt
模型成本opt.fx_opt
。但是,我也对fx
这个最佳位置的方差感兴趣。我如何实现这一目标?
python - 如何组合两个 GPy 模型的情节?
我已经计算了两个 GP 回归模型,并希望将它们绘制在同一个图中。
模型 1
模型 2
我希望两个图都在一个图中,在 matplotlib 或 plotly ieGPy.plotting.show(fig, filename='filename')
中。
谢谢
python - GP 回归模型为所有测试输入预测非常相似的数字
我正在使用doc2vec 嵌入氨基酸序列来尝试预测动力学速率。
我已经尝试过标准化和不标准化我的输入向量(X),但除非我标准化我的输出变量(动力学速率),否则我的 GP 模型预测所有测试输入的数字非常相似(在 4.87 和 4.9 之间)?
你应该标准化你的输出值还是我的模型有问题?
我在 Python 中使用GPy包。
这是我的代码:
python - 为什么在 XGBRegressor 中使用优化参数(MSE 是最小化目标)给我的 RMSE 与优化后的 RMSE 不同?
我正在处理回归量问题。我正在调整 XGBRegressor 模型的参数,所以我使用库 GPyOpt 来获得优化的参数。这些函数返回一个包含 5 个元素的数组和最小化的 MSE,即 1813。然后我尝试在模型中输入优化后的参数,然后模型的 MSE 返回 2810。我想知道为什么会这样?
我对库 GPyOpt 非常熟悉。关于我面临的这个问题的信息不多,所以我想知道这是因为我的粗心错误还是有什么我不明白的地方?
数组([ 0.56133897, 2.697656 , 50. , 300. , 10. ])
我预计 MSE 大约在 1813 左右,但我得到了 2810。所以我想知道为什么
python - GPyOpt - 如何进行物理实验?
我正在尝试做一些物理实验,以找到优化某些参数的公式。通过物理实验,我的意思是我有一个化学工作台,我将材料混合在一起,然后测量该配方的特性。从历史上看,我使用过传统的 DOE,但我需要加快时间来获得理想的配方。我知道单纯形优化,但我有兴趣尝试贝叶斯优化。我发现 GPyOpt 声称(甚至在 SO Tag 描述中)支持物理实验。但是,尚不清楚如何启用这种行为。
我尝试过的一件事是通过 收集用户输入input
,我想我可以挑选优化器和函数,但这感觉很笨拙。在下面的示例代码中,我使用了 GPyOpt 示例中的函数,但我必须输入实际值。
所以,我的问题是,使用 GPyOpt 进行物理实验的预期方式是什么?