Save 37% off PRO during our Black Friday Sale! »

決定木に含まれるパラメタによる事前剪定と事後剪定

Fd6de6cbad68e7898078f548b6dd894c?s=47 K
October 23, 2021

 決定木に含まれるパラメタによる事前剪定と事後剪定

事前剪定(pre-pruning)と事後剪定(post-pruning)をするパラメタについて、それらが決定木にどのような影響を与えるかを可視化します。

動画:https://youtu.be/AOEtom_l3Wk
コード:https://k-datamining.github.io/dm-book/data-analysis/materials/tree/%E9%81%8E%E5%AD%A6%E7%BF%92%E3%82%92%E9%98%B2%E3%81%90%E3%81%9F%E3%82%81%E3%81%AE%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF.html

Fd6de6cbad68e7898078f548b6dd894c?s=128

K

October 23, 2021
Tweet

Transcript

  1. 木構造3 木構造3 IUUQTXXXZPVUVCFDPNDIBOOFM6$'Z7#W;#F&C/'TY'SH 過学習  の対策 過学習  の対策

  2. 決定木の各部分の名称 条件分岐を組合せて結論を導く木構造の予測モデル 根(root node/the root) 気温は25℃超えてますか? 夏 湿度は50%超えてますか? No Yes

    気温は15℃超えてますか? クーラーをつけてますか? 夏 春 春 春 No Yes No Yes No Yes 枝(branch) ノード(node) 葉(leaves/leaf nodes) 深さ(depth) 前回までのおさらい
  3. 決定木を用いた回帰 特徴量の空間を複数の領域に区切る境界を作り、各領域の平均値を出力する Scikit-learn と https://github.com/parrt/dtreeviz を使用して可視化しています コードは概要欄のリンクから参照してください 前回までのおさらい

  4. 今回の内容 •モデルの複雑さと関係があるパラメータ •回帰木のpruning •コスト・複雑さ剪定(cost-complexity pruning) 木が過学習しないようにするためのパラメータについて 過学習した決定木の決定境界の例

  5. モデル複雑さと関係するパラメタ

  6. max_depth 木の最大深さを指定するパラメータ max_depth = 5 max_depth = 10

  7. min_samples_split 分岐を作るときに必要な最小データ数を指定するパラメタ min_samples_split = 2 min_samples_split = 50

  8. max_leaf_nodes 葉の数を制限する max_leaf_nodes = None max_leaf_nodes = 5

  9. criterion 誤差の計算方法を指定する criterion =′  squared_error′  このページのみ、差を示すためにデータの一部を加工しました。 全体の1%のデータの正解を5倍にして外れ値を作成しています。 criterion

    =′  absolute_error′  外れ値に対応するための分岐が作成されている 分岐は作成されていない ▼『線形回帰3:ロバストな回帰』より 二乗誤差は外れ値の影響を大きく受ける
  10. ccp_alpha コスト・複雑さによって木を枝刈りする ccp_alpha = 0 ccp_alpha = 0.4 Cost-Complexity Pruning

  11. 回帰木のpruning

  12. 事前剪定(pre-pruning)の事後剪定(post-pruning) 木を作る前に制約をつけるか、木を作った後で情報の少ない枝を削除するか max_depthを予め制限する = pre-pruning ccp_alphaの値をもとに 木を作った後で情報量が少ない箇所を削除 = post-pruning

  13. Cost-complexity pruning 葉の数 を考慮して木に点数をつけ、それが最小になる木を選択する |T| Cα (T) = Σ|T| m=1

    Nm Qm (T) + α|T| 気温は10℃超えてる? 50 気温は20℃超えてる? No Yes 気温は0℃超えてる? 25 3 10 No Yes No Yes 葉の数 葉ごとの葉の平均値と 各データの二乗誤差 =葉mに該当するデータ数 =葉mに該当するデータの平均値 =決定木のm番目の葉が表現している領域 Nm ̂ cm Rm Qm (T) = 1 Nm Σxi ∈Rm (yi − ̂ cm ) |T| = 4 が大きいほどシンプルな木が選ばれる α ※ ࣜ͸ Trevor Hastie ɾRobert Tibshirani ɾJerome Friedman ஶ ”౷ܭతֶशͷجૅ: σʔλϚΠχϯάɾਪ࿦ɾ༧ଌ”. ڞཱग़൛, 2014. 9ষ ͷ΋ͷΛࢀর͍ͯ͠·͢
  14. Cost-complexity pruning 葉の数 を考慮して木に点数をつけ、それが最小になる木を選択する |T| Cα (T) = Σ|T| m=1

    Nm Qm (T) + α|T| 気温は 気温は 気温は 気温は 気温は 気温は 気温は 気温は 気温は … Cα (T) = 10000 Cα (T) = 7000 Cα (T) = 17000 Cα (T) = 35000 の増加が最小の葉をまとめる (最弱リンク刈り:weakest link pruning) Σm Nm Qm (T)
  15. まとめ 決定木における過学習の抑制方法について説明しました •事前剪定(pre-pruning)とは、木を作る前に制約をつけて過学習を抑える方法 •max_depthは木の深さを制限する •min_samples_splitは分岐を作る時のデータ数の下限を指定する •事後剪定(post-pruning)とは、木を作った後に葉をまとめていく •ccp_alphaは葉の数に対してペナルティをつけるためのパラメタであり、値が大き いほどシンプルな木になる

  16. 参考文献 •Post pruning decision trees with cost complexity pruning •sklearn.tree.DecisionTreeRegressor

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