最近、私はアンサンブル学習の一種としてモデルスタッキングに興味を持ちました。特に、回帰問題のおもちゃのデータセットを少し試してみました。基本的に、個々の「レベル0」リグレッサを実装し、各リグレッサの出力予測を「メタリグレッサ」が入力として受け取る新しい機能として保存し、このメタリグレッサをこれらの新しい機能(レベルからの予測)に適合させました。 0リグレッサ)。バリデーションセットに対してメタリグレッサーをテストしたところ、個々のリグレッサーに対してささやかな改善でさえあることに私は非常に驚きました。
それで、ここに私の質問があります:なぜモデルスタッキングは効果的ですか?直感的には、スタッキングを行うモデルは、レベル0の各モデルと比較して機能表現が貧弱であるように見えるため、パフォーマンスが低いことが予想されます。つまり、20の特徴を持つデータセットで3つのレベル0のリグレッサをトレーニングし、これらのレベル0のリグレッサの予測をメタリグレッサへの入力として使用する場合、これは、メタリグレッサに3つの特徴しか学習できないことを意味します。メタリグレッサがトレーニングに使用する3つの出力フィーチャよりも、レベル0リグレッサがトレーニングに持つ20の元のフィーチャにエンコードされた情報が多いようです。