本文へスキップ

スタッキングとは?

すたっきんぐ

スタッキングとは、複数機械学習モデルの予測結果を新たなモデルへの入力として使い、さらに高い精度を目指すアンサンブル学習の手法です。

スタッキング(Stacking、またはStacked Generalization)とは、複数の異なる機械学習モデルベースモデル)の予測値を特徴量として、上位のメタモデルが最終予測を行うアンサンブル学習手法です。モデルを「積み重ねる」ことからスタッキングと呼ばれます。

基本的な構成は次の通りです。

  • 第1層(ベースモデル層):ランダムフォレスト・勾配ブースティング・ニューラルネットワークなど特性の異なる複数モデルを学習させ、それぞれの予測値を出力する。
  • 第2層(メタモデル層):ベースモデルの予測値を新たな入力特徴量として受け取り、最終予測を行う。線形回帰やロジスティック回帰がよく使われる。

過学習を防ぐため、ベースモデルの学習にはクロスバリデーション(out-of-fold予測)を使い、訓練データに対する予測値を生成するのが一般的な実装方法です。

スタッキングはバギング(Bagging)やブースティング(Boosting)と並ぶアンサンブルの代表手法で、異なるアルゴリズムの長所を組み合わせられるため、単一モデルより高精度になりやすいです。データサイエンスコンペティションでは上位モデルに頻繁に使用されています。

使い方・例文

「ランダムフォレストとXGBoostとニューラルネットワークの予測をスタッキングしてメタモデルに渡すことで、単体モデルより高いスコアを達成した」という形で、機械学習の文脈で登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語