あるMLエンジニアが、k分割交差検証(k-fold Cross Validation)を実施した。この手法を単純な訓練・テスト分割(Holdout法)の代わりに使う主な理由はどれか。
- A. k分割交差検証はテストデータを使わないため、データリークを完全に防止できる
- B. k分割交差検証は訓練時間がHoldout法より常に短く、計算コストを削減できる
- C. k分割交差検証はハイパーパラメータをkの数だけ自動的に最適化する機能を持つ
- D. データを複数の分割パターンで学習・評価することで汎化性能の推定を安定化させ、Holdout法に比べてデータの使用効率も高まる
解答と解説を見る
正解: D
k分割交差検証はデータをk個のフォールドに分割し、順番に1フォールドをテスト・残りを訓練として使うk回の実験を行い、平均性能を求める。Holdout法に比べてデータが少ない場合も全サンプルを訓練と評価に使い回せる(データ効率が高い)。また評価の分散が小さく安定した汎化性能推定が得られる。Bは誤りで、k回訓練するため訓練時間はHoldout法のk倍かかる。Aは誤りで、交差検証でも最終評価用のテストデータは別途保持するのが正しい実践である。Cは誤りで、交差検証はモデルの評価手法であり、ハイパーパラメータを自動最適化する機能は持たない(Grid Searchなど別手法と組み合わせて使う)。