Data Analysis 研修資料 / Data Analysis training materials

Data Analysis 研修資料 / Data Analysis training materials

■ DSOC R&Dの研修資料

■概要
タイトル:Data Analysis 研修資料
内容:機械学習プロジェクトを進める上で気をつけることなど

▼Sansan DSOC
https://sansan-dsoc.com/

A2cac4b3dcb2bc0b87917ddc034ef708?s=128

Sansan DSOC

June 11, 2020
Tweet

Transcript

  1. Data Analysis 研修資料 Sansan株式会社 奥⽥ 裕樹

  2. ※ 掲載されている内容等は発表時点の情報です。 ※ 公開に当たり、資料の⼀部を変更・削除している場合があります。

  3. Company Profile 2

  4. Data Strategy and Operation Center ⽬的 話すこと • ソフトウェアエンジニアリングにおける機械学習の⽴ち位置と役割 •

    機械学習のプロジェクトを推進するときの基礎的な流れ 話さないこと • 機械学習の具体的な技術や理論的背景 企業における機械学習のプロジェクトにおいて 必要とされる知識を⾝に着け、⾃⾛できる状態になる
  5. Data Strategy and Operation Center ここでは厳密な⾔葉の定義はしません 曖昧な概念の共通認識を深めるための資料です 前提:機械学習とは何か? • AI、⼈⼯知能

    • ディープラーニング、ニューラルネット • ⾃動運転、Google翻訳、顔認識技術、スマートスピーカー • Kaggle • シンギュラリティ、ソサエティ5.0 • 教師あり学習、教師なし学習、強化学習、最適化 • 勉強すると⾼い給料がもらえるやつ
  6. Data Strategy and Operation Center アジェンダ n 機械学習への考え⽅ n 機械学習とエンジニアリング

    n 機械学習プロジェクトのライフサイクル 以降はデータサイエンスの中でも機械学習に絞って⾒ていきます
  7. 機械学習への考え⽅

  8. Data Strategy and Operation Center 関係者の視点の違いを理解する 利⽤ユーザ ソフトウェアエンジニア データサイエンティスト リサーチャー

    PdM マネージャー ⾃分 機械学習
  9. Data Strategy and Operation Center ユーザの視点 機械学習が組み込まれたサービスを利⽤する⼈の視点 • お⾦を払って利⽤する顧客、フリーでアプリを利⽤するユーザ 重要視すること

    • ⾃分の環境における精度 (全体ではない点に注意) • 使い⼼地 > 予測結果が使いやすいものか?直感的か? > レイテンシなどのUI/UXに関連する部分 • ⾃分のデータが勝⼿に使われていないか?感覚的に気持ち悪くないか?
  10. Data Strategy and Operation Center ソフトウェアエンジニアの視点 動くモノを作り上げて維持する⼈の視点 • エンジニアの同僚、インフラエンジニア、データエンジニアなど 重要視すること

    • システムとしての完成度や安定性などの品質 • 責任分界点などのプロジェクト内での棲み分け
  11. Data Strategy and Operation Center PdM/マネージャーの視点 ⼀歩引いて業務全体を⾒る⼈の視点 • SansanやEightのようなサービス全体を⾒る役割 •

    R&Dチームといった組織単位を統括する役割 重要視すること • プロジェクトのスケジュールに遅延がないか? • 施策に対する効果 (費⽤対効果、インパクト)
  12. Data Strategy and Operation Center データサイエンティスト / リサーチャーの視点 ⾃分 /

    同僚の視点 • 画像処理、⾃然⾔語処理、ソーシャルネットワーク、社会科学、etc. • KPIなどの数字を追うデータアナリスト等も含まれる 重要視すること • 機械学習モデルの精度 • 実験や評価の妥当性
  13. Data Strategy and Operation Center 他者にとって曖昧な部分 機械学習だけの機能、サービスの単位 • システム全体、サービス全体でのUI/UXの印象に引きずられる •

    MLエンジニアが感じる精度と、利⽤する⼈の精度の温度感には差がある 機械学習タスクの粒度 • 解くべき問題1つに対して機械学習タスクが1つに収まるわけではない > タスクの依存関係 技術的な困難さ、チャレンジ度合い • SoTAを達成したモデルだからといって良いわけではない • ⼈によって重要なことが異なる
  14. Data Strategy and Operation Center 具体的な事例検討 1. ユーザにとって⼤事なこと • あるユーザに対するある予測結果において、それが正しいかどうか

    • ⽇々使い続ける中で、頻度は低いが間違いが⽬につくこともある あなたに期待されていること • ユーザ価値を⾼める上で何が必要かを考える > 精度?UI/UX? • 機械学習において、何を間違えていいか / 何を間違えてはいけないか ? > 間違えた時にどう影響するのか?どう対応するのか? ユーザ「なんか予測結果が間違ってるんだけど」
  15. Data Strategy and Operation Center 具体的な事例検討 2. PdMにとって⼤事にしていること • 90%という値が⼤事?その裏にある顧客体験が⼤事?具体的な⽬標が⼤事?

    • 「精度」って何?どんな評価をすべきだと考えている? あなたに期待されていること • 精度の定義を定めて、共通したゴールを設定すること • 精度の期待値を調整する(出来るのはあなたしかいない) PdM「予測精度は90%以上欲しい」
  16. Data Strategy and Operation Center Q. 各視点から⾒たときのプロジェクト • Gmailのスパムメール判定 Gmail宛に届くメールがスパムかどうかを⼆値判定する

    • Facebookの友達レコメンド ユーザに対して友達でありそうなユーザを提⽰する • メルカリの商品検索結果の並び替え 検索クエリに合致したアイテムのリストを並び替える • 利⽤ユーザ • ソフトウェアエンジニア • PdM, ビジネスサイド • 機械学習エンジニア、リサーチャー は、下記の機能の 何を重要視するか?
  17. 機械学習とエンジニアリング

  18. Data Strategy and Operation Center ソフトウェアとしての機械学習 ⾃動で動くソフトウェアとしての価値 • ⼈間の作業を代替する以上の役割 ビジネスにおけるソフトウェアの働き

    • ⼤規模にスケールする • 技術そのものが競合と⽐較して優位性を持つ https://towardsdatascience.com/a-gentle-introduction-to-deep-learning-part-1-introduction-43eb199b0b9
  19. Data Strategy and Operation Center 分野としての機械学習 データサイエンス/機械学習には何が必要か? • 理論としての数学/統計学の知識 •

    実装する上でのプログラミング • 対象とするビジネスの豊富な知識 http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram
  20. Data Strategy and Operation Center プロジェクトとしての機械学習 機械学習のアルゴリズムを考えること以外の仕事も膨⼤にある • データ収集、システム構築、モニタリング……etc •

    それぞれに特有のナレッジや制限がある “技術的負債” Technical Debtとなりやすい • 機械学習⼯学の誕⽣ https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf.
  21. Data Strategy and Operation Center 機械学習のドメインの広がり 様々な場所で使われる機械学習 • ゲーム、⾃動運転、ファイナンス、etc •

    エッジで実⾏されることも https://www.itmedia.co.jp/news/articles/1911/28/news122.html https://www.tesla.com/jp/autopilotAI
  22. 機械学習プロジェクトのタスク選定

  23. Data Strategy and Operation Center プロジェクトのライフサイクル • 事前検討・タスクの定義 • データの収集・整形

    • 評価指標を定める • べースラインとなるモデルの作成 • 機械学習モデルを作成する • エラー分析と精度向上 • 実サービスへのデプロイ • サービスの維持
  24. Data Strategy and Operation Center 事前検討・タスクの定義 プロジェクトが成功するかどうかは事前検討が9割(個⼈的な感想) • そもそも成功とは? 事前検討

    • やって意味あるの?できたとして効果でるの?誰が得するの? • そもそもできるの?⼈間だったら可能なタスク? タスク定義の理想 • 具体的かつ正確に、⼈と内容を共有できる、最⼩単位の仕事 解くべき問題を⾒極める
  25. Data Strategy and Operation Center 問題の質と解の質 問題の質と解の質を上げる 問題の質 • いかに筋の良い問題を解いているか?

    • 原著ではイシュー度 解の質 • いかに良い解決策を⽰しているか? 解の質 問題の質 問題も良く 解も良い = 成果 https://www.amazon.co.jp/dp/4862760856
  26. Data Strategy and Operation Center 同僚 「ユーザが退会するかどうかを予測できない?」 問題の質の具体例

  27. Data Strategy and Operation Center • ユーザが退会するかを⼆値分類で予測します 同僚 「ユーザが退会するかどうかを予測できない?」 問題の質の具体例

  28. Data Strategy and Operation Center • ユーザが退会するかを⼆値分類で予測します • ユーザが1ヶ⽉後に退会するかを⼆値分類で予測します 同僚

    「ユーザが退会するかどうかを予測できない?」 問題の質の具体例
  29. Data Strategy and Operation Center • ユーザが退会するかを⼆値分類で予測します • ユーザが1ヶ⽉後に退会するかを⼆値分類で予測します •

    ユーザが1ヶ⽉後に退会フォームに進むかを⼆値分類で予測します 同僚 「ユーザが退会するかどうかを予測できない?」 問題の質の具体例
  30. Data Strategy and Operation Center • ユーザが退会するかを⼆値分類で予測します • ユーザが1ヶ⽉後に退会するかを⼆値分類で予測します •

    ユーザが1ヶ⽉後に退会フォームに進むかを⼆値分類で予測します • ⽉に1回以上利⽤しているアクティブユーザに対して、 ユーザが1ヶ⽉後に退会フォームに進むかを⼆値分類で予測します 同僚 「ユーザが退会するかどうかを予測できない?」 問題の質の具体例
  31. Data Strategy and Operation Center 問題の質を上げる 退会予測が解けなさそう • じゃあ1ヶ⽉以上利⽤しないユーザの推定はできるか? •

    退会しそうなユーザに寄与する特徴は何か推定できるか? • 退会までの⾏動にパターンはあるだろうか? • そもそも退会以外に予測したい事象がないだろうか? 解けない問題があったら,そこには自分が解けるぐらいの もっと簡単な問題がある.それを見つけることだ. https://www.amazon.co.jp/dp/4621045938/ 「いかにして問題をとくか」G. ポリア
  32. Data Strategy and Operation Center 解の質 いかに良く問題を解けたか? • 結果:精度、事業への貢献度合い、⾦額、etc… •

    ⽅法:実現性、コスト、容易さ 特に機械学習/エンジニアの⽂脈で重要なこと • 保守性:容易にメンテナンスできるか • 頑健性:予測性能が安定しているか • 解釈性:なぜその出⼒をしたかを説明できるか https://xkcd.com/1838/
  33. Data Strategy and Operation Center 解の質を正しく⾒極める - 悪い例 それ良いの?悪いの? •

    事前予想や直感で判断してはいけない • かならず相対的に⾒⽐べる 「⼆値分類の精度は68%でした」
  34. Data Strategy and Operation Center 解の質を正しく⾒極める - 良い例 「ナイーブな⽅法を使ったベースラインでは50%、それに対して本⼿法では68%でした。 ⼈間が同様に予測したときの精度は90%程度でしたので、改善の余地があります。

    利⽤できていないデータや学習データ数の課題があります。」 • 相対的に⾒る (可能であれば下限&上限を知る) • 次のアクションに繋げられる
  35. Data Strategy and Operation Center 「ユーザへの通知をスマホのプッシュ通知で送っているんだけど そこのタップ率/アプリ遷移率を上げたいんだよね〜」 Q. タスクの相談をされたときに何を考えるか? 問題の質

    • もう少し問題をブレイクダウンすると? • 何がこのタスクの⽬標になる? 解の質 • どんな⽅法を試す?
  36. None