Weka中的参数优化算法

数据挖掘 超参数调整 威卡 网格搜索
2022-02-28 17:04:36

在 Weka 中,我使用了 Grid 和 Random 搜索参数调整算法,但不幸的是,当我们使用没有任何优化算法的 ML 算法(支持向量回归、线性回归等)时,它们的性能(就更好的预测精度而言)观察得最差。我想知道怎么可能?我的意思是一种算法(网格或随机搜索)在相互比较时应该表现更好或最差,但与没有任何参数优化算法相比,它们的性能最差。我什至用 MultiSearch 选项在 Weka 中尝试了两者的混合,但即使是这两者的混合也有最差的性能。如果有人可以根据他们在这方面的经验提供意见。

2个回答

假设您将调优算法的性能称为算法性能(准确度、误差等)的提高。对于不同的算法,参数优化(或调整)的有效性是不同的。许多论文都讨论过它,Olson 等人。已经显示了几种算法的性能可能会有多大差异。SVM 和 LR(您在问题中提到的那些)在调整后没有太大改善。

如果您在尝试的几种算法中表现不佳,则问题可能不在调整算法中,而在您的特征目标集中。我建议您看一下Domingos论文,这是建立成功模型的好读物。

有很多可能性,但我怀疑调整算法过度拟合您的模型。多重搜索/网格搜索等算法正在选择超参数的组合,以优化您选择的指标,例如 AUC/F1/MCC 或类似的东西。如果您正在对训练数据进行优化,则调整算法将选择训练分数最高的模型,但这可能会过度拟合。

如果没有调整算法,您可能会偶然选择在训练数据上表现更差但在测试数据上表现更好的超参数。如果您没有太多可以训练/测试的实例,则尤其如此;如果您没有很多训练实例,则更有可能过度拟合。此外,如果您的测试集非常小,那么运气将成为一个更大的因素。

您的特征也可能导致过度拟合。例如,假设您有一百万个特征,但只有 100 个训练实例。如果每个实例的特征显着偏离,您的模型可以非常有选择地优化训练数据,但这会导致泛化能力差。如果您拥有比训练实例更多的特征,则应使用 PCA 等降维算法来创建更好的搜索空间。

为了通过调整算法获得最佳结果,您应该将数据划分为训练、验证和测试集。然后,multisearch/gridsearch 应该评估验证集上的模型,以便您鼓励泛化而不是过度拟合训练数据。

此外,网格搜索的间隔选择也很重要。假设您使用带有 RBF 内核和网格的 SVM 搜索 gamma 和 C 参数,您的网格单元可能会以指数方式偏离。一个示例 11x11 网格可能是:C{103,102,...,107}γ{109,108,...,10}. 如果您想要更精细的粒度,在为您的网格创建分数热图后,您可以通过执行另一个具有较小域的更精细间隔的网格搜索来“放大”高分区域。