使用许多参数最大化函数(python)

Dav*_*vid 12 python math function mcmc

首先,我要说我缺乏科学数学或统计学的经验 - 所以这可能是一个众所周知的问题,但我不知道从哪里开始.

我有一个函数f(x1, x2, ..., xn),我需要猜测x'并找到最高值f.该函数具有以下属性:

  • 总数或参数通常在40到60左右,因此蛮力方法是不可能的.

  • 每个x的可能值范围为0.01到2.99

  • 该函数是稳定的,这意味着较高的f值意味着参数的猜测更好,反之亦然.

到目前为止,我在python中实现了一个非常基本的方法.它最初将所有参数设置为1,随机猜测新值并检查f是否高于之前.如果没有,请回滚到先前的值.在具有10,000次迭代的循环中,这似乎以某种方式起作用,但结果可能远非完美.

关于如何改进搜索最佳参数的任何建议将不胜感激.当谷歌搜索这个问题时,linke MCMC出现了,但这似乎是一种非常先进的方法,我需要花费大量时间来理解这种方法.基本提示或概念对我的帮助不仅仅是详细阐述方法和算法.

use*_*ica 10

不要自己动手.安装SciPy并使用其优化例程.scipy.optimize.minimize看起来很合适.


Jbl*_*sco 10

我想你想看看scipy.optimize(http://docs.scipy.org/doc/scipy-0.10.0/reference/tutorial/optimize.html).最大化是-1*函数的最小化.