为何差分进化在调优缺陷预测器时优于网格搜索?
软件工程
2017-03-13 v3 机器学习
机器学习
摘要
背景:数据挖掘中的一项黑魔法是学习控制学习器的魔法参数。在软件分析中,至少在缺陷预测方面,已有网格搜索和差分进化(DE)等多种方法被提出用于学习这些参数,且已被证明能够提升学习器的性能得分。目标:我们想评估哪种方法在性能得分和运行时间开销方面能找到更好的参数。方法:本文将网格搜索与差分进化进行比较,后者是一种在搜索空间中进行大量随机跳跃的进化算法。结果:我们发现,看似完备的网格搜索方法并不比随机搜索表现得更好,有时甚至更差。为检验结论的有效性,在重复20次实验后,我们发现DE在17个测试数据集上以F-Measure为指标调优Random Forests时,速度比网格搜索快210倍以上。结论:这些结果令人困惑:为什么快速的局部搜索与慢得多且广泛得多的搜索一样有效?为了回答这个问题,我们求助于理论优化文献。Bergstra和Bengio推测,如果底层搜索空间本质上具有低维性,那么网格搜索并不比更随机的搜索方法更有效。这一点意义重大,因为最近的研究结果表明,缺陷预测表现出极低的内禀维度——这一观察解释了为什么像DE这样快速的方法能与看似更彻底的网格搜索表现得一样好。这作为一个未来的研究方向表明,在进行任何优化之前,可以先窥探数据集,以便将优化算法与当前问题相匹配。
引用
@article{arxiv.1609.02613,
title = {Why is Differential Evolution Better than Grid Search for Tuning Defect Predictors?},
author = {Wei Fu and Vivek Nair and Tim Menzies},
journal= {arXiv preprint arXiv:1609.02613},
year = {2017}
}
备注
12 pages, 8 figures, submitted to Information and Software Technology