Slide 1

Slide 1 text

atmaCup#5 Review Meeting 2020/06/14 @atmaCup

Slide 2

Slide 2 text

Hello! 山口貴大 twitter @nyker_goto atma(アートマ)株式会社 取締役 / DS / ふろんと / ばっくえんど / いんふら 京都大学大学院 最適化数理卒 SGDが好き Kaggle Master kaggle.com/nyk510 2

Slide 3

Slide 3 text

もくじ 1. コンペ設計の話 2. Solutionまとめ 3. LT 3

Slide 4

Slide 4 text

あらすじ @oyorocoさん・@hattan0523さんの「光の機械学習」ス ラックにいつの間にか招待されていた 面白いデータができたらコンペしたいですね〜と話をして いて面白いデータができた(らしい)ので開催に 4

Slide 5

Slide 5 text

データのおさらい ● 光学装置の実験結果を推定する2値分類 > 発光が共振器にうまくマッチしたものを,機械学習を 使って効率的に探し出すことが今回の問題です. 利用データ ● 実験条件座標・レーザー波長など ● 発光スペクトルデータ (観測ごと512次元の数値ベクト ル) 5

Slide 6

Slide 6 text

コンペ開催に必要な要件 データ ● どんなデータを提供すれば面白くかつ意味がある? train/testの分割 ● 応用時に使えるモデルが選ばれる切り方? 評価指標とprivate/publicの分割 ● 実際の実験に即した評価・分割になっている? ● 相関が取れている? 6

Slide 7

Slide 7 text

どんなデータを提供すれば良い? 波形データをどの段階のものを渡すか (元データは1つだけではない) ● 発光スペクトルに加工する前の生データ ● ピークカットした1次元情報 ● … フィッティング情報を与えるかどうか ● 作るのに時間がかかる。できれば使わないほうが嬉しい 7

Slide 8

Slide 8 text

どんなデータを提供すれば良い? 各フェーズの波形 (+fitting ありなし)でモデリングをして 予測ができるかどうかのチェック 意外と波形だけでも予測できそうなことがわかり一安心 8

Slide 9

Slide 9 text

9 しかし!

Slide 10

Slide 10 text

10 @oyorocoさん、 結果を見ているうちに 気がついてしまう

Slide 11

Slide 11 text

11 「これ target 間違って ませんかね ?」

Slide 12

Slide 12 text

12 これ target 間違ってま せんかね ? 何が間違いかさっぱりわからん ……

Slide 13

Slide 13 text

[解説] Target間違っている問題 ※アノテーションする作業ではバイアスがかかる (chipごとに数を揃えたい、などなど) ● 機械学習で予測された確率のほうがバイアスなく公平 に判断されていて、こちらが正しいと思えるケースが 出現。なお僕には判断不能。 @oyorocoさんに再アノテーションを頼む (開催1週間前) (もちろんモデル再作成. ) 性能も安定。一安心。 13

Slide 14

Slide 14 text

Target間違っている問題 ※アノテーションする作業ではバイアスがかかる (chipごとに数を揃えたい、などなど) ● 機械学習で予測された確率のほうがバイアスなく公平 に判断されていて、こちらが正しいと思えるケースが 出現。なお僕には判断不能。 やましたさんに再アノテーションを頼む (開催1週間前) (もちろんモデル再作成. ) 性能も安定。一安心。 14 まだおわりません。

Slide 15

Slide 15 text

まだ終わらない! 飽くなき探求 「面白いデータ」にしたいという思いが強すぎて、 開催前日に新しいデータを作成 & 再々モデリング ● ぎりぎり検証が間に合う(当日15:00頃) ● 結局このデータを実際に使用しています データ準備は計画的に。 15

Slide 16

Slide 16 text

コンペ開催に必要な要件 データ ● どんなデータを提供すれば面白くかつ意味がある? train/testの分割 ● 応用時に使えるモデルが選ばれる切り方? 評価指標とprivate/publicの分割 ● 相関が取れている? 16 データ ● どんなデータを提供すれば面白くかつ意味がある? train/testの分割 ● 応用時に使えるモデルが選ばれる切り方? 評価指標とprivate/publicの分割 ● 相関が取れている?

Slide 17

Slide 17 text

train/testの分割 コンペで終わらせない、実応用を考えた設計をしたい 応用上新しい chip で予測性能が高いモデルがほしい ● ChipIDで分割するのがよさ気 ● しかし chip ID ごとに特性がかなり違う ● 適当に選ぶと train/test でどえらい乖離する → 良さそうな組み合わせを手で選んで全部解いて検証 17

Slide 18

Slide 18 text

コンペ開催に必要な要件 データ ● どんなデータを提供すれば面白くかつ意味がある? train/testの分割 ● 応用時に使えるモデルが選ばれる切り方? 18 データ ● どんなデータを提供すれば面白くかつ意味がある? train/testの分割 ● 応用時に使えるモデルが選ばれる切り方? 評価指標とprivate/publicの分割 ● 実際の実験に即した評価・分割になっている? ● 相関が取れている?

Slide 19

Slide 19 text

Private/Publicの分割 理想… Chip IDで分割, だが流石に乖離が激しい 緩和… 同じchipでの実験を増やした時にスコアが良いモデル が選ばれるようにしたい 実験をしても target の割合が一定になるとは限らないので target では分割したくない → Chip IDごとのサンプル数が一定になるような分割を採用 19

Slide 20

Slide 20 text

Private/Publicの分割 > 相関確認 多様性が出るような構成でモデルをいくつか作成 CV/public/privateの相関を確認 ● 特徴量11set (fitting/スペクトル統計量/CNN Embedding/...) ● RF/XGBoost/LightGBM(seed averaging)/1DCNN ● 上記のアンサンブル + XGBoost/LightGBM/Ridgeによる stacking ● CV: Group(by chipid)/Stratified/Random 20

Slide 21

Slide 21 text

21 こんな感じでモデルの予測値を plot して相関を見ていました。 ちなみに ● Random ● Chip Stratify (chipごとのサンプル数が同数になるよ うな分割) ● Target Stratify のうち最もprivate/publicの相関が取れないの は target stratify でした。 意外。 Private Public Public Private ChipId Stratifed Split Random Split

Slide 22

Slide 22 text

評価指標の選定 private/publicの相関で言うとloglossが圧倒的に良いが 「できるだけPOSデータを見逃したくない」という応用時 の要望を優先 最終的にPR-AUCを採用。 (1週間と短いので問題自体に集中できるようF1-betaなど 閾値が必要な指標は見送り) 22

Slide 23

Slide 23 text

まとめ みんなが楽しく課題に集中できて 結果が応用時に使えるような課題設計を考えてい ました。 23

Slide 24

Slide 24 text

24 さいごに

Slide 25

Slide 25 text

企画中です atmaCup #6

Slide 26

Slide 26 text

THANKS! Arigato Gozaimashita !! 26