我在hyperoptCNN 的库中实现了一个相当复杂的贝叶斯超参数搜索。
是否有“足够”数量的试验的经验法则?也许基于构成搜索空间的超参数的数量?
我在hyperoptCNN 的库中实现了一个相当复杂的贝叶斯超参数搜索。
是否有“足够”数量的试验的经验法则?也许基于构成搜索空间的超参数的数量?
在纯随机搜索中,通常根据经验给出 60 分,因为可证明这样的搜索以 95% 的概率在前 5% 中找到超参数组合。
但是,这 5% 是搜索空间量的百分比,因此如果搜索空间太宽泛,最好的 5% 对模型来说可能不是一个很好的分数。所以它似乎并不完全取决于超参数的数量,而是取决于好的组合的数量,而这反过来又间接地取决于超参数的数量。
与纯随机搜索相比,贝叶斯优化应该花费更少的迭代次数(但不一定需要更少的时间!)以达到最佳效果,特别是应该相对较快地排除大量不良容量。
所以,总而言之……不,我实际上没有经验法则。考虑到最后两段的权衡,60 可能是一个不错的选择;如果培训不是太贵,我会增加到100。还要考虑你的包是否允许你继续贝叶斯搜索:你可以分析到目前为止的结果(主要是看看最后几次迭代是否聚集在某个点周围,以及目标函数的变化范围),看看你是否想继续. 最后,请注意scikit-optimize将默认值设置为 50,但似乎并没有太多。