假设我是一个算法,其运行时依赖于两个参数。我想找到最小化运行时间的最佳参数集。这两个参数是连续的双精度值,范围为0到INFINITY。
因此,对于两个参数a,b:我想找到最小化a和b的值,以最小化运行时间。我认为这是非常标准的做法,但我找不到关于此的好文献。我发现很少有文献,如MLE,最小二乘等,但他们谈的是分布。
答案 0 :(得分:0)
首先使用你的大脑以定性的方式理解这些参数与运行时间之间可能存在的功能关系。这意味着首先要了解可能的最大值的数量和位置,函数的平滑性,渐近行为以及您可以找到的任何其他线索。
然后决定一个合理的值范围,在这些值中对函数值进行采样是有意义的。如果这些范围很宽,最好使用几何级数而不是算术(例如2的幂)进行采样。
然后使用图形查看器测量并观察功能值并确认您的直觉。这很可能足以发现绝对最大值的总位置。如果它能给你最后的改进百分比,那么找到一个准确的位置可能毫无用处。优化的位置很可能取决于特定的数据集,使得准确的位置更有用。