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
Semantic Shift Stability: 学習コーパス内の単語の意味変化を用いた事前学習済みモデルの時系列性能劣化の監査
upura
0
16
日本語ニュース記事要約支援に向けたドメイン特化事前学習済みモデルの構築と活用 / t5-news-summarization
upura
0
19
Web からのデータ収集と探究事例の紹介 / no94_jsai_seminar
upura
0
230
記者・編集者との協働:情報技術が変えるニュースメディア / Kaishi PU 2024
upura
0
87
ニュースメディアにおける生成 AI の活用と開発 / UTokyo Lecture Business Introduction
upura
0
280
マルチモーダル AI 実装の課題と解決策 / Developer X Summit
upura
0
320
ニュースメディアにおける事前学習済みモデルの可能性と課題 / IBIS2024
upura
3
920
「巨人の肩の上」で自作ライブラリを作る技術 / pyconjp2024
upura
3
1.1k
Quantifying Memorization and Detecting Training Data of Pre-trained Language Models using Japanese Newspaper
upura
0
78
Other Decks in Technology
See All in Technology
製造業向けIoTソリューション提案資料.pdf
haruki_uiru
0
240
『ささAI』ネタづくりをささえるAI📝 (にぼしいわし担当:GIFTech2025)
masapyon1212
0
110
テストって楽しい!開発を加速させるテストの魅力 / Testing is Fun! The Fascinating of Testing to Accelerate Development
aiandrox
0
170
Azure & DevSecOps
kkamegawa
2
180
LangfuseではじめるAIアプリのLLMトレーシング
codenote
0
140
TanStack Start 技術選定の裏側 / Findy-Lunch-LT-TanStack-Start
iktakahiro
0
110
本当に必要なのは「QAという技術」だった!試行錯誤から生まれた、品質とデリバリーの両取りアプローチ / Turns Out, "QA as a Discipline" Was the Key!
ar_tama
9
4.1k
Pythonデータ分析実践試験 出題傾向や学習のポイントとテクニカルハイライト
terapyon
1
140
OPENLOGI Company Profile for engineer
hr01
1
26k
genspark_presentation.pdf
haruki_uiru
1
240
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
3
170
kernelvm-brain-net
raspython3
0
510
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Making Projects Easy
brettharned
116
6.2k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Rails Girls Zürich Keynote
gr2m
94
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Code Review Best Practice
trishagee
68
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
It's Worth the Effort
3n
184
28k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
The Cult of Friendly URLs
andyhume
78
6.3k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
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