【第14回】MacBookProで始めようデータサイエンス ~勾配ブースティング木~

ツール・手法

今日はMacBookProでデータサイエンスを進めて行くシリーズの14回目となります。マーケティング領域で使えるデータサイエンス手法をテーマに記事を書いて行きます。今回は”勾配ブースティング木”をご紹介していきます。前回、マーケティングで使える8つの分析手法について取り上げましたが、今回からランダムですが、具体的な中身について説明していきます。是非最後まで読んでいって下さい!

  • 勾配ブースティング木とは
  • 代表的な勾配ブースティング木の種類
  • 勾配ブースティング木の主な指標
  • 勾配ブースティング木関連の統計解析・機械学習アルゴリズム
  • 注意点

1.勾配ブースティング木とは
勾配(こうばい)ブースティング木は、GBDT(=Gradient Boosting Decision Tree)の略です。使い易く、精度も高いと言った特徴があります。前回決定木とランダムフォレストについて説明しましたが、勾配ブースティングは、分かり易くいうと決定木を複数組み合わせることで予測を行っていきます。

<活用例>
 例えばキャンペーンを実施して、そのキャンペーンに反応した人(=購入者)と反応しなかった人(=未購入者)の要因分解することが可能です。

勾配ブースティング木とランダムフォレストの違い
勾配ブースティング木は、同じモデルを並列に並べ、平均や多数決で予測を実施する”バギング”を採用しています。
 もう少し補足すると、勾配ブースティング木はランダムフォレストと違って”直列にモデルを作成”します。最初の予測誤差を次のモデルに活かして行きます。つまり、1本目の決定木が、次の2本目の木に移り、目的変数とそこまでに作成した決定木の予測誤差に対して学習を行って行きます。

 一方、ランダムフォレストとは、同じモデルを直列に並べ、それまでの決定木の予測差分も学習に利用し予測を実施する”ブースティング”を採用しています。
 もう少し補足説明すると、ランダムフォレストは決定木の集合体です。対象データに対して決定木とランダムフォレストは同じ結果になるので、それぞれのモデルに対して利用するデータをサンプリングして、複数で作成したモデルの予測結果の平均を取って最終予測値としています。

 よって、理論上は”バギングを採用した”ランダムフォレスト”よりも”ブースティング”を採用した”勾配ブースティング木”の方が精度が高いと言われています。
 

【予測精度イメージ】
決定木>ランダムフォレスト>勾配ブースティング

2.代表的な勾配ブースティング木の種類
 私が良く実務で利用しているものをご紹介します。
LightGBM
XGBoost

LightGBMとは、Light Gradient Boosting Machine の略です。ライト・ジービーエムと呼びます。機械学習用アルゴリズムです。分散型勾配ブースティングフレームワークの一つでマイクロソフトが開発したものです。決定木アルゴリズムをベースにしており、ランク付け、分類等の処理を非常に高速におこうことが可能です。

XGBoostとは、ヒストグラムをベースとしたアルゴリズムを採用しています。特徴量の計量値は階級毎に処理されるため、処理速度が速い、メモリ効率が良い、推測精度が高く大量データにも対応できるなどの特徴があります。

3.勾配ブースティング木の主な評価指標
 評価指標については、また別の機会で詳しく説明しますが、基本的には”正解率、適合率、再現率”を見て行きます。
正解率・・・Accuracyは、実測値と予測値が一致した割合のことです。
適合率・・・Precisionは、未購入者と予測したものの内、実際に未購入者だったものの割合になります。
再現率・・・Recllは、実際に未購入したもののうち、どのくらい未購入と予測されたのかを示す指標となります。

4.勾配ブースティング木分析関連の統計解析・機械学習アルゴリズム

アルゴリズム名概要Pythonライブラリ
LightGBM決定木アルゴリズムをベースにしており、ランク付け、分類等の処理を非常に高速scikit-learn
XGBoost特徴量の計量値は階級毎に処理されるため、処理速度が速い、メモリ効率が良い、推測精度が高いscikit-learn

[補足説明]アンサンブル学習バギング
 アンサンブル学習バギングはランダムフォレストととても関連性の深い用語になります。アンサンブル学習は、複数のものが集まって一体化した状態を指します。多数決をとる学習方法で、別々の決定木としてそれぞれ学習させた結果をまとめるといった意味になります。
 一方、バギングは、アンサンブル学習の主な手法の一つです。ブートストラップサンプリングによって得た学習データを用い、複数の決定木を作って多数決をとります。母集団の学習データから、各決定木で使うデータをランダムに復元抽出することで、データセットに対して多様性をもたせる手法です。

5.注意点
特に注意点はないのですが、敢えて言うならばLightGBMXGBoost、先日ご紹介した決定木、ランダムフォレストもどれが一番良い結果(=評価)色々試して行く必要があります。手間は掛かりますが実務を想定すると少しでも良い物になるように試行錯誤をしっかり行って行って下さい。

今回は以上となります。最後まで読んで下さりありがとうございました。

コメント

タイトルとURLをコピーしました