株式会社pipon代表取締役。キャリアはADK(広告代理店)でテレビ広告運用をして残業120時間するが、ネット広告では自分の業務がAIで自動化されていることに驚愕する。EC業界、様々な業界でAI受託開発事業を運営。YouTubeはじめに今回は、「スタッキング」を紹介します。キングとはアンサンブル学習の一つです。アンサンブル学習とは、一つの学習モデルをそのまま使うのではなく、複数の学習モデルを組み合わせることで、誤差を小さくする方法です。アンサンブル学習には、複数の学習モデルの平均や多数決を取るvoting、作成済みの学習モデルの誤差を反映して、次の段の弱学習モデルを形成するboosting、そしてモデルを積み上げることで精度を上げるstacking(以下スタッキング)と呼ばれるものなどがあり、アンサンブル学習は機械学習の世界ではよく使われている手法です。キングとはスタッキングは非常に複雑になりがちな手法ですが、簡単な例として、二段階のモデルを考えましょう。第一段階で様々なアルゴリズム(ロジスティック回帰、ランダムフォレスト、ニューラルネットワークなど)にそれぞれ学習させ、予測値を出力します。第一段階の予測値を取りまとめるモデルを、メタモデルと言います。第一段階の各アルゴリズムの予測値を取りまとめたメタモデルは、第二段階で第一段階の予測値を特徴量として学習します。メタモデルで用いるアルゴリズムは特に決まりはありませんが、回帰モデルであれば、線形回帰モデルがよく使われます。正解率が高い学習モデルと低いモデルがあるので、より正解率の高い学習モデルを重視するなどの調整をして組み合わせることにより、ランダムで学習モデルを組み合わせるよりも精度が高くなることが期待できます。キングの実装それでは、Pythonを使ってスタッキングを行ってみましょう。今回は、スタッキングを紹介することが目的なので、予測精度を上げるための細かな調整は行っていません。今回は、scikit-learnのbostonデータを使って、スタッキングを行います。データを読み込み、モデル作成と検証のためのデータセットを作ります。13)全データ506を、第1段階の学習用に323、メタモデル学習用に81、検証用に102に分けます。今回は、線形回帰、ランダムフォレスト回帰、LightGBMの3つのアルゴリズムを使って行きます。それぞれを個別に使ってモデルを作ったときの性能を確認します。13.4078平均二乗誤差で比べると、ランダムフォレスト回帰が最も精度よく予測できていました。それでは、それぞれのモデルの出力を基に、スタッキングで予測してみましょう。10.6040今回のデータでは、線形回帰、ランダムフォレスト回帰、LightGBMを単体で用いるよりも、スタッキングの方が、わずかに誤差が小さいことが分かりました。用いるモデルは、色々な性質のアルゴリズムで作った方が、よい結果につながりやすいです。・今回は、用いるアルゴリズムのみを変えていますが、特徴量も色々調整することで、精度の更なる向上が期待できます。・スタッキングであれば常に精度の高い結果が得られる、というわけではありません。データによっては、単体のアルゴリズムの方が精度よく予測できることがあるので、モデリングの際は色々なアルゴリズムを試してください。おわりに今回はスタッキングを見てきました。キングは、複数のアルゴリズムの予測値を使ってモデルを作るので、精度の高い予測を期待できる方法です。常に精度の良い結果が得られるわけではないので、過信することのないように気を付けましょう。Kagglehttps://qiita.com/hkthirano/items/2c35a81fbc95f0e4b7c1機械学習上級者は皆使ってる?!アンサンブル学習の仕組みと3つの種類について解説します機械学習上級者は皆使ってる?!アンサンブル学習の仕組みと3つの種類について解説します【機械学習】スタッキングのキホンを勉強したのでそのメモpiponではエンジニアの皆様に業務委託や副業でAI・データサイエンスの案件をご紹介しています!piponの案件にご興味がある方は以下のフォームにご登録ください。