機械学習を始めるための第一歩

Eca2f293c36947e2a8944b39e57d105c?s=47 けんご
October 20, 2017

 機械学習を始めるための第一歩

Eca2f293c36947e2a8944b39e57d105c?s=128

けんご

October 20, 2017
Tweet

Transcript

  1. None
  2. 機械学習を始めるための 第一歩 @tkengo 2017.10.20 LINE Developer MeetUp in Tokyo #21

  3. ࣗݾ঺հ 立石 賢吾 LINE Fukuoka 株式会社 データ分析チーム所属 KENGO TATEISHI

  4. 機械学習を始めるための第一歩 アジェンダ • 機械学習をはじめる • 機械学習を理解する • 機械学習を実装する • まとめ

  5. 機械学習をはじめる 機械学習をはじめる

  6. 機械学習のイメージ 機械学習をはじめる

  7. 機械学習のイメージ プログラマが考える機械学習 • 数学必須? • 難しそう? • 人工知能? 数学 ムズすぎ

    理論 わからん 遠い世界 機械学習をはじめる
  8. 機械学習のイメージ プログラマが考える機械学習 • 数学必須? • 難しそう? • 人工知能? 理論 わからん

    遠い世界 数学 ムズすぎ というイメージを捨てます 機械学習をはじめる
  9. 機械学習を始めるために まずは理解できる楽しさを知ろう! • いきなり難しい理論は誰だって無理 • 一昔前に比べて豊富な入門者向けリソース • 連載記事、オンラインコース、書籍、etc 機械学習をはじめる

  10. 機械学習を理解する 機械学習を理解する

  11. 機械学習を理解する 機械学習ってすごい? → すごい 機械学習を理解するために 機械学習ってなんでもできる? → なんでもはできない

  12. 機械学習を理解する 機械学習を理解するために 機械学習の本質 • 「すごいけどなんでもはできない」 • 人工知能 ≠ 機械学習 •

    人間には発見が難しいパターン(ルール)を発見するのが仕事
  13. 機械学習の本質 • 「すごいけどなんでもはできない」 • 人工知能 ≠ 機械学習 • 人間には発見が難しいパターン(ルール)を発見するのが仕事 機械学習を理解する

    機械学習を理解するために パターン(ルール)の発見とは
  14. 機械学習を理解する パターン(ルール)の発見 最も単純な例題 • たとえば広告費とクリック数の関係 • 広告費が増える程クリック数も増加 • 広告費とクリック数をプロットした図 •

    ここにはどういうパターンが存在する? ク リ ッ ク 数 広告費
  15. 広告費とクリック数の関係性を考える • 広告費を50円増やすとクリック数は 機械学習を理解する パターン(ルール)の発見 ク リ ッ ク 数

    広告費 どれくらい増える? +50円
  16. 10,000回の広告クリック 広告費とクリック数の関係性を考える • 10,000回のクリック数をかせぐには 機械学習を理解する パターン(ルール)の発見 ク リ ッ ク

    数 広告費 いくら広告費をかければ良い?
  17. 広告費とクリック数の関係を定式化 • 傾きと切片をもつ一次関数を想像 • • この  と が関係性を示すパターン • この  と をデータから導き出す

    機械学習を理解する パターン(ルール)の発見 x y y = ax + b a b a b
  18. パターンからの予測 • もし           だったら 機械学習を理解する パターン(ルール)の発見 x y a =

    100, b = 1000 y = 100x + 1000
  19. パターンからの予測 • 広告費を50円増やすとクリック数は 機械学習を理解する パターン(ルール)の発見 どれくらい増える? → クリック数は約5,000回増える x y

  20. パターンからの予測 • 10,000回のクリック数をかせぐには 機械学習を理解する パターン(ルール)の発見 いくら広告費をかければ良い? → 約90円の広告費をかければ達成 x y

  21. 機械学習を理解する パターン(ルール)の発見 機械学習の本質 • パターン(ルール) = 未知のパラメータ (  や などの未知数) •

    現実問題に応用する場合はパラメータ数がとても多い。重みと言う場合もある。 • データから未知のパラメータを探索 • 発見されたパラメータによる予測/推測 a b
  22. 機械学習を理解する パターン(ルール)の発見 機械学習の本質 • パターン(ルール) = 未知のパラメータ (  や などの未知数) •

    現実問題に応用する場合はパラメータ数がとても多い • データから未知のパラメータの探索 • 発見されたパラメータによる予測/推測 a b これがイメージできる ようになることが大事
  23. 機械学習を理解する パターン(ルール)の発見 機械学習の本質 • このような未知のパラメータを探す手法を理解するために数学知識が必要 • 数学的背景に目が向くことは多いが本質も理解する • その上で…

  24. 理論を理解する 冒頭に紹介した本書では先に話したような内容を 皮切りに、機械学習の理解に必要な数学の知識を やさしく解説しています。 機械学習を理解する 最小二乗法、勾配降下法、尤度関数、正則化など…

  25. 機械学習を実装する 機械学習を実装する

  26. 実装までの道のり 理論を理解した次のステップ → 実際に機械学習を使い始めてみる • 何に適用すれば? • どう応用すれば? 機械学習を実装する

  27. 理論と実装のギャップ • 実際は勾配法や正則化の実装などしない • from sklearn import linear_model • この1行に先人たちが実装してきたいろんな理論が詰め込まれている

    • 理論解説には登場しなかった多くの前処理 • 欠損値処理、異常値除去、正規化、白色化、など… 機械学習を実装する 実装までの道のり
  28. 理論と実装のギャップ • だいたい一発ではうまくいかない • おもってたんと違う • アルゴリズム、素性、ハイパーパラメータの選定 • バリデーションデータの概念 •

    実験、改善の繰り返し 機械学習を実装する 実装までの道のり
  29. 理論と実装のギャップ • 理論だけ学んでも知らないことはいっぱい テスト コード レビュー デプロイ 運用 学習データ 管理

    ドキュメント 整備 機械学習を実装する 実装までの道のり
  30. 手を動かして学ぶ • 座学だけでなんとかなるほど世の中は甘くない • 公開されたデータセットでの練習 → 実データへの応用 • 最初から数百万件規模の大量のデータを目指す必要はない •

    実運用中のDBから適当にデータを抜いて試すのもOK 機械学習を実装する 実装までの道のり
  31. 知識のインプットを止めない • なるべく多くの例題や手法に触れる • 手を動かしていくうちにわからないことが出てきてまた調べる • 継続的な知識のインプット 機械学習を実装する 実装までの道のり

  32. まとめ まとめ

  33. まとめ プログラミングはじめたての頃の想い出 • 仕組みを理解できた時の楽しさ • プログラムが動いた時の楽しさ • 勉強を継続できたモチベーションは? → 楽しい

    機械学習を始めるための第一歩
  34. 機械学習を始めるための第一歩 理解できる楽しさを知る → 機械学習のイメージを掴む 実装できる楽しさを知る → 手を動かして練習する まとめ 環境は既に整っている

  35. 機械学習を始めるための第一歩 まとめ 理論 実践 (わかる|できる)楽しさを知る

  36. 機械学習を始めるための第一歩 まとめ 理論 実践 どちらも大事

  37. 機械学習を始めるための第一歩 まとめ 理論 実践 どちらから始めますか?

  38. We’re hiring まとめ https://linecorp.com/ja/career/kyoto 京都オフィスエンジニア募集中 一緒に働きませんか? 最新の採用情報をチェック →