使用交叉验证来确定最佳参数似乎很标准。当然,这通常是一个耗时的过程。有快捷方式吗?是否有其他更快速的探索性分析形式可以提供哪些值最佳的提示?
例如,根据我目前对机器学习和SVM的理解,我可能会做一些事情,比如在[10e-5,10e5]范围内以C的指数为10执行初始网格搜索,然后从那里进行微调。但有没有办法可以快速估算出最佳C介于10e3和10e5之间,然后执行更具体的搜索?
这个问题可能适用于大多数ML技术,但我现在正在使用SVM。
答案 0 :(得分:1)
是的,这是一个活跃的研究领域!除了我们都知道的标准网格搜索和(可能?)爱之外,在超参数调整的不同方法中已经做了很多工作。
与您所描述的最相似的区域是针对该问题的各种贝叶斯/高斯过程方法。这个github repo有一个实现和一些关于它如何工作的信息图片https://github.com/fmfn/BayesianOptimization。该方法通过将参数优化问题视为另一个机器学习问题来工作,其中我们具有针对每个超参数的特征,并且尝试预测各种参数组合的性能。
这是对该过程的高级描述,您可以阅读回购中的链接纸/笔记本以获取更多详细信息。