Optimization 最小化运行时间的参数估计

Optimization 最小化运行时间的参数估计,optimization,estimation,Optimization,Estimation,假设我有一个算法,它的运行时间取决于两个参数。我想找到一组使运行时间最小化的最佳参数。这两个参数是0到无穷大范围内的连续双值 因此,对于两个参数a,b:我想找到使运行时间最小化的a和b的最佳值。我认为这是相当标准的做法,但我找不到关于这方面的好文献。我发现很少有像MLE、最小二乘法等这样的文献,但它们谈论的是分布。首先,用你的大脑定性地理解这些参数和运行时间之间可能的函数关系。这意味着对可能的最大值的数量和位置、函数的光滑性、渐近行为以及你能找到的任何其他线索有一个初步的想法 然后确定一个合理的

假设我有一个算法,它的运行时间取决于两个参数。我想找到一组使运行时间最小化的最佳参数。这两个参数是0到无穷大范围内的连续双值


因此,对于两个参数a,b:我想找到使运行时间最小化的a和b的最佳值。我认为这是相当标准的做法,但我找不到关于这方面的好文献。我发现很少有像MLE、最小二乘法等这样的文献,但它们谈论的是分布。

首先,用你的大脑定性地理解这些参数和运行时间之间可能的函数关系。这意味着对可能的最大值的数量和位置、函数的光滑性、渐近行为以及你能找到的任何其他线索有一个初步的想法

然后确定一个合理的值范围,在这个范围内对函数值进行采样是有意义的。如果这些范围很宽,最好使用几何级数而不是算术(例如,2的幂)进行采样


然后用图形查看器测量和观察函数值,并确认您的直觉。这可能足以确定绝对最大值的总位置。找到一个准确的位置可能是无用的,如果它给你的最后百分之改进。最佳位置也很可能取决于特定的数据集,这使得准确的位置更不有用。

我按照您的建议做了以下工作。首先猜测P1和P2的值,并为P1和P2设置8个距离值。比如说,P1=(2.2.3 2.4 2.5 2.6 2.7 2.8 2.9)P2=(0.95 1.05 1.15 1.25 1.35 1.45 1.55 1.65)。然后我对P1和P2的所有组合进行了64次实验,并找出了哪一个给了我最小的运行时间。下一次迭代,我可以减小步长。这个方法有名字吗?@max:到目前为止你所做的是彻底的搜索。如果集中搜索并减少步骤,则会得到二分法搜索的变体,也与Hooke-Jeeves模式方法有关。但最重要的是要洞察函数的行为。你的初始时间间隔看起来很紧,我想你有你的理由。谢谢,是的,我通过对更大范围进行多次迭代来确定这个值。我必须在一篇论文中提到这个方法,这就是为什么我需要这个方法的名称。因为这是非正式的,你可以称之为“尝试和错误”。