简体   繁体   English

给定样本,求出未知目标函数的最大值

[英]Finding maximum value of unknown target function, given samples

I have a function that takes 4 variable and returns a single float value in range [0,1]. 我有一个函数,它接受4个变量并返回范围[0,1]的单个float值。

I want to know which inputs will maximize function's output. 我想知道哪些输入将使函数的输出最大化。 However, this function runs slow, so I just made 1000 random samples. 但是,此函数运行缓慢,因此我只做了1000个随机样本。 ie 1000 tuples of (input, output) 即1000个元组(输入,输出)

Is there any good method to predict values that maximize my function with these tuples? 有什么好的方法可以预测通过这些元组最大化我的功能的值? I don't care if there are more function running, but not many. 我不在乎是否有更多的功能在运行,但是数量不多。

Thanks in advance. 提前致谢。

No there is no general method to do what you're asking. 没有没有通用的方法可以完成您要问的事情。

Global optimization is a collection of techniques (and a whole field of study) that are used to minimize a function based on some of its general properties. 全局优化是技术(和整个研究领域)的集合,这些技术用于基于某个函数的某些常规属性来使其最小化。 Without more information about the underlying function, niave random sampling (as you're doing) is a 'reasonable' approach. 如果没有更多有关基础函数的信息,那么随意进行随机抽样(就像您所做的那样)是一种“合理”的方法。

You're best best is to find additional information about the character of your function mapping (is the output spikey or smoothly varying with the input? Are there lots of minima, or just a few?), or just keep sampling. 最好的办法是找到有关函数映射字符的其他信息(输出是尖峰还是随输入平滑变化?是否有很多最小值,或者只有几个?),或者只是保持采样。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM