首页 > 解决方案 > 优化 20 个参数,哪个应该是最好的算法?

问题描述

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

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

现在要优化这个场景,哪个是最好的算法?

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

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

哪个更好?使用这些算法有什么优点或缺点?

标签: pythonalgorithmmachine-learninggenetic-algorithmhyperopt

解决方案


这实际上取决于您希望函数具有的属性。如果您有理由相信相似的参数集具有相似的分数,那么您可以尝试模拟退火遗传算法

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


推荐阅读