在 python 中找到最优解
find the optimal solution in python
我有这个公式:
1 - e^(log(0.5) * (x / beta) ^ alpha )
alpha 和 beta 是我必须找到的变量。
x 是一堆图像(我的数据),我可以将该公式的输出与来自用户测试的基本事实进行比较。基本上我可以生成一个我想最小化的损失函数。为了找到最佳的 alpha 和 beta,我尝试使用 tensorflow,但梯度下降和其他优化器似乎失败了,因为该函数不是凸函数(我尝试了不同的初始条件)。 python有全局优化工具可以解决这个问题吗?
您可以使用 NLopt, which has some global optimizers, e.g. DIRECT (download at gohlke). Or there is scipy's basinhopping. Another nice solution is NOMAD,一个非常好的黑盒优化器。它也有一个 Python 界面,但不是那么用户友好和直观。
您可以在 or 中找到有关局部和全局优化的其他提示。
我有这个公式:
1 - e^(log(0.5) * (x / beta) ^ alpha )
alpha 和 beta 是我必须找到的变量。 x 是一堆图像(我的数据),我可以将该公式的输出与来自用户测试的基本事实进行比较。基本上我可以生成一个我想最小化的损失函数。为了找到最佳的 alpha 和 beta,我尝试使用 tensorflow,但梯度下降和其他优化器似乎失败了,因为该函数不是凸函数(我尝试了不同的初始条件)。 python有全局优化工具可以解决这个问题吗?
您可以使用 NLopt, which has some global optimizers, e.g. DIRECT (download at gohlke). Or there is scipy's basinhopping. Another nice solution is NOMAD,一个非常好的黑盒优化器。它也有一个 Python 界面,但不是那么用户友好和直观。
您可以在