Boosting
Boosting
Boosting(ブースティング)とは
ひとことで
単純なモデル(弱学習器)を順番に作り、前のモデルが間違えたデータを重視して次のモデルを学習させ、それらを組み合わせて精度を高めるアンサンブル学習の手法。代表例にAdaBoostや勾配ブースティングがある。
たとえると
苦手な問題を集中的に復習するやり方に似ています。1回目のテストで間違えた問題を重点的に勉強し、2回目でまた間違えた問題をさらに重点的に勉強する、というように弱点を順番につぶしていきます。
現場ではこう使う
需要予測のコンペに参加したデータ分析チームは、決定木を弱学習器とする勾配ブースティングを使いました。前の木が予測しきれなかった誤差を次の木が補う仕組みで精度は高くなりましたが、木を増やしすぎると検証データでの精度が落ちたため、交差検証で木の数を決めました。
試験のポイント
EXAM POINT「弱学習器を逐次的(順番)に学習」「前のモデルの誤りを重視」と出てきたらブースティングです。複数のモデルを独立に並列で学習させるバギング(ランダムフォレストが代表例)との違いが頻出です。ブースティングは精度が高くなりやすい一方、順番に学習するため並列化しにくく、過学習に注意が必要です。
混同しやすい用語との違い
- Random Forest決定木を独立に並列で作り多数決をとるバギングの手法。ブースティングは順番に誤りを補っていく
- Gradient Descentパラメータを勾配の逆方向に更新する最適化手法。勾配ブースティングは勾配の考え方を使ってモデルを順に足していくアンサンブル学習