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
170
0
Share
atmaCup_5__review-meeting.pdf
atmaCup#5 振り返り会でお話したコンペ設計の話です。
Yamaguchi Takahiro
June 14, 2020
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.4k
Django のセキュリティリリースを見る
nyk510
0
130
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
nyk510
1
1.2k
硬派で真面目なグラフを描く
nyk510
0
560
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
450
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.9k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
1k
AWS CPU Credit を完全に理解する
nyk510
0
500
atmaCup#8 Opening
nyk510
0
310
Other Decks in Technology
See All in Technology
VespaのParent Childを用いたフィードパフォーマンスの改善
taking
0
120
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
150
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
170
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
270
"おまじない"を卒業する ボイラープレート再入門
shunsuke_1b
1
120
M5Stack CoreS3とZephyr(RTOS)で Edge AIっぽいことしてみた
iotengineer22
0
360
Revisiting [CLS] and Patch Token Interaction in Vision Transformers
yu4u
0
400
「誰一人取り残されない」 AIエージェント時代のプロダクト設計思想 Product Management Summit 2026
mizushimac
1
1.8k
Building a Standalone Programming Environment
harukasan
PRO
1
160
Chasing Real-Time Observability for CRuby
whitegreen
0
280
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
270
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
250
Featured
See All Featured
A Soul's Torment
seathinner
6
2.7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Statistics for Hackers
jakevdp
799
230k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Skip the Path - Find Your Career Trail
mkilby
1
110
WENDY [Excerpt]
tessaabrams
10
37k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
350
A better future with KSS
kneath
240
18k
30 Presentation Tips
portentint
PRO
1
280
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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