Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
atmaCup_5__review-meeting.pdf
Search
Yamaguchi Takahiro
June 14, 2020
Technology
0
130
atmaCup_5__review-meeting.pdf
atmaCup#5 振り返り会でお話したコンペ設計の話です。
Yamaguchi Takahiro
June 14, 2020
Tweet
Share
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.1k
Django のセキュリティリリースを見る
nyk510
0
35
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
nyk510
1
1k
硬派で真面目なグラフを描く
nyk510
0
450
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
340
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.4k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
800
AWS CPU Credit を完全に理解する
nyk510
0
400
atmaCup#8 Opening
nyk510
0
200
Other Decks in Technology
See All in Technology
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
160
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
430
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
240
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
140
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
130
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
260
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Documentation Writing (for coders)
carmenintech
65
4.4k
Site-Speed That Sticks
csswizardry
0
33
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
A Tale of Four Properties
chriscoyier
156
23k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Ruby is Unlike a Banana
tanoku
97
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Practical Orchestrator
shlominoach
186
10k
Automating Front-end Workflow
addyosmani
1366
200k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Transcript
atmaCup#5 Review Meeting 2020/06/14 @atmaCup
Hello! 山口貴大 twitter @nyker_goto atma(アートマ)株式会社 取締役 / DS / ふろんと
/ ばっくえんど / いんふら 京都大学大学院 最適化数理卒 SGDが好き Kaggle Master kaggle.com/nyk510 2
もくじ 1. コンペ設計の話 2. Solutionまとめ 3. LT 3
あらすじ @oyorocoさん・@hattan0523さんの「光の機械学習」ス ラックにいつの間にか招待されていた 面白いデータができたらコンペしたいですね〜と話をして いて面白いデータができた(らしい)ので開催に 4
データのおさらい • 光学装置の実験結果を推定する2値分類 > 発光が共振器にうまくマッチしたものを,機械学習を 使って効率的に探し出すことが今回の問題です. 利用データ • 実験条件座標・レーザー波長など •
発光スペクトルデータ (観測ごと512次元の数値ベクト ル) 5
コンペ開催に必要な要件 データ • どんなデータを提供すれば面白くかつ意味がある? train/testの分割 • 応用時に使えるモデルが選ばれる切り方? 評価指標とprivate/publicの分割 • 実際の実験に即した評価・分割になっている?
• 相関が取れている? 6
どんなデータを提供すれば良い? 波形データをどの段階のものを渡すか (元データは1つだけではない) • 発光スペクトルに加工する前の生データ • ピークカットした1次元情報 • … フィッティング情報を与えるかどうか
• 作るのに時間がかかる。できれば使わないほうが嬉しい 7
どんなデータを提供すれば良い? 各フェーズの波形 (+fitting ありなし)でモデリングをして 予測ができるかどうかのチェック 意外と波形だけでも予測できそうなことがわかり一安心 8
9 しかし!
10 @oyorocoさん、 結果を見ているうちに 気がついてしまう
11 「これ target 間違って ませんかね ?」
12 これ target 間違ってま せんかね ? 何が間違いかさっぱりわからん ……
[解説] Target間違っている問題 ※アノテーションする作業ではバイアスがかかる (chipごとに数を揃えたい、などなど) • 機械学習で予測された確率のほうがバイアスなく公平 に判断されていて、こちらが正しいと思えるケースが 出現。なお僕には判断不能。 @oyorocoさんに再アノテーションを頼む (開催1週間前)
(もちろんモデル再作成. ) 性能も安定。一安心。 13
Target間違っている問題 ※アノテーションする作業ではバイアスがかかる (chipごとに数を揃えたい、などなど) • 機械学習で予測された確率のほうがバイアスなく公平 に判断されていて、こちらが正しいと思えるケースが 出現。なお僕には判断不能。 やましたさんに再アノテーションを頼む (開催1週間前) (もちろんモデル再作成.
) 性能も安定。一安心。 14 まだおわりません。
まだ終わらない! 飽くなき探求 「面白いデータ」にしたいという思いが強すぎて、 開催前日に新しいデータを作成 & 再々モデリング • ぎりぎり検証が間に合う(当日15:00頃) • 結局このデータを実際に使用しています
データ準備は計画的に。 15
コンペ開催に必要な要件 データ • どんなデータを提供すれば面白くかつ意味がある? train/testの分割 • 応用時に使えるモデルが選ばれる切り方? 評価指標とprivate/publicの分割 • 相関が取れている?
16 データ • どんなデータを提供すれば面白くかつ意味がある? train/testの分割 • 応用時に使えるモデルが選ばれる切り方? 評価指標とprivate/publicの分割 • 相関が取れている?
train/testの分割 コンペで終わらせない、実応用を考えた設計をしたい 応用上新しい chip で予測性能が高いモデルがほしい • ChipIDで分割するのがよさ気 • しかし chip
ID ごとに特性がかなり違う • 適当に選ぶと train/test でどえらい乖離する → 良さそうな組み合わせを手で選んで全部解いて検証 17
コンペ開催に必要な要件 データ • どんなデータを提供すれば面白くかつ意味がある? train/testの分割 • 応用時に使えるモデルが選ばれる切り方? 18 データ •
どんなデータを提供すれば面白くかつ意味がある? train/testの分割 • 応用時に使えるモデルが選ばれる切り方? 評価指標とprivate/publicの分割 • 実際の実験に即した評価・分割になっている? • 相関が取れている?
Private/Publicの分割 理想… Chip IDで分割, だが流石に乖離が激しい 緩和… 同じchipでの実験を増やした時にスコアが良いモデル が選ばれるようにしたい 実験をしても target
の割合が一定になるとは限らないので target では分割したくない → Chip IDごとのサンプル数が一定になるような分割を採用 19
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
21 こんな感じでモデルの予測値を plot して相関を見ていました。 ちなみに • Random • Chip Stratify
(chipごとのサンプル数が同数になるよ うな分割) • Target Stratify のうち最もprivate/publicの相関が取れないの は target stratify でした。 意外。 Private Public Public Private ChipId Stratifed Split Random Split
評価指標の選定 private/publicの相関で言うとloglossが圧倒的に良いが 「できるだけPOSデータを見逃したくない」という応用時 の要望を優先 最終的にPR-AUCを採用。 (1週間と短いので問題自体に集中できるようF1-betaなど 閾値が必要な指標は見送り) 22
まとめ みんなが楽しく課題に集中できて 結果が応用時に使えるような課題設計を考えてい ました。 23
24 さいごに
企画中です atmaCup #6
THANKS! Arigato Gozaimashita !! 26