Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アンサンブル学習① ランダムフォレストの仕組み

K_DM
October 23, 2021

アンサンブル学習① ランダムフォレストの仕組み

K_DM

October 23, 2021
Tweet

More Decks by K_DM

Other Decks in Programming

Transcript

  1. アンサンブル学習とは 複数の予測モデルを組合せて、ロバスト性やより高い性能を目指す 複数モデルの平均値・多数決を出す方針 ブースティング(Boosting) •バギング •ランダムフォレスト •ExtraTrees •Stacking •AdaBoost •GradientBoosting

    •XGBoost 複数の予測モデルの平均や多数決などを取り、 最終的な予測を行う 予測モデルの誤差に注目して 少しずつモデルを改善して行く 勾配ブースティング(Gradient Boosting)
  2. バギング(Bagging, Bootstrap AGGregatING) 訓練データの一部のみを使って作成(bootstrapping)したモデルを組合せる(aggregating) A Bagging classifier is an ensemble

    meta-estimator that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. ग़యɿsklearn.ensemble.BaggingClassifier 訓練データ全体 • • • • • • • • … • • • • • • • • • • • • 複数の小さな集まりを作る (ブートストラップ) 平均を取る 多数決を取る 最終的な 出力 重複してもいい
  3. ランダムフォレスト(RandomForest) データの一部を抽出+ランダムに特徴選択+決定木作成し、その結果をまとめる 訓練データ全体 • • • • • • •

    • … • • • • • • • • • • • • 複数の小さな集まりを作る (ブートストラップ) 平均を取る 多数決を取る 最終的な 出力 番目の特徴を 使って木を作成 1,2,4 番目の特徴を 使って木を作成 5,4,10 番目の特徴を 使って木を作成 7,5,9 } p個の特徴のうちm個の 特徴をランダムに選ぶ ㅟ ㅟ ㅟ ㅟ ㅟ ㅟ ㅟ
  4. ランダムフォレスト(RandomForest) データの一部を抽出+ランダムに特徴選択+決定木作成し、その結果をまとめる 訓練データ全体 • • • • • • •

    • … • • • • • • • • • • • • 複数の小さな集まりを作る (ブートストラップ) 平均を取る 多数決を取る 最終的な 出力 番目の特徴を 使って木を作成 1,2,4 番目の特徴を 使って木を作成 5,4,10 番目の特徴を 使って木を作成 7,5,9 } ࢀߟจݙɿhttps://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassi fi er.html n_estimators max_depth bootstrap max_samples
  5. 参考文献 •Post pruning decision trees with cost complexity pruning •sklearn.tree.DecisionTreeRegressor

    •1.11. Ensemble methods •Random Forests Leo Breiman and Adele Cutler •Trevor Hastie ・Robert Tibshirani ・Jerome Friedman 著・杉山 将・井手 剛・ 神嶌 敏弘・栗田 多喜夫・前田 英作監訳・井尻 善久・井手 剛・岩田 具治・金森 敬 文・兼村 厚範・烏山 昌幸・河原 吉伸・木村 昭悟・小西 嘉典・酒井 智弥・鈴木 大 慈・竹内 一郎・玉木 徹・出口 大輔・冨岡 亮太・波部 斉・前田 新一・持橋 大地・山 田 誠訳 ”統計的学習の基礎: データマイニング・推論・予測”. 共立出版, 2014.