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
CA x atmaCup 2nd, 5th Place Solution
Search
Shotaro Ishihara
December 08, 2020
Technology
2
930
CA x atmaCup 2nd, 5th Place Solution
「#7 CA x atmaCup 2nd 振り返り回」での発表資料
https://atma.connpass.com/event/198237/
Shotaro Ishihara
December 08, 2020
Tweet
Share
More Decks by Shotaro Ishihara
See All by Shotaro Ishihara
Quantifying Memorization in Continual Pre-training with Japanese General or Industry-Specific Corpora
upura
1
27
JOAI2025講評 / joai2025-review
upura
0
220
AI エージェントを活用した研究再現性の自動定量評価 / scisci2025
upura
1
130
JSAI2025 企画セッション「人工知能とコンペティション」/ jsai2025-competition
upura
0
39
生成的推薦の人気バイアスの分析:暗記の観点から / JSAI2025
upura
0
220
Semantic Shift Stability: 学習コーパス内の単語の意味変化を用いた事前学習済みモデルの時系列性能劣化の監査
upura
0
38
日本語ニュース記事要約支援に向けたドメイン特化事前学習済みモデルの構築と活用 / t5-news-summarization
upura
0
49
Web からのデータ収集と探究事例の紹介 / no94_jsai_seminar
upura
0
310
記者・編集者との協働:情報技術が変えるニュースメディア / Kaishi PU 2024
upura
0
110
Other Decks in Technology
See All in Technology
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
1
350
反脆弱性(アンチフラジャイル)とデータ基盤構築
cuebic9bic
2
120
AI時代の知識創造 ─GeminiとSECIモデルで読み解く “暗黙知”と創造の境界線
nyagasan
0
170
2025-07-31: GitHub Copilot Agent mode at Vibe Coding Cafe (15min)
chomado
2
290
Datasets for Critical Operations by Dataform
kimujun
0
130
Gemini in Android Studio - Google I/O Bangkok '25
akexorcist
0
100
帳票構造化タスクにおけるLLMファインチューニングの性能評価
yosukeyoshida
1
200
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
1
350
CSPヘッダー導入で実現するWebサイトの多層防御:今すぐ試せる設定例と運用知見
llamakko
1
280
猫でもわかるQ_CLI(CDK開発編)+ちょっとだけKiro
kentapapa
0
150
ファインディにおける Dataform ブランチ戦略
hiracky16
0
230
完璧を目指さない小さく始める信頼性向上
kakehashi
PRO
0
130
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
GraphQLとの向き合い方2022年版
quramy
49
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bash Introduction
62gerente
613
210k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Navigating Team Friction
lara
188
15k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Transcript
CA × atmaCup 2nd 振り返り会 5th Place Solution ~チームマージ後の戦略を 中⼼に~
チーム: pao++ (u++ & pao) 2020年12⽉10⽇ 1
チーム紹介 public 4位 -> private 5位 u++: https://twitter.com/upura0 pao: https://twitter.com/pppaaaooo
2
最終的なベスト お互いの予測値の重み付き平均 u++: StratifiedKFoldで学習したLightGBM (public lb: 0.3015, 7位相当) pao: Timesplitで学習したLightGBM
(public lb: 0.2859, 13位相当) u++が使っている未来系特徴は最終⽇に近づくほど⽋損が増 える/paoさんのモデルの⽅が最終⽇に近づくほど性能が⾼い ので、最終⽇に近づくほどpaoさんの重みを上げている (public: 0.3072 -> 0.3089, 4位相当) 3
順位の変遷 4
チームマージ前(u++) 類似コンペのKaggle「TalkingData AdTracking Fraud Detection Challenge」の1位解法を参考にしつつ、1100程度 を作成 StratifiedKFoldで学習したLightGBMが、CV: 0.3736、LB: 0.2427
と過学習気味 (macbook pro RAM 16GB で取り組んでいた) 5
チームマージ前(pao) Timesplitで学習したLightGBM(最後1週間をValidに)で、 CV: 0.2460、LB: 0.2319 特徴量を作成しCVを確認しながら追加し、100程度 「特徴量を追加してもCVが下がってばかりで苦戦している」 -> 順位的には上にいたが過学習に苦しんでいたu++と、 特徴量のアイディアを欲していたpaoさんの利害が⼀致した
6
チームマージ後の戦略 . Slack に private channel を作成 . お互いの取り組みを簡単に共有 .
予想通り⽅向性がある程度異なっていたので、アンサンブル に期待しつつ、多様性を保ちながら互いのモデルを育ててい くことに . バリデーション、特徴量、ハイパーパラメータなどの気付き は積極的に議論 7
サブミット回数 ⽔曜夜のチームマージ時点で残り32サブ(23サブ消化) 最初にサブミット回数について確認 ひとまず1⼈10サブくらいは⾃由に 残りはアンサンブル? ⾦曜朝に2⼈ともLB: 0.264に到達 アンサンブル上げ幅の確認のため平均を提出し、LB: 0.280(相関は0.836) 改めて個々のモデルを伸ばす⽅針に(残り20サブ)
終了までどれくらい時間が使えるか、いつ最後のアンサ ンブルをするかも確認 8
モデルの改善(u++) paoさんのアドバイスに沿って、trainとtestで解離しがちな特徴量 を除いていくことでLBが向上 たとえば「⽇付の day 部分を抽出した特徴はtestの期間が8 ⽇間しかないので危険かも」など 1⼈で取り組んでいると気付きづらい点を指摘してもらった 具体的には特徴量を10個ほど削除することで、⼀気にLB: 0.2643
-> 0.2996 (チームマージで決意を固め、GCP RAM 128GB に課⾦) 9
モデルの改善(pao) u++側で効いていた特徴量のアイディアを活⽤ ユーザ単位で次の imp_at との差分など、未来特徴量 詳細はDiscussion参照(参加者のみ) https://www.guruguru.science/competitions/12/discussions/81f b3840-8902-4def-905f-a9a246f9aa39/ 10
未来特徴量の⼯夫 trainとtestでは期間が異なるので、同じように作るとtrainと testで解離が発⽣ trainの最初の⽅では、次の imp_at が14⽇後というデ ータが存在するが、testは8⽇間しかない testの最終⽇は、最⼤でも24時間後のデータ ⼀定の期間以上のデータを null
に置換すると解離が防 げる⼀⽅で、情報量が落ちる testの⽇付分の8モデルを作成(LB: 0.2705 -> 0.2869) 初⽇モデル: 8⽇後以降は null 、2⽇⽬モデル: 7⽇後以 降は null 、、、最終⽇モデル: 24時間以降は null 11
⽇付別モデルの⽐較 12
Date Weight Ensemble paoさんモデルの⽅がtest後半に強くなると想定した重み付き平均 (LB: 0.3072 -> 0.3089) pao_weight =
{ '2020-06-27': 0.1, '2020-06-28': 0.18, '2020-06-29': 0.26, '2020-06-30': 0.33999999999999997, '2020-07-01': 0.42000000000000004, '2020-07-02': 0.5, '2020-07-03': 0.58, '2020-07-04': 0.66 } ※ 重みは適当だが、late subしても超えられず 13
まとめ CA × atmaCup 2nd の 5位解法の紹介 paoさんとのチームマージ後の戦略を中⼼に 14