スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.1760
機械学習の実装やモデル評価において、データリーク(情報漏洩)を未然に防ぐための対策として、最も適切なものはどれか。

【正解の解説】

交差検証(クロスバリデーション)を実施する際、データ分割の各反復(フォールド)の中で、毎回独立してスケーリングや特徴量選択を行う。

これは料理の味見で、全体の鍋からすくったスープごとに味見用スパイスを足すようなものです。もし全体の味見を先にしてしまうと、評価用のスープに混ざるはずのない未来のデータが訓練側に漏れてしまい、テストで大失敗します。毎回独立して処理を行うことで、カンニングのない純粋な実力を正しく測ることができます。

スポンサーリンク

【その他の選択肢の解説】

モデルの汎用性を向上させるため、特徴量エンジニアリングや外れ値の除去は交差検証を行う前に全体のデータセットに対して一度だけ一括して適用する。

初学者が「先に綺麗に整えておいた方が効率が良い」と勘違いしがちな罠です。全体を一括処理すると、まだ見ぬテストデータの平均値や最大値が訓練データに混ざってしまい、いわば「答えを見ながら勉強した状態」になります。これでは未知のデータに対して全く歯が立たない過剰適合モデルが完成してしまいます。

テストデータに対する過剰適合を防ぐため、モデルの訓練と評価を繰り返す前にホールドアウト法を用いてデータを完全に隔離した上でハイパーパラメータを固定する。

テストデータを隔離すること自体は正しいですが、この選択肢には交差検証を行う際の特徴量選択やスケーリングのタイミングについての言及が抜けています。データリークは、データの分割後であっても、前処理を全体一括で行うことで発生するため、隔離するだけでは防ぎきれない落とし穴があります。

未知のデータに対する予測性能を正確に測定するため、交差検証の各反復において訓練データと検証データの両方を用いて一括で標準化や正規化処理を実行する。

「両方のデータを使えばより正確な基準(平均や標準偏差)が計算できる」という誤解を生みやすい選択肢です。しかし、検証データの情報を少しでも訓練側に混ぜてしまうと、試験の直前に先生から答えのヒントを聞いてしまうようなものであり、未知のデータに対する予測性能の測定が不正になってしまいます。