从高维函数中采样

时间:2014-06-25 18:47:34

标签: function machine-learning statistics sampling

我有一个函数f,它接受​​N实值输入,计算起来非常昂贵。每个N输入,n调用一个,可以使用一系列值(n_min, n_max)。我有兴趣通过在各种输入上生成样本并查看它产生的输出来研究f的属性。 (目标是使用ML为f构建近似值。)

让我们说由于时间限制,我只能生成1000个样本。是不是更好"通过

选择我N的{​​{1}}集

(A)从f迭代到n_min,每个n_max的步长足够大,或者

(B)在n

的范围内对每个n进行统一抽样

选择(A)具有保持每个其他输入固定而一次仅改变一个值的期望特性,但选择(B)具有可能探索输入空间的更多部分的期望特性。

1 个答案:

答案 0 :(得分:1)

当函数在所有输入上没有相等的方差时,

B 会更好,这可能不是。在极端情况下,假设您有1000个样本,3个输入,但其中只有一个实际影响了该功能。如果您在10x10x10的常规网格上进行采样,如 A ,则最终只会得到10个相关输入的样本。如果您以均匀分布进行采样,则所有1000个样本都将提供信息。

作为 B 的变体,请考虑使用准随机输入序列,例如Sobol sequence。统一分布的优势在于输入空间覆盖范围不会有簇或洞。