こんにちは!
データサイエンティストのウマたん(@statistics1012)です!
強力な機械学習手法を構築する上で重要な弱学習器。
この記事では、そんな弱学習器について見ていきましょう!
弱学習器とは
弱学習器とは、その名の通り「弱い学習器」。
単独で使うと精度の低い手法のことを指します。
手法の精度を考える上で「バイアスとバリアンス」という考え方があります。
バイアスは純粋に予測値と実測値の差を表します
バリアンスは予測値のばらつきを表します
バイアスが低ければ低いほど良いと思われがちですが、バイアスが低いとバリアンスが高くなる場合が多く、バリアンスが高いと過学習の可能性が高くなってしまいます。
弱学習器は、単純なモデルで予測値を推定するため、バイアスが高くバリアンスが低くなる傾向にあります。
弱学習器単体だと、予測精度の悪い結果になってしまいますが、上手くアンサンブル学習させることでバリアンスを保ったままバイアスを下げることが可能です。
弱学習器を使った強力な手法
弱学習器の真骨頂はアンサンブル学習です。
アンサンブル学習について簡単に見ていきましょう!
バギング
バギングは、並列的に弱学習器を用いてそれぞれのモデルの総合的な結果を用いるという手法です。
バギングと決定木を組み合わせたランダムフォレストという手法がありますが、以下のようなイメージになります。
訓練データに対していくつも決定木モデルを作成し、それぞれの結果を集約して最終結果を出力します。
回帰だったら平均値、分類だったら多数決。
ランダムフォレストは非常に簡単に実装できる手法ですが、それなりに高い精度が見込めるのでオススメです!
ブースティング
バギングは並列でしたが、ブースティングは直列的に弱学習器を用いていきます。
最初の弱学習器で上手く推定できなかった部分を推定するために重みを付けて次の弱学習器で学習を行います。
最終的には、精度の高いモデルに重みを付けて最終的なモデルを作成します。
決定木とブースティングを組み合わせた手法がXGboostやLightGBMやCatBoostなどの勾配ブースティング木手法であり、非常に高い精度をたたき出します。
一般的にブースティングの方がバギングより高い精度が見込めますが、学習に時間がかかります。
アンサンブル学習に関しては以下の記事をご覧ください!
弱学習器 まとめ
弱学習器は単独だと全く使えないというわけではありません。
強い手法ではありませんが、アルゴリズムがシンプルでデータの構造を紐解く意味でも使いやすい手法が多いです。
逆にアンサンブル学習に強学習器を使っても意味がありませんので注意しましょう!
弱学習器と強学習器の違いは微妙なところで、何が弱学習器という明確な定義はありませんが、決定木や単純なニューラルネットワークなどは弱学習器と考えてよいです。
弱学習器やアンサンブル学習などを含めた機械学習について学びたい方は以下の本をオススメします。
もっと機械学習やデータサイエンスについて詳しく知りたい方はぜひ以下の記事を見てみてください!
また当メディアが運営する「スタアカ(スタビジアカデミー)」というサービスで網羅的に学べますので是非チェックしてみてください!