和風ましらに

機械学習とか勉強したことを書き認めるブログ

スタッキングについて考えた

今回はスタッキングについて。

概要

個々の学習器を結合して、より複雑度の高い学習モデルを構築することが目的です。 学習データの一部を一段階目のモデルの学習として使用し、二段階目の学習時に、一段階目の出力結果を特徴量として活用する方法。 (スタッキングのイメージ)

なので、二段階目のモデリングに学習データを使用しなければ、一段階目のモデリングの内容・使用するデータは何でもいい感じ。

図では一部だけを切り取ってるが、全学習データを3分割とかして、2/3の学習データで学習器を構築するパターンを3通りすることも可能。

その際、validは各学習器の平均になります。

よしなしごと

スタッキングの意図としては、複数の仮説を使用してモデルの多様性・表現力を高めること。

真の仮説に対して、複数のアルゴリズムでアプローチしたほうが、性能高くなるじゃん。っていう感じ。

その観点からみた際、投票や加重平均と意味合いとしてどう違うのだろうと思ってます。

感覚的には何となく、全然違うんだろうなという気も。 (平均化は、砂糖と塩を鍋に割合を決めて投入するイメージです。 スタッキングは、鍋に砂糖を突っ込んでから、徐々に塩を足して調整するイメージです。)

まぁ、よくわからないのでまた気づき次第更新します。