查找(n昂贵)函数== 1
我有一个有限的标量范围,例如x∈  [0,10]。我也有一个复杂且昂贵的(计算)函数, f ,给定的x∈  x,我得到的值为0或1如果有帮助,则输出为0或1。
我想找到函数 f 评估为1的区域。范围的“确定性采样”(即等距网格)也太昂贵了。 root finding (据我所知)要提及如何找到“根”的所有。
我目前正在考虑两个想法。第一个是使用高斯流程的贝叶斯全球优化,例如函数 f 的值的不确定性低。这就是为什么实际值可能比0/1更好的原因,因为它可以更好地建模更平滑的功能。
第二个想法是做某种交叉术的优化,再次从 f 。
我想知道是否有更好的想法可以找到 f (x)上升到1并减少为0的部分?我了解我不会得到精确的解决方案,而且很好,但是我希望它与某些智能算法一样接近。
Python实施特别受欢迎,但会接受其他人,我将转换。
I have a finite range of scalars, e.g. X∈ [0,10]. I also have a complicated and expensive (to compute) function, f, that given x∈ X, I get a value of 0 or 1 (I can also get a Real number that determines if the output is 0 or 1 based on some threshold, if it helps. E.g. f(x)=1 if some value a>5 inside the function, and 0 - otherwise).
I would like to find the regions where the function f evaluated to 1. I do not have access to ∇f(x), and sampling x's uniformly would be too expensive, and "deterministically sampling" (ie equal-distance grid) from the range is too expensive, too. Root finding (as far as I can tell), would also be too expensive, not to mention how to find all of the "roots".
I'm currently thinking about two ideas. The first is Bayesian global optimization with Gaussian processes, for example, so that I can sample more intelligently in places with low uncertainty of the values of the function f. This is why maybe the Real value would be better than 0/1 because it may model a smoother function better.
The second idea is doing some kind of cross-entropy optimization, again to sample better from f.
I was wondering if there are better ideas to find those sections in which f(x) rises to 1 and decreases to 0? I understand that I will not get exact solutions and it is fine, but I'd like it to be as close as can be with some smart algorithm.
Python implementation is especially welcomed but would accept others and I'll convert it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论