Skip to main content
QUICK REVIEW

[論文レビュー] Run, Forest, Run? On Randomization and Reproducibility in Predictive Software Engineering

Cynthia C. S. Liem, Annibale Panichella|arXiv (Cornell University)|Dec 15, 2020
Software Engineering Research参考文献 96被引用数 4
ひとこと要約

本稿は、予測ソフトウェア工学におけるランダム化の再現可能性への影響を調査し、制御されていないデータサンプリング、ランダムシード、ライブラリ固有の実装による広範な不整合を明らかにした。繰り返し実行、明確なパrameter報告、複数のライブラリおよびデータセットにおける統計的検証を通じて再現性を向上させるための5つの実用的ガイドラインを提案する。

ABSTRACT

Machine learning (ML) has been widely used in the literature to automate software engineering tasks. However, ML outcomes may be sensitive to randomization in data sampling mechanisms and learning procedures. To understand whether and how researchers in SE address these threats, we surveyed 45 recent papers related to three predictive tasks: defect prediction (DP), predictive mutation testing (PMT), and code smell detection (CSD). We found that less than 50% of the surveyed papers address the threats related to randomized data sampling (via multiple repetitions); only 8% of the papers address the random nature of ML; and parameter values are rarely reported (only 18% of the papers). To assess the severity of these threats, we conducted an empirical study using 26 real-world datasets commonly considered for the three predictive tasks of interest, considering eight common supervised ML classifiers. We show that different data resamplings for 10-fold cross-validation lead to extreme variability in observed performance results. Furthermore, randomized ML methods also show non-negligible variability for different choices of random seeds. More worryingly, performance and variability are inconsistent for different implementations of the conceptually same ML method in different libraries, as also shown through multi-dataset pairwise comparison. To cope with these critical threats, we provide practical guidelines on how to validate, assess, and report the results of predictive methods.

研究の動機と目的

  • 予測ソフトウェア工学分野の研究者が、データサンプリング、モデル学習、実装選択におけるランダム化の脅かしをどの程度取り扱っているかを評価すること。
  • 一般的な機械学習分類器において、ランダムなデータリサンプリングおよびランダムシードによる性能変動の程度を調査すること。
  • 同じアルゴリズムおよびモデル設定に対して、異なる機械学習ライブラリ間での結果の一貫性を評価すること。
  • 最近のSE文脈における研究で、ハイパーパrameter、ランダムシード、ライブラリバージョンの報告に関するギャップを同定すること。
  • 予測ソフトウェア工学研究における再現性を改善するための、実用的で実行可能なガイドラインの開発および提案

提案手法

  • 欠損予測、予測変異テスト、コードスモール検出の分野をカバーする45篇の最近の論文を対象とした体系的文献レビューを通じて、ランダム化およびパrameter設定の報告状況を評価した。
  • 26個の実世界のSEデータセットと、3つの人気のある機械学習ライブラリ(scikit-learn、Weka、R)を用いた8種類の教師あり機械学習分類器を用いた実験的調査を実施した。
  • 10-fold交差検証におけるランダムシード選択およびデータリサンプリングに起因する変動を測定するため、各データセットおよびモデル設定に対して100回の繰り返し実行を実施した。
  • 同じモデル設定を異なるライブラリで実装した結果を比較し、実装の一貫性およびデフォルトハイパーパrameterの差異を評価した。
  • モデル間の性能差の統計的有意性を評価するために、Friedman検定に続くpost-hoc Nemenyi検定を適用した。
  • 繰り返し実行、明確なシードおよびパrameter報告、ソルバーやライブラリの挙動への認識を含む、証拠に基づいた5つのガイドラインを提案した。

実験結果

リサーチクエスチョン

  • RQ1最近の予測SE論文のうち、どの程度がランダムデータサンプリング手順と複数回の繰り返しを報告しているか?
  • RQ2一般的な分類器において、ML学習手順における異なるランダムシードが性能変動にどの程度寄与しているか?
  • RQ3同一の概念的設定であっても、異なる機械学習ライブラリ実装における結果の一貫性はどの程度か?
  • RQ4報告されていない、または一貫性のないハイパーパrameterおよびライブラリバージョンが、結果の再現性に与える影響は何か?
  • RQ5予測SE結果の信頼性および再現性を向上させるために、どのような統計的および報告手法が有効か?

主な発見

  • 調査対象の論文の50%未満が、複数回の繰り返しを用いてデータリサンプリングのばらつきを対処しており、研究的手法の厳密性に大きなギャップが存在することが示された。
  • ML学習におけるランダムシードの明示的報告や制御がなされた論文はわずか8%にとどまり、シードによる性能変動が顕著であるにもかかわらず、その事実が無視されていることが明らかになった。
  • 同じMLモデルの異なるライブラリ実装間で、性能結果に顕著な差が生じており、同じハイパーパrameterの記述であっても、実装の違いが大きな影響を与えていた。
  • ランダムフォレストにおける決定木の数といったデフォルトパラメータ値が、ライブラリバージョンの変更に伴い顕著に変化しており、結果の一貫性を損なう要因となっていた。
  • 統計的分析の結果、ランダムフォレストは一貫して高い順位を保っていたが、多重比較補正を適用した後は、他のモデルと統計的に優位性を示さなかった。
  • 本研究は、異なるライブラリ間でデフォルト設定が大きく異なることを実証し、再現性を損なう要因となっている。これにより、ライブラリ名、バージョン、パラメータ設定の明確な報告が不可欠であることが示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。