G検定 アンサンブル学習

株式会社リュディアです。アンサンブル学習についてまとめてみたいと思います。

アンサンブル学習とは複数のモデルを使って1つのモデルを構築することです。大きくバギングブースティングスタッキングの3つに分類可能です。順番に見ていきましょう。

バギングBootstrap Aggregating の略です。訓練データをブートストラップサンプリングにより N 個のグループに分割します。次に N 個の異なるモデルに N 個の各グループを与えます。異なる訓練データを異なるモデルに入力するわけなので予測結果はそれぞれ異なることが予想されます。G検定公式テキストで記載されているランダムフォレストを例にとるとN個の決定木を構築しそれぞれに N 個の各グループの訓練データを与えます。各決定木で異なる結果が得られるので多数決で結果を決めます。おかしな結果を導くモデルもあるかもしれないですが、多数決をとれば全体としてはそれなりの結果になるというものです。バギングの特徴として複数のモデルは並列に実行可能ということです。

次にブースティングです。バギングと同様に一部のデータを繰り返し抽出し複数のモデルが学習を行います。違いは逐次実行、つまり順にモデルの学習を行うことです。一部のデータをモデルAに学習させます。誤認識したデータも存在するでしょう。次にモデルB を使うときにはご認識をしたデータを中心に学習させます。前のモデルで誤認識となったデータに重みをつけ次のモデルで学習させる方法をブースティングといいます。ブースティングも各モデルでは決定木が利用されており AdaBoost勾配ブースティングXgBoost が有名です。G検定公式テキストのp100 に記載されています。

スタッキングの基本は、より優れた学習結果を示すモデルを組み合わせることに特徴があります。こちらはG検定公式テキストでは言及はされていないのですが、用語だけ知っておいてもらえばよいかと思います。

では、ごきげんよう。



この記事が気に入ったらサポートをしてみませんか?