Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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