因此,我遇到了这个问题,当我通过函数传递时,必须找到与已知曲面匹配的最佳分布。我编写了一个脚本,该脚本在给定一些参数的情况下创建了分布,并吐出了将给定表面与已知表面进行比较的度量,但是该脚本花费了不可忽略的时间,所以我不能只运行非常大的一组参数找到最佳的参数集。我研究了单纯形方法,这似乎是正确的方法,但是它并不是我所需要的,因为我没有一组线性方程,也不知道参数的约束,而是一种给出一个输出(多数民众赞成)。谁能指出正确的方向来解决这个问题?谢谢!
要快速再次解决我的过程/问题,我有一组参数(定义为2,但以后会扩展到其他参数)来定义分布。该分布用于创建一个曲面,将该曲面与已知曲面进行比较,并产生误差度量。我想找到最佳的参数集,但是由于时间限制,无法运行任意数量的参数。
答案 0 :(得分:0)
一种与您所要求的相符的情况是一种模型,在该模型中,您具有合理的易于把握的概率分布,该概率分布产生未知值。这个未知值经历了一个复杂而不是数学上好的过程,并产生了一个观测值。您的表面对应于观测值上的观测概率分布。您将很高兴找到在理论和实际表面分布之间具有最小二乘拟合的参数。
拟合过程的一种近似方法是,通过概率分布在输出的空间中计算值的网格。每组参数为您提供此网格上每个点的概率。不好的过程会将此处的每个网格点映射到曲面空间中最近的网格点。最小二乘拟合是为第一个网格计算的概率的二次方,因为为曲面中的网格点计算的概率是为第一个网格中的值计算的概率之和,该值映射到更接近于该点的那个点表面上的任何其他点。这意味着它具有可以计算的一阶(甚至二阶)导数。如果您的概率分布足够好,则可以使用链式规则来计算初始参数中最小二乘方拟合的导数。这意味着您可以使用优化方法来计算最佳拟合参数,这些参数不仅需要一种方法来计算要优化的函数,还需要其派生函数,并且这些方法通常比仅需要函数值的优化方法(例如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。