【问题标题】:Constraints on search space - python - scikit搜索空间的约束 - python - scikit
【发布时间】:2019-12-09 12:07:16
【问题描述】:

我正在寻找 100d 空间中的最小值。我正在使用 skopt (python 3.6) 中的 gp_minimize。

space = [(0., 1.) for _ in range(100)]
res = gp_minimize(f, space) 

但是,我也有一个约束,即每个后续维度中的值不大于之前维度中的值。比如5d的情况,点[1, 0.9, 0.9, 0.8, 0.7]可以,点[1, 0.3, 0.5, 0.4, 0.2]不行。

如何使用 skopt 添加这个约束?

【问题讨论】:

    标签: python minimization scikits


    【解决方案1】:

    我发现最好的方法是修改函数 f。为 f 选择一个上限,并且在域中不应该计算 f 的任何地方,让它返回这个上限。

    很简单,这是一种数学上合理的方法,因为它不会改变最小值,并且会以与拉格朗日乘数相同的方式限制您的搜索空间。但是,我不知道它是否与算法配合得很好,因为我真的不知道贝叶斯优化如何处理宽平台。

    【讨论】:

    • 谢谢,我会试试的。
    • 解决了您的问题吗?真的很好奇
    • 很遗憾没有。我相信这是因为大量的空间被“禁止”。
    猜你喜欢
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多