Skip to main content
QUICK REVIEW

[论文解读] Why is Differential Evolution Better than Grid Search for Tuning Defect Predictors?

Wei Fu, Vivek Nair|arXiv (Cornell University)|Sep 8, 2016
Software Engineering Research参考文献 36被引用 33
一句话总结

本文比较了微分进化(DE)与网格搜索在软件工程缺陷预测模型超参数调优中的表现,发现DE在17个数据集上实现相当或更优的性能评分,同时运行速度比网格搜索快210倍以上。作者认为这是由于缺陷预测数据的固有维度较低,使得随机搜索方法(如DE)比穷举式网格搜索更有效。

ABSTRACT

Context: One of the black arts of data mining is learning the magic parameters which control the learners. In software analytics, at least for defect prediction, several methods, like grid search and differential evolution (DE), have been proposed to learn these parameters, which has been proved to be able to improve the performance scores of learners. Objective: We want to evaluate which method can find better parameters in terms of performance score and runtime cost. Methods: This paper compares grid search to differential evolution, which is an evolutionary algorithm that makes extensive use of stochastic jumps around the search space. Results: We find that the seemingly complete approach of grid search does no better, and sometimes worse, than the stochastic search. When repeated 20 times to check for conclusion validity, DE was over 210 times faster than grid search to tune Random Forests on 17 testing data sets with F-Measure Conclusions: These results are puzzling: why does a quick partial search be just as effective as a much slower, and much more, extensive search? To answer that question, we turned to the theoretical optimization literature. Bergstra and Bengio conjecture that grid search is not more effective than more randomized searchers if the underlying search space is inherently low dimensional. This is significant since recent results show that defect prediction exhibits very low intrinsic dimensionality-- an observation that explains why a fast method like DE may work as well as a seemingly more thorough grid search. This suggests, as a future research direction, that it might be possible to peek at data sets before doing any optimization in order to match the optimization algorithm to the problem at hand.

研究动机与目标

  • 评估微分进化(DE)与网格搜索在性能和运行时间方面对缺陷预测模型超参数调优的优劣。
  • 探究为何DE(一种随机方法)在缺陷预测机器学习模型调优中通常优于耗时但全面的网格搜索。
  • 探讨固有维度在解释DE相较于网格搜索在该场景下更高效率方面的作用。
  • 基于数据特定特征(如维度)提供选择优化算法的经验证据。

提出的方法

  • 本研究使用来自SEACRAFT数据仓库的17个公开缺陷预测数据集,每个数据集包含14个静态代码度量作为特征。
  • 在CART和随机森林两种学习器上应用三种调优方法:微分进化(DE)、网格搜索和随机搜索。
  • 性能通过AUC、AUC_{20}、精确率和F-Measure进行评估,并进行20次独立运行以确保稳定性。
  • 通过记录每次调优过程在所有数据集上的开始和结束时间来测量运行时间成本。
  • 使用Scott-Knott非参数检验评估DE与网格搜索在重复试验中的结果差异的统计显著性。
  • 理论解释基于Bergstra和Bengio的观点:在低维空间中,随机和随机搜索优于网格搜索,且得到Papakroni和Provence关于缺陷预测数据中固有维度较低的实证发现的支持。

实验结果

研究问题

  • RQ1RQ1:超参数调优是否能提升缺陷预测器的性能?
  • RQ2RQ2:在性能评分(AUC、AUC_{20}、精确率、F-Measure)方面,网格搜索是否在统计上优于微分进化(DE)?
  • RQ3RQ3:在运行时间成本方面,DE是否比网格搜索更高效?
  • RQ4RQ4:为何DE在不如网格搜索全面的情况下,仍能表现相当或更优?
  • RQ5RQ5:固有维度能否解释不同调优方法之间的性能差异?

主要发现

  • 在17个缺陷预测数据集上,微分进化(DE)的性能评分与网格搜索相比达到更好或相等水平,AUC、AUC_{20}、精确率或F-Measure均无显著下降。
  • 仅在使用CART和精确率作为指标时,网格搜索在17个数据集中的6个上表现出统计上更优的结果,表明其优势并不一致。
  • 在17个数据集上对随机森林进行调优时,DE的平均运行速度比网格搜索快210倍以上,显著降低了运行时间成本。
  • 结果表明,缺陷预测数据的低固有维度(先前研究已证实)解释了为何DE等随机方法优于穷举式网格搜索。
  • 重复20次运行的结果保持一致,支持DE在多次试验中性能与效率的可靠性。
  • 本研究结论认为,超参数调优对构建高性能缺陷预测器至关重要,且DE因其速度与有效性成为更优选择,尤其在低维数据空间中。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。