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.

10分でわかるRandom forest

8,047 views

Published on

Random forestが10分でわかるようにまとめました。Random Forestが解く対象は識別問題のみとしています。はるか昔に作った資料なので、今になっては読者の皆様にとってお役に立てるかはわかりません。

Published in: Data & Analytics
  • Be the first to comment

10分でわかるRandom forest

  1. 1. 10分でわかる Random Forest 尾崎安範
  2. 2. Random Forest  識別問題と回帰問題が一般的に解ける機械学習モデル  従来手法(SVM)と比べてのメリット  特徴量の重要度がわかる  学習にかかる計算量が比較的少なく、分散処理が簡単  学習とモデルの性能評価が同時にできる  アルゴリズムがシンプルなのでカスタマイズしやすい  おすすめの使い方  がんばって集めた数百~数万個のデータをもとに問題を解いてみたい、 かつ、原因も分析したいときの一手目 Random Forestとは ※識別問題:入力データから離散的な値を推定する問題(e.g., リンゴかミカンかを見分ける問題) ※回帰問題:入力データから連続的な値を推定する問題(e.g., リンゴの糖度を見た目から推定する問題) ・・・ 決定木1 決定木2
  3. 3. Random Forestの活用例  基礎研究よりも応用研究・実務向けで活躍  応用研究・製品例:Kinectの姿勢推定 [1]  トップカンファレンスCVPR 2011のベストペーパー  モーションキャプチャの値段を3000万円から2万円にした  趣味例:競技系プログラミング( KaggleやTopCoder)  デフォルトのアルゴリズム扱い。 ほかのアルゴリズムと組み合わせるとつよい (e.g., stacking, blending) [1] Shotton et al., “Real-Time Human Pose Recognition in Parts from Single Depth Images”, 2011, CVPR (Best Paper) [1]より引用
  4. 4.  文字認識を解く実装 識別フェーズ学習フェーズ 機械学習ライブラリ(Scikit-learn)に よる実装例 Random Forest 学習済Random Forest 0 # -*- coding: utf-8 -*- #おまじない from sklearn import datasets from sklearn.ensemble import RandomForestClassifier #データセット読み込み digits = datasets.load_digits() #モデル生成 classifier = RandomForestClassifier() #学習フェーズ classifier.fit(digits.data,digits.target) #識別フェーズ result = classifier.predict(digits.data[0]) print result http://scikit-learn.org/0.11/auto_examples/plot_digits_classification.htmlより図を引用
  5. 5. Random Forestのアルゴリズム概要: 識別問題編  学習フェーズ  たくさんの決定木をそれぞれにランダム要素を入れて作る  決定木:if文っぽく識別問題を解くモデル  例:文字認識の決定木 (特徴量はあくまでイメージです) Random Forest ・・・ 決定木1 決定木2 丸の数≧2 丸の数<2 細長い=はい 8 1 細長い=いいえ 4
  6. 6. Random Forestのアルゴリズム概要:識 別問題編  識別フェーズ  各決定木に入力データを入れて、多数決をとる 学習済みRandom Forest 決定木1 決定木2 0 0 6 多数決 決定木3 0
  7. 7. まとめ  Random Forest  識別問題と回帰問題が一般的に解ける機械学習モデル  画像認識以外にも自然言語処理などにも使えます  詳しい使い方は相談ください  うまく使うには前処理やパラメータ調整などの ノウハウが必要となります Random Forest ・・・ 決定木1 決定木2
  8. 8. 参考文献 [1] Leo Breiman, “Random Forest”, http://link.springer.com/article/10.1023%2FA%3A101093340 4324 [2] 藤吉弘亘, “CVIMチュートリアル”, http://www.vision.cs.chubu.ac.jp/CVTutorial/PDF/04Rando mForests.pdf
  9. 9. おまけ
  10. 10. どんなやつがかいてるのこの文章  尾崎安範  某民間研究所  専門はロボットによるマルチモーダル・インタラクション  Random Forest歴:3年
  11. 11. 主観と偏見に満ちた 各アルゴリズムのメリット・デメリット Random Forest 非線形SVM ディープラーニング (多層CNN+全結合層) 汎化能力 ○ ○ ○○○ 前処理の手間 △ × △ 学習時間 ○ △ × 原因分析しやすさ ○ ×× × 認識時間 ○ ○ △ 少量のサンプルで学習可 △ △ ×× (最低数万、 できれば数千万) パラメータ調整が楽 △ × ××(黒魔術)

×