寻找求解时间不可忽略的多变量函数的最优解?

Finding optimal solution to multivariable function with non-negligible solution time?

所以我遇到了这个问题,我必须找到最佳分布,当通过函数时,该分布与已知表面相匹配。我已经编写了一个脚本,它在给定一些参数的情况下创建分布,并吐出一个将给定表面与已知表面进行比较的度量,但是这个脚本花费了不可忽略的时间,所以我不能 运行 通过一个非常大量参数以找到最佳参数集。我研究了单纯形法,它似乎是正确的路径,但它并不是我所需要的,因为我没有一组线性方程,也不知道参数的约束,而是一种给出的方法单个输出(仅此而已)。谁能指出我如何解决这个问题的正确方向?谢谢!

为了再次快速回顾我的过程/问题,我有一组定义分布的参数(此时为 2,但稍后会扩展到更多)。该分布用于创建一个表面,将其与已知表面进行比较,并生成一个误差度量。我想找到最优的一组参数,但由于时间限制不能通过任意多的参数运行。

一种与您所问相符的情况是,您有一个合理易处理的概率分布模型,它会生成一个未知值。这个未知值经历了一个复杂的、在数学上不是很好的过程,并产生了一个观察结果。您的表面对应于观察到的观察概率分布。您会很高兴找到在理论和实际表面分布之间提供良好最小二乘拟合的参数。

拟合过程的一个近似是计算 space 概率分布输出中的值网格。每组参数都会为您提供此网格上每个点的概率。不好的过程将这里的每个网格点映射到表面 space 中最近的网格点。最小二乘拟合是为第一个网格计算的概率的二次方,因为为表面中的网格点计算的概率是为第一个网格中的值计算的概率的总和,这些值映射到更接近该点的某些东西表面比表面上的任何其他点。这意味着它具有您可以计算的一阶(甚至二阶)导数。如果您的概率分布足够好,您可以使用链式法则计算初始参数中拟合的最小二乘法的导数。这意味着您可以使用优化方法来计算最佳拟合参数,这不仅需要一种方法来计算要优化的函数,还需要计算其导数,这些通常比仅需要函数值的优化方法(例如 Nelder)更有效-Mead 或 Torczon Simplex。参见例如http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math4/optim/package-summary.html.

另一种可能的方法是通过称为 EM 算法的东西。这里 EM 代表期望最大化。如果您可以看到一些您实际上看不到的隐藏状态,那么它可以用于寻找最大似然拟合的情况。在这种情况下,初始分布产生的输出可能就是这样一个隐藏状态。一个起点是 http://www-prima.imag.fr/jlc/Courses/2002/ENSI2.RNRF/EM-tutorial.pdf.