Simpler Hyperparameter Optimization for Software Analytics: Why, How, When?
This provides a practical guideline for software engineers to use faster, simpler hyperparameter optimization in many SE tasks, though it is incremental as it builds on existing methods.
The paper tackled the problem of simplifying hyperparameter optimization for software analytics by determining when a simple method (DODGE) is effective, finding it works best for low-dimensional data (intrinsic dimensionality u ~ 3) and poorly for higher-dimensional data (u > 8), with most SE data being low-dimensional.
How can we make software analytics simpler and faster? One method is to match the complexity of analysis to the intrinsic complexity of the data being explored. For example, hyperparameter optimizers find the control settings for data miners that improve the predictions generated via software analytics. Sometimes, very fast hyperparameter optimization can be achieved by "DODGE-ing"; i.e. simply steering way from settings that lead to similar conclusions. But when is it wise to use that simple approach and when must we use more complex (and much slower) optimizers?} To answer this, we applied hyperparameter optimization to 120 SE data sets that explored bad smell detection, predicting Github issue close time, bug report analysis, defect prediction, and dozens of other non-SE problems. We find that the simple DODGE works best for data sets with low "intrinsic dimensionality" (u ~ 3) and very poorly for higher-dimensional data (u > 8). Nearly all the SE data seen here was intrinsically low-dimensional, indicating that DODGE is applicable for many SE analytics tasks.