要优化20个参数,应该使用哪种最佳算法?

问题描述

我有20个可以取二进制值的参数,这些参数被传递给函数以返回分数。

score = fmin( para 1,para 2,para 3,.....para20)

现在要优化此方案,这可能是最好的算法?

我了解了遗传算法,其中染色体可以进行突变和交叉以从2 ^ 20个搜索点中选择最佳组合。

我还阅读了有关优化功能的hyperopt,但试验次数较少。

哪个会更好?使用这些算法有何利弊?

解决方法

这实际上取决于您希望函数具有的属性。如果您有理由相信相似的参数集具有相似的分数,则可以尝试simulated annealinggenetic algorithms

但是,如果您没有理由期望相似的参数会产生相似的分数,那么这些方法将无济于事:您将同样会随机选择参数集。但是(如评论中所述),2 ^ 20并不超过一百万次试验:如果您的功能不太昂贵,则可以全部尝试。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...