最大化具有许多参数的函数(python)
首先,让我说我缺乏科学数学或统计学的经验-因此这可能是一个非常著名的问题,但是我不知道从哪里开始。
我有一个函数f(x1, x2, ..., xn)
,需要猜测x’ses并找到的最高值f
。该函数具有以下属性:
-
总数或参数通常在40到60之间,因此不可能采用强力方法。
-
每个x的可能值范围为0.01到2.99
-
函数稳定,这意味着较高的f值意味着对参数的猜测更好,反之亦然。
到目前为止,我在python中实现了一个非常基本的方法。它最初将所有参数设置为1,随机猜测新值并检查f是否比以前高。如果不是,请回滚到以前的值。在具有10,000次迭代的循环中,这似乎可以某种方式起作用,但结果可能还远非完美。
任何有关如何改进对最佳参数的搜索的建议将不胜感激。搜寻此问题时,出现了链接MCMC的问题,但这似乎是一种非常高级的方法,我甚至需要很多时间才能理解该方法。基本的提示或概念对我的帮助不仅仅限于详尽的方法和算法。
-
不要自己做。安装SciPy并使用其优化例程。
scipy.optimize.minimize
看起来很合适。