gpt4 book ai didi

python - 如何优化 Python 中的黑盒函数?

转载 作者:行者123 更新时间:2023-12-05 06:40:48 25 4
gpt4 key购买 nike

我有一个要优化的函数,我无法从中得到导数或 Hessian 或 Jacobian(因此标题中的“黑匣子”)。假设我的函数如下所示:

def my_fun(some_int, some_other_int, some_string):
return float(some_int + some_other_int + len(some_string))

请注意,我执行转换只是为了表明该函数返回一个 float 。

搜索空间/约束/边界(或者你怎么调用它)将是:

some_int = [1..10] # int interval
some_other_int = [1, 2, 3] # int discrete
some_string = ["methodA", "methodB", "methodC"] #discrete

我应该如何用 python 表述问题?这是我到目前为止搜索的内容:

  • Scipy optimizers似乎不接受适用于我的情况的 Nelder-Mead Simplex(或 Powell 方法)的约束
  • PyOpt ...好吧,我无法绕过使用多元目标函数
  • 还有 Pyswarm .有谁知道如何在 Pyswarm 中执行此操作?

有什么想法吗?

最佳答案

您可以使用超参数优化包,例如 https://github.com/Dreem-Organization/benderopt/

它支持不同类型的参数。

关于python - 如何优化 Python 中的黑盒函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41848397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com