AI LAB / KEYWORD DICTIONARY

基礎知識

Stacking(スタッキング)とは?

スタッキングは、複数の基礎モデルの予測結果を別の最終モデルへ入力し、それらの組み合わせ方を学習させるアンサンブル手法です。分類と回帰に利用できます。

仕組みと使いどころ

スタッキングでは、複数の基礎モデルを同じ課題に適用し、その出力を特徴量として最終モデルに学習させます。最終モデルの学習には、通常、交差検証で得た各基礎モデルの未学習データに対する予測を使います。固定した重みで平均する投票方式とは異なり、出力の組み合わせ方自体を学習する点が特徴です。異なるモデルの強みを活用でき、誤りの傾向が部分的に異なる場合は単一モデルを上回る可能性がありますが、性能向上は保証されません。また、複数モデルの学習により計算時間が増えます。基礎モデルと最終モデルを同じデータ上の予測だけで学習させる構成では、過学習の危険が高まります。

Stackingの活用例

たとえば、こんな場面で

例えば回帰課題で、線形モデル、スプラインを用いたモデル、勾配ブースティングモデルの予測を作り、その予測を入力として正則化線形回帰に最終予測を学習させる構成が考えられます。

使うときのポイント

基礎モデル数の多さだけで効果を判断せず、最終モデルの学習に交差検証による予測を使っているか確認します。学習済みモデルを使う場合は、同じ学習データ由来の予測による過学習に注意が必要です。

参考資料

Combine predictors using stacking (新しいタブで開きます)StackingClassifier (新しいタブで開きます)StackingRegressor (新しいタブで開きます)

用語の説明や活用例に関連する参考資料です。

READ & LEARN

用語を知ったら、活用を知る。

AI LABで、AIの動向や業務に取り入れるヒントを読む。

記事一覧を見る