Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

けんご
October 20, 2017

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

けんご

October 20, 2017
Tweet

More Decks by けんご

Other Decks in Technology

Transcript

  1. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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





    広告費

    View Slide

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





    広告費
    どれくらい増える?
    +50円

    View Slide

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





    広告費
    いくら広告費をかければ良い?

    View Slide

  17. 広告費とクリック数の関係を定式化
    • 傾きと切片をもつ一次関数を想像

    • この  と が関係性を示すパターン
    • この  と をデータから導き出す
    機械学習を理解する
    パターン(ルール)の発見
    x
    y
    y = ax + b
    a b
    a b

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. 機械学習を理解する
    パターン(ルール)の発見
    機械学習の本質
    • このような未知のパラメータを探す手法を理解するために数学知識が必要
    • 数学的背景に目が向くことは多いが本質も理解する
    • その上で…

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  27. 理論と実装のギャップ
    • 実際は勾配法や正則化の実装などしない
    • from sklearn import linear_model
    • この1行に先人たちが実装してきたいろんな理論が詰め込まれている
    • 理論解説には登場しなかった多くの前処理
    • 欠損値処理、異常値除去、正規化、白色化、など…
    機械学習を実装する
    実装までの道のり

    View Slide

  28. 理論と実装のギャップ
    • だいたい一発ではうまくいかない
    • おもってたんと違う
    • アルゴリズム、素性、ハイパーパラメータの選定
    • バリデーションデータの概念
    • 実験、改善の繰り返し
    機械学習を実装する
    実装までの道のり

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  32. まとめ
    まとめ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide