参数估计:减少时间

数据挖掘 范围
2021-09-21 17:56:08

我有一个两类预测模型;它具有n可配置的(数字)参数。如果您正确调整这些参数,该模型可以很好地工作,但很难找到这些参数的具体值。我为此使用了网格搜索(例如,m为每个参数提供值)。这会产生m ^ n学习时间,即使在具有 24 个内核的机器上并行运行也是非常耗时的。

我尝试修复除一个之外的所有参数并仅更改一个参数(产生m × n时间),但对我来说如何处理我得到的结果并不明显。这是负(红色)和正(蓝色)样本的精度(三角形)和召回率(点)的示例图:

在此处输入图像描述

简单地采用这种方式获得的每个参数的“获胜者”值并将它们组合起来并不会产生最好的(甚至是好的)预测结果。我考虑过以精度/召回率作为因变量在参数集上构建回归,但我认为超过 5 个自变量的回归不会比网格搜索场景快得多。

你会建议什么来找到好的参数值,但有合理的估计时间?

1个回答

如果穷举非线性扫描太昂贵并且线性扫描不能产生最佳结果,那么我建议您尝试随机非线性搜索,即随机搜索超参数优化。

Scikit learn在其用户指南中有一个用户友好的描述。

这是一篇关于随机搜索超参数优化的论文。