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.

機械の代わりに人間が学習入門

17,918 views

Published on

How do the engineers learn machine-learning?

Published in: Technology
  • Be the first to comment

機械の代わりに人間が学習入門

  1. 1. 機械 の代わりに人間が 学習入門~エンジニアが機械学習を学ぶには~ 2011/1/16中谷 秀洋 (@shuyo / id:n_shuyo) サイボウズ・ラボ株式会社
  2. 2. 専門外のエンジニアが 機械学習を学ぶとき気をつけておきたいこと
  3. 3. 専門外のエンジニアが 機械学習を学んで 何が嬉しいの?
  4. 4. 機械学習講座には3コース!• ウハウハコース - ライブラリを使って即製します - 難しい機械学習の知識はOJTで!• しっかりコース - あなたの分野にぴったりの本を読みます • 自然言語処理、データマイニング、画像処理、…… - 即戦力を目指します!• ガチンココース - PRML読みます - 論文を読める基礎力を身につけます!詳しくは明日の朝刊の折り込みチラシにて
  5. 5. コース選びについて よくある質問
  6. 6. Q1. ガチンココースで読む本は PRML なの?
  7. 7. 年表で見る機械学習 1946 モンテカルロ法 PRML 1958 カルマン・フィルター PRML 1960s 隠れマルコフモデル PRML -1961 ニューラルネットワーク PRML 1977 EM アルゴリズム PRML 1982 SOM (自己組織マップ) PRML 1984 CART (決定木の一手法) PRML 1994 ICA (独立成分分析) PRML 1995 サポートベクトルマシン PRML Mahout 1995 粒子フィルタ PRML 2000 FP-Growth Mahout 2001 アイテムベース協調フィルタリング Mahout 2001 Random Forest Mahout 2003 LDA (Latent Dirichlet Allocation) Mahout• フルサイズの年表は http://d.hatena.ne.jp/n_shuyo/20110111/ml
  8. 8. Mahout とかぶってない orz
  9. 9. PRML いらない?
  10. 10. 1946 モンテカルロ法 PRML 1958 カルマン・フィルター PRML 1960s 隠れマルコフモデル PRML -1961 ニューラルネットワーク PRML 1977 書籍 EM アルゴリズム PRML 1982 SOM (自己組織マップ) PRML 1984 CART (決定木の一手法) PRML 1994 ICA (独立成分分析) PRML 1995 サポートベクトルマシン PRML Mahout 1995 粒子フィルタ PRML 2000 FP-Growth Mahout 2001 アイテムベース協調フィルタリング Mahout 2001 Random Forest 論文 Mahout 2003 LDA (Latent Dirichlet Allocation) Mahout• フルサイズの年表は http://d.hatena.ne.jp/n_shuyo/20110111/ml
  11. 11. このへんの論文読めるようになるには
  12. 12. PRML 読むのが 一番速い
  13. 13. Q2. 機械学習をマスター してないとライブラリも 使いこなせない?
  14. 14. Mahout を使ってアプリを作ったとして
  15. 15. 性能をあげたい!• 機械学習はモデルとデータで決まる - よい結果には「よいモデル」と「よいデータ」• モデルはあんまり選べない - ライブラリのサポート範囲から選ぶしか - 幅広く選びたかったらガチンココースへ!
  16. 16. 「よいデータ」が必要
  17. 17. 「よいデータ」って何?
  18. 18. 「よいデータ」を用意するには?• モデルに対する知識 - このモデルにあうのはこういうデータ……とい う傾向がある - 機械学習の知識があると有利• データ・問題(ドメイン)に対する知識 - つまり業務知識 - エンジニアの勝負しどころ!! • 機械学習の知識があってもなくても!
  19. 19. (例)言語判定• テキストが何語で書かれたものかを判定 - モデルは3-gram+ナイーブベイズ(シンプル♪) - http://code.google.com/p/language-detection/• 当初、ペルシャ語の判定が全滅 - 高頻度で使われる ‫¥( ی‬u06cc, Farsi yeh)がアラビア 語の文字コード CP-1256 にないため、 ‫¥(ي‬u064a, Arabic yeh)で代用する対処法が広まっている• 対策:データ内の ¥u06cc を ¥u064a に正規化 こんにちは → 日本語 Hello → 英語
  20. 20. つまり勝負のポイントは
  21. 21. データのことをどれだけ深く知っているか
  22. 22. 機械学習の知識が少ないなら なおさら!
  23. 23. Q3. 機械学習ってなんかとっても勉強しにくい気がするんだけど、自分だけ?
  24. 24. 機械学習は若い• 1950年頃、人工知能の要素技術として - 統計、確率、熱力学などなどなど• 特に、ホットな技術のほとんどはここ 20年以 内の成果 Google Ngram Viewer にて “machine learning” を検索
  25. 25. (参考)数学の場合• ユークリッドの「原論」から数えて 2600年• 高校までに習うことの大半は 17世紀までに 成立 - 17世紀ヨーロッパでは、「小数」は大学の科目 - 300年以上かけ、数学は「教科」として洗練 17世紀 確率、微積分、指数対数、小数 18世紀 統計、正規分布 19世紀 ベクトル、行列
  26. 26. 機械学習は用語もカオス• (略) - 話しだすと、めっちゃ長くなるので。
  27. 27. 中には使いやすいのもあるけど• ロジスティック回帰• SOM(自己組織化マップ) - 使いやすい=学習コスト低め - 実用性をあげるための努力 - 全てを理解していなくてもある程度使えるよ う道具立てが揃っている
  28. 28. 基本的には
  29. 29. 機械学習は勉強しにくくて当然
  30. 30. だから
  31. 31. ちょっとわかんなかったくらいで あきらめないでね♪
  32. 32. まとめ
  33. 33. 機械学習を学習したいエンジニアへ• 学習コースを正しく選びましょう - 目的目標とかけられるコストをてんびんに• 機械学習がわかりにくいのは、そういうもん - 裏返せば「参入障壁が高い」と言うこと - 勉強してみてわかんないことがあったら、こうい う場でガンガン聞きましょう• 「業務知識+機械学習」はマジ最強 - エンジニアが機械学習を学ぶ値打ちはここに!
  34. 34. ところで
  35. 35. そもそも機械学習って何?
  36. 36. 機械学習って何なの?• 日経ソフトウエア3月号(1/24発売)の特 集「クラウド&スマートフォン時代の3大コア 技術」にて「機械学習編」を書かせてもら いました - 機械学習とは? - どうしてそうなっているのか?• 数式ゼロ、プログラムコード ゼロ - 高校生にもわかるように
  37. 37. ありがとうございました

×