function - 从高维函数采样

标签 function machine-learning statistics sampling

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

假设由于时间限制,我只能生成 1000 个样本。选择我提供给 fN 集合是否“更好”?

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

(B) 在(n_min, n_max)范围内均匀采样每个n

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

最佳答案

当函数对所有输入的方差不同时,

B 会更好,但实际上可能并非如此。在极端情况下,假设您有 1000 个样本、3 个输入,但只有其中一个实际影响函数。如果您在 10x10x10 常规网格上进行采样(如 A 中所示),您最终将仅获得相关输入的 10 个样本。如果您采用均匀分布进行采样,则所有 1000 个样本都将提供信息。

作为 B 的变体,考虑使用准随机输入序列,例如 Sobol sequence 。相对于均匀分布的优点是您的输入空间覆盖范围不会有簇或空洞。

关于function - 从高维函数采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24416276/

相关文章:

php - 获取两个mysql选择之间的值差异

c# - 我如何在 C# 中表示 Golang 的接口(interface){}?

machine-learning - 如何训练RBM等无监督神经网络?

c# - C# 中的互相关代码

r - 田口交叉阵列设计创建和分析

c++ - c++中函数调用的问题

c - 运行时检查失败 #2 - 变量 'start' 周围的堆栈已损坏

python - 如何使用与其他两列匹配的Python填充数据集中的空值?

python - 如何在pybrain中实现正则化

r - 在 R 中部署具有预定系数的逻辑回归模型