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
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
atmaCup_5__review-meeting.pdf
atmaCup#5 振り返り会でお話したコンペ設計の話です。
Yamaguchi Takahiro
June 14, 2020
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
関西Kaggler会_不確実性最適化ゲーム入門
nyk510
1
650
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.4k
Django のセキュリティリリースを見る
nyk510
0
130
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
nyk510
1
1.2k
硬派で真面目なグラフを描く
nyk510
0
570
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
460
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.9k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
1.1k
AWS CPU Credit を完全に理解する
nyk510
0
510
Other Decks in Technology
See All in Technology
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
210
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
520
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
8.7k
LLMにもCAP定理があるという話
harukasakihara
0
100
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
350
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
330
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.7k
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
410
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
100
新しいVibe Codingと”自走”について
watany
5
110
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
140
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
430
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Mind Mapping
helmedeiros
PRO
1
240
KATA
mclloyd
PRO
35
15k
Test your architecture with Archunit
thirion
1
2.3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Abbi's Birthday
coloredviolet
2
8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
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