2012-12-13 49 views
0

我在儘量減少使用scipy minimizers之一的函數。不幸的是,我的功能具有同等的價值,所以最小化者就會陷入困境。我想知道哪些scipy optimisers會對此最不敏感,爲什麼?哪個scipy.optimize.minimize對起始位置最不敏感?

我知道我可以在隨機位置開始多次,但我無法做到這一點,我目前正在努力,並且必須使用這些開箱即用的最小化程序。

+0

你有沒有試過退火? –

回答

0

將座標的線性函數添加到您的函數中,以便爲平坦區域提供一些非零但非常小的斜率。如果您的最小/最大值位於一個平面區域內,您需要決定選擇哪個平面區域作爲最終答案,因此您可能會偏向整個搜索。在達到最小/最大值後,以此爲起點重新運行優化,並且不會增加偏差。

如果有辦法確定搜索空間的邊界,那麼您可以嘗試大量的均勻採樣搜索空間的起始位置。