2024-09-30 08:20:16 发布
网友
我有20个可以接受二进制值的参数,这些参数被传递给函数以返回这样的分数
score = fmin( para 1, para 2 , para 3,.....para20)
现在要优化这个场景,哪种算法最好
我读过遗传算法,其中染色体可以进行变异和交叉,从2^20个搜索点中选择最佳组合
我也读过hyperopt,它优化了功能,但试验次数较少
哪一个更好?使用这些算法有什么优点或缺点
这实际上取决于您希望函数具有的属性。如果您有理由相信相似的参数集具有相似的分数,那么您可以尝试simulated annealing或genetic algorithms
然而,如果您没有理由期望类似的参数将生成类似的分数,那么这些方法将不会有帮助:您也可以随机选取参数集。但是(正如评论中提到的那样),2^20不过是一百万次试用而已:如果你的功能不太昂贵,你可以全部试用
这实际上取决于您希望函数具有的属性。如果您有理由相信相似的参数集具有相似的分数,那么您可以尝试simulated annealing或genetic algorithms
然而,如果您没有理由期望类似的参数将生成类似的分数,那么这些方法将不会有帮助:您也可以随机选取参数集。但是(正如评论中提到的那样),2^20不过是一百万次试用而已:如果你的功能不太昂贵,你可以全部试用
相关问题 更多 >
编程相关推荐