Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Platium datameetup vol2

676 vues

Publié le

Platium datameetup 第2回の発表内容

Publié dans : Données & analyses
  • Identifiez-vous pour voir les commentaires

Platium datameetup vol2

  1. 1. 本当にあった怖い話 -データサイエンティスト編- 陽行 Platinum Data Meetup Vol.2 2018/10/3
  2. 2. 今回は、これまでにデータ分析をする過程で出会った 恐ろしい出来事を「怪異」という形で紹介していきた いと思います。 前半は、主に作業中に出くわす怪異 後半は、主にPJ全般で出くわす怪異 を取り上げていきます。
  3. 3. ある⽇、来週に迫った中間報告 のためにGBMやXGboostを使っ て需要予測モデルをガシガシ 作っていたところ。。。 アイツらに出くわしたのです
  4. 4. 怪異 生涯がくしゅう
  5. 5. 【出現地点】 • 勾配ブースティングを⽤いる学習器を使っていると稀に出現す る • Learning_rateを低く設定しているORそもそも学習率に関する ハイパーパラメータを何も調整していないと出現しやすい 【特徴】 • Learning_rateが低すぎて勾配が更新されないため、いつまで も学習が終わらない
  6. 6. 怪異レベル • そもそもLearning_rateをどれくらいにしたらどれくらいで収束 しそうかチェックしておけば恐るに⾜らない • 最終的なローンチ⽤のモデルを作成するときはどうしても学習率 は下げざるを得ないので六⼗の⼿習いと思って優しく⾒守る
  7. 7. 主な被害 • ⼟⽇にまとめてモデルを作成しようと⾦曜夜にshellを仕込ん で帰ったのに、⽉曜⽇に状況を確認するとモデルができていな い • 残りの時間でLearning_rateを⾼くして再度学習するも微妙な モデルで報告することになる。。。南無三 終わりなき勾配
  8. 8. 怪異 めもり喰い
  9. 9. 【出現地点】 • 郵便番号や商品名のように多様性が⼤きいコードや名称をアホみ たいにOne-hot Encodingすると出現する • ローカルPCや貧弱な分析サーバで作業をしているとよく出現す る • アンサンブル系の学習器を何も考えず、depth深めに設定して実 ⾏するとたまに出現する 【特徴】 • ⼀瞬でメモリを占有し、バッファオーバーフローを引き起こしか ねない厄介な怪異 • どんな処理がメモリに負担を掛けるのか知らないまま分析してい るとよく出現する
  10. 10. 怪異レベル • 特徴量⽣成をしていると頻繁にエンコーディング処理が発⽣する ので何気ない前処理がハードに⼤きな影響を与える • 分析サーバは⼤抵、他のデータサイエンティストと共有している ので、「あいつ昨⽇サーバ⾶ばしたらしいよ」と周りから揶揄さ れる(もしくはそういう妄想に駆られる)⼆次被害が発⽣する
  11. 11. 主な被害 • 特徴量作成してただけなのにサーバを落としてしまい、業務 を⼀時的にストップさせてしまう メモリを喰い尽して満⾜げな One-hot Encoder
  12. 12. 怪異 ぬる隠れ
  13. 13. 【出現地点】 • SQLでWHERE句を条件分岐させてモデルに⽤いるデータセッ トを分けていたら、不等号ではNULLが抽出できないことを忘 れて置いてきぼりにすると出現する 【特徴】 • SQLの初歩であるにも関わらず、NULLをどう扱うかは頭から 抜けがちなので元のデータセットと分割後のデータセットの件 数が⼀致せず半⽇「なんでヤァ!!」となる
  14. 14. 怪異レベル • 丁寧にSQLを設計するデータサイエンティストならばそもそも出会わ ない、もしくはすぐ退治できる • 過去データではNULLが発⽣していなかったので問題なかったが、直近 受け取ったデータからはデータ取得・蓄積のルールが変更になってお りNULLが発⽣する仕様になっていた場合問題の発⾒がかなり遅れる
  15. 15. 主な被害 • なぜかデータを分割しただけなのに元のデータと件数が⼀致し なくなりデータが⾏⽅不明になる • 特に、NULLが発⽣すると想定していないカラムを条件分岐の 対象にしていると本当に神隠しにあった気分になる どこかにNULLがいます ⾒つけてあげてください NULL
  16. 16. 怪異 隠れりぃけいじ
  17. 17. 【出現地点】 • データの構造についてのヒアリングを⼗分に⾏っておらず、過 去データが最新にUpdateされているのを知らずにモデリング していると出現する 【特徴】 • ターゲットとなる予測値が観測された後にしか知りえない情報 がUpdate処理により⽣まれ、それに気づかずにモデルの特徴 量として⽤いてしまうとLeakeageとなる • ⼀⾒、将来の情報を使っているように思えないので分析者も実 際に予測するために特徴量を作成するまで気づかないか、思っ たよりも精度が出なくてなぜかを追及していくまでわからない ことがある
  18. 18. 怪異レベル • データの中⾝をちゃんと理解していないとずっと気づかずに猛威 を振るうためきわめて悪質 • データそのものに誤りがあるわけではないので、データの発⽣や 更新の構造を知っている⼈間しか問題があることに気づけない
  19. 19. 主な被害 • POCの検証報告が終了し、実際に報告したモデルを本番⽤に実装 しようとなったときに、本当は報告したほどの精度が出ないこと がわかり関係者全員が⻘ざめる さぁパーティーの始まりだ!!
  20. 20. 怪異 ろーりんぐ すきっぷ
  21. 21. 【出現地点】 • 過去のログデータが⽇付の⽋損なくすべて埋まっているだろう と思ってwindow関数を使っていると、本当は⽋損が⽣じてい る場合に出現する • 株価データなど⼟⽇・祝⽇に必ずデータが⽋損するタイプの データを扱う場合には、なにも意識しないと必ず出現する 【特徴】 • 時系列の特徴量を健気にwindow関数を⽤いて作っていると、 1期前が前⽇ではなく5⽇前になっていて特徴量がぐちゃぐちゃ になる
  22. 22. 怪異レベル • 株価データのように必ず特定の⽇付が⽋損することを知ってれば 処理は簡単だが、予想もしないときに⽋損が起きている場合モデ ルがうまく機能しない理由を特定できなくなる • Row_number()over()コワイヨ
  23. 23. 主な被害 • ⽋損を無視してwindow関数を使って過去の状態を特徴量としてい る場合、⽋損がある部分だけ参照しているタイミングがずれるので うまくフィットせず、なぜかうまく当てられないものが⽣まれる • window関数で期をずらしたものを更に3⽇間平均のように集計して いると、どんどんワケのわからない値が⽣成されていく NULL 2018/2/3 2018/2/6 2018/2/17
  24. 24. ある⽇、新たに始まったPJに参 加してヒアリングをしている と。。。 アイツらに出くわしたのです
  25. 25. 怪異 データはある
 「紐づくとは⾔ってない」
  26. 26. 【出現地点】 • PJが開始される前にヒアリングをしていた段階では、広告のデ ータや店舗でのプロモーションのデータがあるので広告効果は 特徴量に加えられると聞いていた 【特徴】 • 確かにデータはある。。。あるが、管理コードが違っていたり 管理コードが上書きされていて以前のプロモーションで使われ ていた番号が消失していたりして使えない
  27. 27. 怪異レベル • この⼿の話になれたデータサイエンティストであれば、PJ開始前に以下を確認 して開始するので出くわさない ①データは紐づくのか ②過去の履歴は保持しているか
  28. 28. 主な被害 • 提案書に壮⼤な夢を書いたのに、実際にデータを触ってみると使 えないものばかりということが分かり地獄のような報告会が待っ ている Let’s Party Night!!!!
  29. 29. 怪異 ガゾウはある
 (「アノテーションしたとはいっていない」)
  30. 30. 【出現地点】 • 特定の物体検出を深層学習でやりたい気持ちが芽⽣えてくると 出現する • 本当は画像にかからわず異常検知系の問題の場合には共通して 出現する 【特徴】 • 画像を⽤いた物体検出のうち、よくあるのが異常の検知だが、 そもそも異常な状態をとらえた画像がない
  31. 31. 怪異レベル • ⼤量のアノテーション歩兵を募集すれば討伐できることもある • 特定の状態を検出したいのではなく、正常状態から逸脱する異常 を検知したいだけなら正解画像だけあればいいので問題にならな いこともある(滅多にない)
  32. 32. 主な被害 • 「こんなことやるために分析の会社に⼊ったわけじゃないの に」という怨嗟の声が⽩⾦台に⽊霊する NULL ポチ ポチ 正解画像に丸をつける簡単なお仕事
  33. 33. 怪異 「それは我々も わかっている」
  34. 34. 【出現地点】 • ⽤いることができる特徴量が限定されている場合やビジネス上 重要だと思われる要素だけが管理されているマスタを使って要 因分析をするとよく出現する 【特徴】 • これまで業務をやっていて気づかなかったデータ上の発⾒を期 待されているが、重要な要素は実際にビジネスをやっているク ライアントは当然把握しているので「○○が⼀番寄与してまし た!!」「うん、そりゃそうだよね」となりがち
  35. 35. 怪異レベル • データサイエンティスト⽬線では理不尽だが、クライアント⽬線 で⾒ても⾼いお⾦を払って知っていることが報告されるという理 不尽を味わうという点で脅威的
  36. 36. 主な被害 • (クライアント⽬線)AIを⽤いてこれまでの業務では気づけな かった知⾒をもとにビジネスを変えていきたかったのに現状を データで確認できただけだった。。。 NULL
  37. 37. 今回は以上となります。 皆さんもこれらの怪異に出くわしたことがあったでしょうか? いやぁ本当に怖いですねぇ。。。 おしまい

×