E資格(エンジニア資格) 無料問題 5 / 10 ・ 分野3: 深層学習の基礎
スタッキングで、複数の基本モデルの予測を入力にして、最終的なモデル(メタ学習器)を学習する。scikit-learn の StackingClassifier は、メタ学習器の学習に使う基本モデルの予測を、どのように作るか。
- 交差検証で、そのデータを除いて作った基本モデルの予測を使う
- 基本モデルを学習した同じデータに対する予測を、そのまま使う
- 基本モデルの予測を、ランダムな値に置き換えて使う
- 基本モデルの予測の代わりに、元の特徴をメタ学習器に渡す
正解と解説を見る
正解: A
正解の理由
基本モデルが学習したデータに対する予測は、過剰適合の影響で実際より良くなり、メタ学習器がそれを過信する。そこで、交差検証(cross_val_predict)で、そのデータを学習に使わなかった基本モデルの予測を作り、メタ学習器の入力にする。基本モデルは、最後に全データで再学習して推論に使う。
違う選択肢
「基本モデルを学習した同じデータに対する予測を、そのまま使う」… 学習した同じデータへの予測は、基本モデルが覚えてしまった結果で、実際の未知データの予測より良くなる。メタ学習器の学習に使うと、過信を招く。
「基本モデルの予測の代わりに、元の特徴をメタ学習器に渡す」… 元の特徴だけを渡すなら、基本モデルの予測を重ねるスタッキングにならない。基本モデルの予測がメタ学習器の入力である。
「基本モデルの予測を、ランダムな値に置き換えて使う」… ランダムな値にすると、基本モデルの情報が失われる。メタ学習器は、基本モデルの予測の癖を学ぶ。
押さえどころ
スタッキングは、種類の違うモデルを組み合わせると効果が出やすい。メタ学習器は単純なモデル(ロジスティック回帰など)にして、過剰適合を避けるのが定番である。