Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

合成変量とアンサンブル:回帰森と加法モデルの要点

15,119 views

Published on

機械学習における「木」や「森」のモデルの概要

[招待講演] 合成変量とアンサンブル:回帰森と加法モデルの要点
○瀧川一学(北大)

信号処理研究会(SIP)https://goo.gl/PxAbbK
2017年 6月19日(月) - 2017年 6月20日(火)
回路とシステム研究会(CAS)/
VLSI設計技術研究会(VLD)/ システム数理と応用研究会(MSS)

備考)
機械学習研究者・瀧川一学さん [北大人図鑑 No.5]
https://youtu.be/XNz3D26wy0o

Published in: Technology

合成変量とアンサンブル:回帰森と加法モデルの要点

  1. 1. 合成変量とアンサンブル:回帰森と加法モデルの要点 機械学習における「⽊」や 「森」のモデルの歴史と今 2017年6⽉19⽇(⽉) SIP研究会 招待講演 @ 新潟⼤学 • 決定⽊・回帰⽊の歴史と問題 • ⽊から森へ • バギングとランダムフォレスト • 勾配ブースティングとXGBoost • ランダム⽊とExtra Trees
  2. 2. 合成変量とアンサンブル
 回帰森と加法モデルの要点 北海道⼤学 / JSTさきがけ
 瀧川 ⼀学
  3. 3. 本⽇のトピック 機械学習における「⽊」や「森」のモデル ① 交互作⽤と合成変量 ② 決定⽊と回帰⽊ ③ 加法⽊と回帰森 〜⽊のアンサンブル♪〜 A. 決定⽊って古臭くない?枯れた印象で使ったこともない。
 →実は今、巷で⼤⼈気なんです! B. 結構気軽に使ってるけど背景・歴史や周辺を知らない。
 →普通の本にはあまり記述なくて悲しいので今⽇語りたい!
  4. 4. 本⽇お伝えしたい事 「⽊」や「森」っていいよね…
  5. 5. 余談: ところで… うちの研究室は決定⽊(正確には決定グラフ)が⼤好き 北海道⼤学情報科学研究科 ⼤規模知識処理研究室 ⼆分決定⽊ ⼆分決定グラフ ゼロサプレス型 無類のマニア M教授 (BDD) (ZDD) http://art.ist.hokudai.ac.jp/ 決定⽊をDAGで圧縮したデータ構造
  6. 6. 本⽇お伝えしたい事 (⾔い換え) 「決定⽊」や「回帰森」っていいよね… 主役は御三家の3⼈でしょうか!! ダンディーですね! https://en.wikipedia.org/wiki/Leo_Breiman Leo Breiman
 (1928 - 2005) Jerome H. Friedman
 (1939 -) https://statweb.stanford.edu/~jhf/ 今⽇は⽊や森の何がなぜ良いのかを語ります!! Ross Quinlan
 (1943 -) http://www.rulequest.com/Personal/
  7. 7. BreimanとFriedmanは2000年に理研で実物を⾒ました! Bernoulli-RIKEN Symposium on Neural Networks and Learning (by ⽢利先⽣)
 (Organizers: S. Amari, L. Breiman, S. Eguchi, M. Jordan, M. Murata, M. Titterington, V. Vapnik) 余談 ファンはついついBreimanの著作3冊を全部買ってしまう! Annals of Applied Statistics (Vol. 4, No. 4, December 2010) にBreimanの
 追悼特集があり、⾊々な関係者が思い出や歴史を語っています!ファン必⾒(?)
  8. 8. 余談 Quinlanの伝説の本 当時も「”機械学習”より”AI”って⾔う⽅が売れる」の病があった? 原著 1992年出版翻訳 1995年出版
  9. 9. 本⽇のトピック 機械学習における「⽊」や「森」のモデル ① 交互作⽤と合成変量 ② 決定⽊と回帰⽊ ③ 加法⽊と回帰森 〜⽊のアンサンブル♪〜 A. 決定⽊って古臭くない?枯れた印象で使ったこともない。
 →実は今、巷で⼤⼈気なんです! B. 結構気軽に使ってるけど背景・歴史や周辺を知らない。
 →普通の本にはあまり記述なくて悲しいので今⽇語りたい!
  10. 10. KaggleとKaggler Kaggle (カーグル) ※ケイグルと呼びたくなるしUSではそう呼ばれることも多いがfounder
  のGoldbloom⾃⾝がこのように呼ぶ (たぶんオーストラリア⼈だから) ※ 企業や研究者がデータを投稿し、世界中の統計家やデータ分析家がその最適 モデルを競い合う、予測モデリング及び分析⼿法関連プラットフォーム
 (賞⾦総額3億のHeritage Health Prizeなど⾼額賞⾦の予測コンペでも話題) • Kagglers … 実問題・実データに対してリアルに有効な機械学習 のbest practiceの探求のため世界中のツワモノ達が参加。 • 参加コンペの順位でポイントがつき、各Kagglerはその「強さ」 を⽰すユーザランキングを持つ。(ゲーマーのratingを想像して)
  11. 11. KaggleとKaggler What are your favorite machine learning algorithms? 名だたる有名組織や企業のData Scientistたちがしのぎを
 けずる世界の頂点「Rank #1」として君臨したことのある
 百戦錬磨世界最強の機械学習実践者であるKagglerたちに と聞いてみたら だった。(ヒント:Deep Learningではない) 注意:Kaggleで勝つのはめちゃめちゃ⼤変です(賞⾦かかってるし) 答えが全員同じ
  12. 12. それは回帰森Gradient Boosting Machine (GBM) http://blog.kaggle.com/2015/11/09/profiling-top-kagglers-gilberto-titericz-new-1-in-the-world/ Gradient Boosting Machines are the best! Before I knew of GBM, I was a big fan of neural networks. と聞いてみた It depends on the problem, but if I have to pick one, then it is GBM (its XGBoost flavor). http://blog.kaggle.com/2015/06/22/profiling-top-kagglers-owen-zhang-currently-1-in-the-world/ I like Gradient Boosting and Tree methods in general. http://blog.kaggle.com/2016/02/10/profiling-top-kagglers-kazanova-new-1-in-the-world/
  13. 13. みんな⼤好き!DMLCとXGBoost この⼈気の背景の⼀つにはXGBoostというGBMの実⽤的な実装がある • First ReleaseはMar 27, 2014, 以後DMLCで精⼒的な改良が続けられている。 • 2014年 Kaggle Higgs Boson Machine Learning Challengeで⼈気になり、
 それ以降様々なKaggleコンペの優勝戦略の必須要素として⽤いられている。
 https://github.com/dmlc/xgboost/tree/master/demo#machine-learning-challenge-winning-solutions • 学術的にはKDD2016で論⽂として発表(https://arxiv.org/abs/1603.02754) • 様々な⾔語(PythonのScikit-learnやRのcaretの呼出し含む)に対応 • DMLC(Distributed Machine Learning Community, http://dmlc.ml)という Large-Scaleな機械実装を⽬指すOpen-Source Projectの⼀つ • GPU対応や分散対応(Hadoop, SGE, MPI, YARN, Spark, Flink and Dataflow) • DMLCはmxnetという⾼速なDeep Learning実装等でも有名
  14. 14. ハイパフォーマンスGBMのニーズ • GBMの概要は後述するが歴史上の経緯で「⾊々な名前」で呼ばれる⼿法
 Gradient Boosting, GBM, GBDT/GBRT, MART, TreeNet, AnyBoost, … • 例えば、RのオリジナルのGBM実装や、Scikit-learnのGBMの実装もある が⼤規模な場合には特にXGBoostは⾮常に速い • ⼤規模なデータを扱う業態の場合、速くて⾼精度なのは特に魅⼒ • 最近MicrosoftのDMTK (Distributed Machine Learning Toolkit http:// www.dmtk.io )がLightGBMという実装をOpen-Source公開 • GBMのハイパフォーマンス実装のニーズが⼤きいことの現れ? • GBM(MART)の正則化にDropoutを導⼊した「DART」も実装 この⼈気の背景の⼀つにはXGBoostというGBMの実⽤的な実装がある
  15. 15. 本⽇お伝えしたい事 (⾔い換え) 「決定⽊」や「回帰森」っていいよね… 主役は御三家の3⼈でしょうか!! ダンディーですね! https://en.wikipedia.org/wiki/Leo_Breiman Leo Breiman
 (1928 - 2005) Jerome H. Friedman
 (1939 -) https://statweb.stanford.edu/~jhf/ 今⽇は⽊や森の何がなぜ良いのかを語ります!! Ross Quinlan
 (1943 -) http://www.rulequest.com/Personal/
  16. 16. 思い返せば、2006年 @ ICDM, Hong Kong どういう経緯で選ばれたかは論⽂になっています Wu+, Top 10 algorithms in data mining. Knowl Inf Syst (2008) 14:1–37 http://doi.org/10.1007/s10115-007-0114-2 注:微妙な点差…の点は⾒なかったことに #1 C4.5 #10 CART やっぱり「⽊」は⼈気なのであった!
  17. 17. 本⽇お伝えしたい事 「⽊」や「森」っていいよね…
  18. 18. 根(root) 葉(leaf) 森 = ⽊が複数 ⽊(tree) 森(forest) 節(node) 枝刈り (pruning) 「⽊」と「森」
  19. 19. 本⽇のトピック 機械学習における「⽊」や「森」のモデル ① 交互作⽤と合成変量 ② 決定⽊と回帰⽊ ③ 加法⽊と回帰森 〜⽊のアンサンブル♪〜 A. 決定⽊って古臭くない?枯れた印象で使ったこともない。
 →実は今、巷で⼤⼈気なんです! B. 結構気軽に使ってるけど背景・歴史や周辺を知らない。
 →普通の本にはあまり記述なくて悲しいので今⽇語りたい!
  20. 20. 「⽊」の系譜: 3つの起源 ID3 (Quinlan 1986) C4.5 (Quinlan 1993) M5 / ʻmodel treesʼ (Quinlan 1992) M5ʼ (Wang & Witten 1997) CLS (Hunt+ 1966) AID (Morgan & Sonquist 1963) The CLS family The AID / CART family THAID (Messenger & Mandell, 1972) CHAID (Kass 1980) CART (Breiman+ 1984) MARS (Friedman 1991) ⽊型線形回帰研究 (Breiman & Meisel 1976) ⽊型線形回帰研究 (Friedman 1979) LazyDT (Friedman+ 1996) Option Trees (Buntine 1992) also known as ʻand-or treesʼ C5.0/See5 (Quinlan) Cubist (Quinlan) RETIS (Karalic & Cestnik 1991) HTL (Torgo 1997) QUEST (Loh & Shih 1997) CTNNFE (Guo & Gelfand 1992) ❶「概念学習」(機械学習) ❷「交互作⽤同定」(統計学) ❸「⾮線形(ノンパラメトリック)回帰」(統計学) Classification Regression sideway… CRUISE (Kim & Loh, 2001)
  21. 21. HuntのCLS(Concept Learning Systems)は概念学習を⽬的としたプ ログラムで当時の⼈⼯知能研究の本流の論理的タスクを念頭にしてい た。だからその直系のID3は離散値の変数のみの想定で設計された。 原著1983年出版
 訳書1987年出版 「⽊」⼿法理解のための歴史的事情 70s〜90s
  22. 22. 「⽊」の系譜: ⾖知識? • ID3の実体は540⾏のPascalプログラムだった • ID3はIterative Dichotomiser 3に由来とわかっているがC4.5の名前の由 来をQuinlanは著作で語っていない。⼀説ではCは「C⾔語での実装」の意 で4.5はversionと⾔われている(当時C⾔語で実装することはちょっとし たステータスだったので⾔いたかった?)。それを踏まえて(?)Weka(Java) の実装はJ4.8と呼ばれている。 • HuntはQuinlanの学位論⽂の指導教官であるが、テーマはCLSやC4.5と は全く別らしく、共著論⽂から察するに「⾃動定理証明」と思われる。 • Breiman+のCART本の序によれば、彼らの研究はAID・THAIDの延⻑上 にあるが、1973年頃、BreimanとFriedmanは独⽴に研究を始めた(「⾞ 輪の再発明をした」と⾔っている)。その後、⼆⼈の研究は合流しStone が加わってCARTとしてまとまった。Olshenは医療応⽤で実際に⽊モデル をユーザとして使っており⼿法開発にContributerとして合流した様⼦。
  23. 23. 本⽇のトピック 機械学習における「⽊」や「森」のモデル ① 交互作⽤と合成変量 ② 決定⽊と回帰⽊ ③ 加法⽊と回帰森 〜⽊のアンサンブル♪〜 Q. 決定⽊って古臭くない?
 →実は今、巷で⼤⼈気なんです! Q. 結構気軽に使ってるけど背景・歴史や周辺を知らない?
 →普通の本にはあまり記述なくて悲しいので今⽇語りたい!
  24. 24. 何らかの「変数間の”絡み”」(交互作⽤=interaction)の表現が必要 他の変数の値と独⽴に効果を与える 線形モデルでは他の変数値に依存した条件付き効果は表現できない 
 (e.g. XORやParityの学習) が1増えたら が  増える 線形モデルと交互作⽤(Interaction) の値が⼤きいときと⼩さいときで の値を変えたりできない ⼀般の現実データのモデルでは… 線形モデル
 (Perceptron)
  25. 25. どんな識別写像ならʼ学習可能ʼ なのかに関する数学的検討結果
 (⾮常に⾯⽩い本) Minsky & Papert, Perceptrons, 1969 ⼊⼒画像を0/1画像とすれば これは「論理関数の学習」の
 問題 (確率・統計と関係ない) 余談 AI冬の時代をもたらしたとされる例のアレ?
  26. 26. 交互作⽤(Interaction)と合成変量 線形モデル + 交互作⽤項 ポイント:⺟数に関しては線形のまま (⾮線形モデルではない!) 積項を合成特徴量として 加えれば単なる線形学習 合成の仕⽅(交互作⽤項)が⾮線形(例えば積項)である点が⾮常に重要! 積項に替えて⼀般の合成変量を使う 変換操作⾃体を関数とし陽に求めない 派⽣形 が1増えたら が 増える GAM (⼀般化加法モデル) カーネル法
  27. 27. 参考) FM (Factorization Machines)と多項式回帰 • カーネル法(SVMやカーネル回帰): 有⼒な⽅法だが、計算に通常 サンプル数の⼆乗のオーダがかかり実データにスケールしない… • 変数の絡みを直接考慮する⽅法としては最近Factorization Machines(Rendle, 2010)もKaggleなどで⼈気 • libfm(FM)やlibffm(Field-Aware FM)という実装がある • Rendleさん(現Google)はFM発表時、阪⼤産研(鷲尾研)所属 2次PolyReg 2次FM (低rank) Matrix Factorization 効率的計算, スパースモデリング, Overfit回避のメリット
  28. 28. 確認:合成変量を加えればただの線形計算 に2次曲線を当てはめよ 多次元でも要領は同じ 合成変量はいろいろ有り得る (当てはめる関数形を変えられる) Note: GAM(スプライン回帰等)やカーネル回帰も線形計算でいける
  29. 29. 加法⽊/回帰森のイメージ … 注:係数掛けてもいいけど各ノード値に定数かけるのと同じなので 表記の問題で気にしなくてよい 回帰⽊ 対応する再帰分割 “閾値関数の交互作⽤項のみの関数系” … 0-1変量の(重み付きの)積和形
  30. 30. 加法⽊/回帰森のイメージ … Bagged Trees, Boosted Trees, Gradient Boosted Trees (GBM), Random Forests, Extra Trees, Regularized Greedy Forests, … “閾値関数の交互作⽤項”の加法形
  31. 31. 本⽇のトピック 機械学習における「⽊」や「森」のモデル ① 交互作⽤と合成変量 ② 決定⽊と回帰⽊ ③ 加法⽊と回帰森 〜⽊のアンサンブル♪〜 Q. 決定⽊って古臭くない?
 →実は今、巷で⼤⼈気なんです! Q. 結構気軽に使ってるけど背景・歴史や周辺を知らない?
 →普通の本にはあまり記述なくて悲しいので今⽇語りたい!
  32. 32. 決定⽊
  33. 33. 決定⽊
  34. 34. 決定⽊
  35. 35. 決定⽊
  36. 36. 回帰⽊ 0.5 -0.5 ここにきた サンプル の平均値 ここにきた サンプル の平均値
  37. 37. 回帰⽊ 0.5 -0.8-0.1
  38. 38. 回帰⽊ -0.8-0.10.10.8
  39. 39. 回帰⽊ -0.10.10.8 -0.5-0.9
  40. 40. 回帰⽊ (2次元) Tree Depth = 3Tree Depth = 1 Tree Depth = 5 http://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html Gradient Boosting explained [demonstration] Depth>2の場合, 交互作⽤(変数間の絡み)の表現が可能!
  41. 41. Automatic Interaction Detection (AID) 回帰⽊ AID (Morgan & Sonquist 1963) 決定⽊ Theta AID (Messenger & Mandell, 1972) ここまでは交互作⽤同定の⼿法として70sには既に出ていたアイデア 統計学界で発表されたが、たいして注⽬されなかった上、結構(ボ ロクソな?)批判を浴びる… 😫 • AIDはoverfitすることをsimulationで指摘 (Einhorn, 1972) • ⾼い相関を持つ変数が存在する場合、⽚⽅しか⽊に現れないʼmaskingʼ の問題)ので変量の解釈(重要性)について、偽の結論(spurious conclusion)を与えてしまう (Doyle, 1973) • 「データはある分布からの標本」という基本概念, データに内在す るʼsampling variabilityʼを無視している (Bishop+, 1975)
  42. 42. ⽊業界(?)の⼆⼤スター: CARTとC4.5 CART (Breiman, Friedman, Olshen, Stone 1984) C4.5 (Quinlan 1993) • 学習が⾼速、変数の単調変換に対して不変、離散・連続を同時 に扱える、⽋損値・異常値OK • コンピュータの広まりに伴い、統計学の前提から逸脱するデー タが世の中に出はじめた (学術的対象から実社会のツールへ) • 伝統的な統計学は、⼿元にある少ない事例からʼ⼿元にないことʼ を語るという無理設定を乗り越えるため、精密な実験計画を通 して無作為抽出性・正規分布性を担保したデータを(時に暗黙に) 前提としていた
 (だから標本数が10〜20個でもデータの背後について語れる)
  43. 43. ʻTwo Culturesʼ 「統計学・モデリング」vs「機械学習・データマイニング」!? ↓これをもじってるL. Breiman, Statistical Modeling: The Two Cultures. 
 Statist. Sci. 16(3), 2001, 199-231. Jerome H. Friedman, Data mining and statistics: Whatʼs the connection? Proc. the 29th Symposium on the Interface Between Computer Science and Statistics, 1997. 「意思疎通ができないような、また意思疎通しようとしないような⼆つの⽂化の存在は危 険である。科学がわれわれの運命の⼤半、すなわちわれわれの⽣死を決定しようという時 代に、単に実際的な⾯からだけ考えても、それは危険なことである。(C. P. SNOW)」 ちなみに、有名なコレは“⾃然科学”(理系) vs “⼈⽂科学”(⽂系)の話
  44. 44. CARTとC4.5 AID・THAIDと(Split基準や2分/多分の他に)何がちがう? ややこしポイント:いずれも本+実装で有名に • CARTとは⼿法名ではなくフレームワーク名 • C4.5とは⼿法名ではなくプログラム名 エントロピー, Gini指数, 分類誤差, etc. ←6割ソースコード←理論解析を含む多様な分析 CART® MARS® TreeNet® Random Forests® Salford Systems社の商品 登録商標! C4.5 Release 8.0 をGPLで公開 RuleQuest社 開発14年の細かい
 技術知識の集⼤成
 (学術書より技術書 の雰囲気…) 例:CARTのBayes-risk consistency (Gordon & Olshen 1978, 1980)
  45. 45. CARTとC4.5の主な特徴 ❶ ボトムアップな”枝刈り(pruning)” ❷ Missing Valueへの対応 Tree GrowthをStopping Ruleで停⽌するのではなく
 ⼀旦成⻑しきってから「刈り込み(prune)」 Cost Complexity Pruning (CART) vs Error-Based Pruning (C4.5) 代⽤分割/Surrogate Split (CART) vs 確率的処理(C4.5) ❸ 結果の解釈 (アナリストへのinsightの提供) 現実的なシステムでは必須の機能 Variable Importance (CART) vs If-Thenルール出⼒・縮約 (C4.5) ⽊のSimplification…Data Miningツールは分析結果をどう提⽰すべき?
  46. 46. 予測の分散が⾮常に⼤きい。データが少し違うだけで⼤きく
 異なる分割を与えうるため、解釈はある種当てにならない! • 最適な決定⽊構成はそもそもNP困難 (Hyafil & Rivest 1976) • 広く使われる決定⽊学習アルゴリズムはGreedyな再帰分割 • ⽊学習に関するアルゴリズム研究へ • 厳密法の例: OPT (Bohanec & Bratko 1994), DL8 (Nijssen 2007) • 効率化の例: Rainforest (Gehrke+ 2000), GATree (Papagelis+ 2000) CARTとC4.5の主な問題:離散的⽅法の代償 ❶ ⽊構造の不安定性 (Instability of Structures) ❷ 計算の効率性 (Computational Efficiency) • 森(⽊のEnsemble)研究の⼤きな動機:Permutation Test等による安 定化(CTREE等)は可能だが本質的な不安定性が解消するわけではない
  47. 47. ʼ斜め(oblique)が不得意ʼ(低平滑性)の問題… • ʻObliqueʼ decision trees: OC1 (Murthy+ 1993) • Rotation forest (Rodriguez+ 2006) • 低次PCA成分など線形合成変量を加える? • 線形モデルとBlending(Stacking)する? 対応法
  48. 48. (当然の)拡張:モデル⽊と多変量⽊ • M5 (Quinlan, 1992)
 → Open-Source実装
 M5ʼ (Wang & Witten 1997) ❶単変量によるSplitでいいの? ❷定数値による予測でいいの? Multivariate Trees
 (線形分割など多変量で置換) Model Trees
 (線形回帰などで置換) • FACT (Loh & Vanichsetakul, 1988) • RETIS (Karalic & Cestnik 1991) • QUEST (Loh & Shih, 1997) この❶と❷の⼯夫で実⽤的な 良いモデルが作れるものかは
 ⽊業界最⼤のOpen Problem
 → 現状ではこの⽅向は下⽕で⽊は 単純化して森(ensemble)で対処
  49. 49. CART・C4.5以後の展開 その他、⾊々な研究は出ているものの…
 CTREE (Hothorn+ 2006), MOB (Zeileis et al., 2008), ADTree (Freund & Mason 1999), etc. M5 
 → HTL (Luís Torgo) … 葉に任意の回帰モデル RETIS
 → QUEST→CRUISE→GUIDE (Wei-Yin Loh) 
 …線形分割も含み、不偏な推定を得る回帰⽊ 主には現状「⽊から森(ensemble)へ」(後述)
  50. 50. C4.5以後のQuinlan: C5.0/See5とCubist C5.0/See5 Cubist 参考) Rのʼcaretʼ http://www.rulequest.com/see5-info.html http://www.rulequest.com/cubist-info.html • C4.5の改良: C5.0(Linux版), See5(Windows版) • Single Thread Linux版のみGPLで公開 • ⼩さい⽊を⽣成, 速い, 省メモリ, Boosting⼊り, … • 回帰 (M5の延⻑線上のモデル⽊) • Single Thread Linux版のみGPLで公開 • 同じく, 速い, ⾼効率? 再掲:C4.5とはプログラムの名前(XGBoost等もだけど)
  51. 51. 本⽇のトピック 機械学習における「⽊」や「森」のモデル ① 交互作⽤と合成変量 ② 決定⽊と回帰⽊ ③ 加法⽊と回帰森 〜⽊のアンサンブル♪〜 Q. 決定⽊って古臭くない?
 →実は今、巷で⼤⼈気なんです! Q. 結構気軽に使ってるけど背景・歴史や周辺を知らない?
 →普通の本にはあまり記述なくて悲しいので今⽇語りたい!
  52. 52. ⽊から森へ:加法⽊/回帰森のイメージ … Bagged Trees, Boosted Trees, Gradient Boosted Trees (GBM), Random Forests, Extra Trees, Regularized Greedy Forests, … 各々の⽊は単純化して森(⽊のensemble)にする
  53. 53. 1次元の回帰⽊の印象… どうがんばっても
 カクカクするのでは… 横棒しか引けないのは
 しょぼすぎな気が… • MARS • バギング • ブースティング
  54. 54. 回帰⽊ vs Overfitted
  55. 55. 回帰⽊ vs MARS MARS (Multivariate adaptive regression splines) ※ MARSは⼀⾒分かりづらいが回帰⽊の亜種とみなすことが可能
  56. 56. y=0 y=0.89 + -0.36 max(0,x-0.99) + -0.88 max(0,0.99-x) y=1.23 + -0.59 max(0,x-0.99) + -1.32 max(0,0.99-x) + 1.41 max(0,x-4.96) y=0.98 + -0.23 max(0,x-0.99) + -1.0 max(0,0.99-x) + 1.69 max(0,x-4.96) + -0.51 max(0,x-2.31) y=0.95 + -0.12 max(0,x-0.99) + -0.96 max(0,0.99-x) + 0.77 max(0,x-4.96) + -0.79 max(0,x-2.31) + 0.87 max(0,x-2.31) y=0.66 + --0.29 max(0,x-0.99) y=0.94 + -0.08 max(0,x-0.99) + -0.94 max(0,0.99-x) + 0.91 max(0,x-4.96) + -0.92 max(0,x-2.31) + 0.49 max(0,x-2.31) + 0.34 max(0,x-2.31) ❶ ❶ ❷ ❸ ❹ ❺ ❻ ❷ ❸ ❹ ❺ ❻
  57. 57. 回帰⽊ vs Bagged Trees Bagging (ブートストラップ標本上のモデル平均化)
  58. 58. 回帰⽊ vs Random Forests 注:この場合1次元なのでmisleadingなことはヒミツ Bagging + Feature Bagging (a.k.a Random Subspace法)
  59. 59. 回帰⽊ vs Gradient Boosted Trees (GBM) Boosting
  60. 60. 「森(アンサンブル)」の作り⽅ ❶ バギング/ペースティング/ランダムフォレスト ❷ ブースティング/アーキング ❸ ランダム⽊ データ どうやって
 森を⽣成する? … 「データからランダムリサンプル→⽊を⽣成」を繰り返す 「⽊を⽣成→これまでに⽣成した⽊(森)で説明できない部分 を説明する⽊を⽣成」を繰り返す 「毎回異なる乱数とデータを使って⽊を⽣成」を繰り返す
  61. 61. ❶バギング Bagging = Bootstrap Aggregating (ブートストラップ集約) 推定された予測関数の分散を低減させるための⼿法
 (CARTのような⾼分散、低バイアスの⼿法に対して有効) 例) 決定⽊は予測分散が⼤きい
 = サンプルが少し変化すると⽊も変化してしまう。 n個のサンプルの各々が
 「選ばれない」確率 ブートストラップ ⼿元の訓練データn個から 重複を許してn個リサンプル
 (3割くらいをランダムに抜く
 操作にだいたい相当) ※ 重複を許さない版をPastingと呼ぶ ブートストラップ標本から学習したモデルを平均するだけ!
  62. 62. ❶バギング ブートストラップ標本から学習したモデルを平均するだけ!
  63. 63. ❶バギング: Bias-Variance分解 分散が 1/10に c.f. Bagging (Bootstrap集約)
 この感じをBootstrapで経験分布 からのリサンプリングでやる 最適値 High bias High variance Low bias High variance High bias Low variance Low bias Low variance 標本から の推定値 予測の偏り(bias)と分散(variance)は同時には⼩さくできない
  64. 64. バギングの効果は各々の弱学習器が独⽴のとき最も⾼い
 → 現実的には⽊同⼠が似通ってしまい⾼い相関を持ってしまう… バギングの効果:分散がσ2 のB個の確率変数の平均値の分散 独⽴同⼀分布に従う場合 正の相関ρを持つ場合 各スプリット時に毎回⼊⼒変数のSubsetをランダム選択(Subsetサイズ は通常√特徴数だが調整可能パラメタ)することで、⽣成される⽊の相関 を低くしてバギング効果を⾼める! ❶バギング: ランダムフォレスト (森の⽊々には⽣物多様性が必要だよね) ランダムフォレストのアイデア Feature Bagging/Random Subspace
  65. 65. 「森(アンサンブル)」の作り⽅ ❶ バギング/ペースティング/ランダムフォレスト ❷ ブースティング/アーキング ❸ ランダム⽊ データ どうやって
 森を⽣成する? … 「データからランダムリサンプル→⽊を⽣成」を繰り返す 「⽊を⽣成→これまでに⽣成した⽊(森)で説明できない部分 を説明する⽊を⽣成」を繰り返す 「毎回異なる乱数とデータを使って⽊を⽣成」を繰り返す
  66. 66. ❷ブースティング バギングは平均化ブースティングは最適化 例: 勾配ブースティング (Friedman 1999; Mason+ NIPSʼ99) … 「現在までの森」で説明が不⼗分な箇所を説明する⽊を逐次追加し修正していく 「現在までの森」 ⽊ ⼿法の差:どのように新⽊を⽣成するか?係数をいつどのように決めるか? GBM/Gradient Tree Boosting, GBDT/GBRT, MART, TreeNet, AnyBoost, … (ややこしポイント:歴史的経緯で様々な名前が…)
  67. 67. ❷ブースティング: 勾配ブースティング(GBM) ⽊  をパラメタとする最⼩化 (最適化)したい⽬的関数 最適化のための勾配降下の更新 勾配ブースティング
 (Friedman 1999; Mason+ NIPSʼ99) 真の関数は不明で訓練データ上の関数値のみが ⼿に⼊る状況 → 回帰⽊で近似(教師付き学習)
  68. 68. ❷ブースティング GBM, 勾配ブースティング http://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html 勾配を良く近似する回帰⽊ … … ⼆乗誤差の場合、真のyとの差分
  69. 69. 性質の例
  70. 70. ❷ブースティング: 派⽣型の⽊アンサンブル • Regularized Greedy Forests, RGF 
 (Johnson & Zhang 2014) 各反復: 葉split or 新⽊⽣成 • Importance Sample Learning Ensemble, ISLE 
 (Friedman & Popescu 2003) • 部分標本(1/2サイズ以下)に対して⽊をBoostingで⽣成 • 多数⽣成し終わったらLASSOで係数を決めて加法⽊に → ⼩さい森を⽣成可 • GBMでは森(加法⽊)の構成のため⽊を逐次的に追加
 vs RGFでは森全体を直接にGreedy最適化 • 勾配ブースティングではなくFully Correctiveな
 ブースティング(⽊の係数を毎回Update)
  71. 71. • ブースティング or バギング(ランダムフォレスト)の問題の対処 ❷ブースティング: XGBoostの何が嬉しいか • Hyperparameter Tuningの問題に落とせる • エンジニアリング的な学習計算の⾼速化・効率化の⼯夫 XGBoost (Chen & Guestrin KDDʼ16) パラメタ調整で広い表現が可能 + Bayesian最適化等も併⽤化 通常、森⽣成では各⽊のサイズ・深さ・葉ノードの最⼩サ ンプル数, などなどの「陽な構造制約」で複雑度を調整する → XGBoostでは更にL2正則化など⽬的関数⾃体に正則化 • ⽊⽣成に陽な正則化が可能 BaggingとFeature Baggingも調整パラメタで実施でき、 バギングのほうが精度が出る問題に関しても対応可
  72. 72. 「森(アンサンブル)」の作り⽅ ❶ バギング/ペースティング/ランダムフォレスト ❷ ブースティング/アーキング ❸ ランダム⽊ データ どうやって
 森を⽣成する? … 「データからランダムリサンプル→⽊を⽣成」を繰り返す 「⽊を⽣成→これまでに⽣成した⽊(森)で説明できない部分 を説明する⽊を⽣成」を繰り返す 「毎回異なる乱数とデータを使って⽊を⽣成」を繰り返す
  73. 73. ❸ランダム⽊: ランダム合成変量(ELM & RC) → 交互作⽤を取込めてバリエーションがあればOKなら、もしか してランダム変換で良いのでは?という極論 (実際に結構良い) : : : FC FC : : FC FC Extreme Learning Machine, ELM
 (Huang 2006) Reservoir Computing, RC
 (e.g. Schrauwen+ 2007) ⼊⼒ 出⼒ 時系列 ⼊⼒ 出⼒ ランダム初期化(学習しない)ランダム初期化(学習しない) 背景: Random Projectionsの⾼い有効性 ランダム結合 変数間の交互作⽤を取り込みたいが、やり⽅は無限にある… 例) 多項式/積項なら何次まで? カーネル法やGAMなら関数型は?
  74. 74. ❸ランダム⽊ • Extremely Randomized Trees (ExtraTrees, Geurts+ 2006) • Variable Random Trees (VR Trees, Liu 2008) 各splitで、対象変数 と閾値 の いずれも完全にランダムに決める。 確率pでCARTのノード分割、
 確率1-pでExtraTreesのノード分割
  75. 75. Accuracy Time Constant 0.10 6.76 ms Decision Tree 0.88 20.1 s Random Forest 0.97 41.7 s Extra Trees 0.97 41.5 s XGBoost 0.94 21m 12s GBM 0.95 45m 36s k-NN 0.97 29.9 s SVM 0.94 8m 40s パラメタ調整なしで、あくまで参考値 MNIST 784次元 (28x28画像)
 訓練60000個 テスト10000個 蛇⾜: 問題が分類なら よほど⼤規模でない限り
 k-NNは必ず試すべき (アホみたいな⽅法だが
 理論的に深く良い⽅法)
  76. 76. 「解釈性/説明性/透明性」という神話 • そもそも「解釈性」とは定義が不定・主観的でアヤシイ概念… • ⽊型アンサンブルの解釈性の担保 • Feature Importance • Partial Dependence Plot (PDP) • 交互作⽤の共起も頻度解析できる? https://arxiv.org/abs/1606.03490 The Mythos of Model Interpretability • 決定⽊は「解釈性が⾼い」と⾔われるが不安定性の問題があり、⽊の
 構造は偶発的ノイズで⼤きく変わり得るため、ほとんど当てにならない
 → 森(Ensemble)の指標のほうが良い? 「何を」「何のために」解釈する? 2016 ICML Workshop on Human Interpretability of Machine Learning • データ背後の法則性が⼈間に解釈可能なほど単純化可能とは限らない
  77. 77. 決定⽊単独の場合、⽊の構造を⾒れば解釈は⾮常に容易であるが
 複数の⽊の組合せの場合は別の⼿法で説明する必要が⽣じる。 • データマイニングでは⼊⼒変数がすべて均⼀に応答Yに影響が
 ある場合はほとんどなく、ほんの⼀部の変数のみが応答Yに
 決定的な影響を与える。 • 変数Xjのfeature importance = sqrt(⽊の節の中でXjが選ばれた節 の「⼆乗誤差の改善」の平均値) …importanceの定義は⾊々ある • 部分依存図(partial dependency plot, PDP):変数Xjの値が変化する と応答Yがどのように変化するか (⽊から⾼速に計算可能) Feature ImportanceとPartial Dependency Plot
  78. 78. Feature ImportanceとPartial Dependency Plot Feature Importance(相対的影響度)・Partial Dependency Plot (部分依存図)の実例
  79. 79. 備考) Stacking/Blending: メタ特徴アンサンブル Netflix Prizeなど競技コンペ技術Stacking/Blendingとして広まった 訓練サンプル1 訓練サンプル2 訓練サンプル3 訓練サンプル4 訓練サンプル5 訓練サンプル6 訓練サンプル7 訓練サンプル8 訓練サンプル9 訓練サンプル10 任意の予測器 ただしこのサンプルは 予測器の学習に使⽤しない (Out-of-Sample Estimate) この予測値⾃体を追加特徴量に
 (メタ特徴量) 学習 ⼊⼒ CV予測 Stacked Generalization(Wolpert 1992; Breiman 1996)
  80. 80. 典型的Churn Predictionタスク: MOOC(XuetangX)のdropout確率予測 (賞⾦$20,000) Techniques (Tricks) for Data Mining Competitions ⼩嵜 耕平(@smly) 参加821チーム中の優勝者の最終モデル構成(+ちょっとleakyな特徴量が効いた様⼦?) • 最終層Linear Stacker • 3段Stackingだが最終
 Stackerには1層,2層の
 メタ特徴も⼊れる • GBMやNN + LR のStack重要 • バリエーションが⼤事(たぶん) • 個⼈的にはKRRではなく ET(Extra Trees)が2段⽬でも 使われたのが興味深い… Case Study: KDDCup 2015 優勝戦略 https://speakerdeck.com/smly/techniques-tricks-for-data-mining-competitions
  81. 81. Decision Jungles 
 (Shotton+ NIPS 2013)
 → Microsoft Azure MLで使える Deep Forests 
 (Zhou & Feng IJCAI 2017) Deep Neural Decision Forests 
 (Kontschieder+ ICCV 2015) 当然の流れ:”Deep化”と技術研究 (今後に期待!) 森はいいけど深い森の闇は深いかも…😏 富⼠樹海の⽴て看板 http://kaigai-matome.net/ archives/35551967.htmlDeep Convolutional Decision Jungle
 (Baek+ 2017)
  82. 82. まとめ:いやあ、「⽊」や「森」っていいよね… → 機械学習における「⽊」や「森」のモデル ① 交互作⽤と合成変量 ② 決定⽊と回帰⽊ ③ 加法⽊と回帰森 〜⽊のアンサンブル♪〜 合成変量とアンサンブル: 回帰森と加法モデルの要点 初めて⽊や森の存在を知った⽅や⾷わず嫌いだった⽅は
 PythonやRで⾮常に簡単に使えるので使ってみてください!
  83. 83. おまけ:離散構造(⽊, 森, グラフ)を伴う機械学習 [北⼤⼈図鑑 No.5]
 機械学習研究者・瀧川⼀学さん
 情報科学研究科 情報理⼯学専攻
 准教授 3つのキーフレーズ: 1.ネットワーク構造をともなう機械学習 〜⼤規模データが異分野の境界領域をつなぐ〜 2.ドイツ、⾳楽、娘の成⻑から感じるAIの哲学とは? 3.熟練の経験と勘を、だれもが使えるツールに http://costep.open-ed.hokudai.ac.jp/like_hokudai/contents/article/1218/ https://youtu.be/XNz3D26wy0o

×