Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
MoAコンペで気づいたこと
Search
fkubota
December 19, 2020
Programming
810
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MoAコンペで気づいたこと
fkubota
December 19, 2020
More Decks by fkubota
See All by fkubota
相対性理論の入門の入門
fkubota
0
130
データドリブンな組織の不正検知
fkubota
0
2.5k
JupyterNotebookでのdebug入門(サンプルは説明欄にあります)
fkubota
6
14k
ルールベース画像処理のススメ
fkubota
17
16k
Kaggle日記について
fkubota
2
2.8k
鳥コンペで惨敗した話とコンペの取り組み方
fkubota
1
7.1k
クロマベクトルって何?
fkubota
3
2.9k
生産性と戦った僕の1年の記録とツールたち
fkubota
6
6.8k
Other Decks in Programming
See All in Programming
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
140
パスワード再設定メールのURLについて知っておこう
uyuki234
0
170
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
160
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
200
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
980
AI-Powered Domain-Driven Design
ziobrando
0
200
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
120
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
180
ActionController meets Protocol Buffers
sorah
0
660
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.7k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
180
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Embracing the Ebb and Flow
colly
88
5.2k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
Test your architecture with Archunit
thirion
2
2.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
GitHub's CSS Performance
jonrohan
1033
470k
Documentation Writing (for coders)
carmenintech
77
5.6k
Building Applications with DynamoDB
mza
96
7.2k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Transcript
MoAコンペで気づいたこと fkubota https://www.kaggle.com/fkubota
さっそくですが モデルの性能をtarget_columnごとで評価したことありますか? 僕はあります。 今回のコンペのmetricを見てみましょう。 これを変形してみます。 https://www.kaggle.com/c/lish-moa/overview/evaluation
row方向 column方向 mのみに依存
各カラム毎にscoreを出力できた!
ターゲットカラム毎に評価はできました。 1つ1つ結果を確認するのもいいですが、 もう少しおもしろいことをしましょう。
1の数(n)を数えてみる 17 18 24 190 301 仮説: nが小さいほど(学習が困難になって)lossが大きいのでは? n =
n vs logloss でプロット nが小さいほどうまく学習ができていない? ---> nが小さいほどloglossは大きくなる? 右のグラフを見る限りそうでもない。 仮説は否定された。なんでこうなるの? あと、右上に単調増加する意味ありげな形
これはなにかあるぞ。。。
そもそも、nが1とかだったら、 モデルに予測させるのではなく、 全部0埋めすればいいのでは? こいつら学習させることで きるんですか?
0で埋めるのが最適かはわからない。 0に近い値で埋めたほうがいいのは確か。 どの程度の一定値で埋めればいい? n=1, 2, 3, 4, 5のときに、様々な一定値で埋めて score_colを計算した。 横軸は、埋めた一定値の値。
縦軸はscore_col の値。 最適な一定値はnによって変わる。
実はこの最適な一定値は解析的に計算できる。 簡単に紹介(自分で計算してみてね)。
score_colを最小とするようなCをC_0とする (記号の雑さ、数学的な厳密性の欠如は今は目を瞑ってください m(_ _)m) これを解くと... 美しい感じの解出た! 直感的!!
求めた解を使って、nごとにプロットしてみる おっ??
いっしょにプロット おおおおおおお!
つまり? 計算したloglossを赤色でプロットした。 見事に一致している部分が多くある。 赤色と重なっている青い部分はこう解釈できる。 「1は予測できないが、たまに1がtargetにある。すべて0 にpredictしてしまうとペナルティが大きくなってしまうの で、ちょうどいい感じの値を出しておこう」 モデルは、1を頑張って予測しようとしているのではな く、ペナルティが最小限になるような値を出力しているに 過ぎないと言える。
赤い線に近い値を取っているカラムは 全く学習していない!!!
シェイクの予感 - ほとんどの参加者は、この事に気づいていない - スコアに大きな影響があるのはnが大きいターゲット - おそらくほとんどのモデルはnが小さいターゲットはほとんど学習で きていない - モデルは、nが小さなターゲットではn(1が何個含まれているか?)し
か見ていない。 - testとtrainでnの数に大きな差があれば性能は極端に落ちる。 nが小さいtargetで性能を出せればシェイクアップはできる!!
コンペ後半は、n<200の部分だけの性能アップに注力 - focal loss - mixup - LabelSmoothing - etc….
mixupが一番効く!!
cool_rabbitさんによる実験 黄色: mixup なし 青色: mixupあり 良くなってる 悪くなってる アンサンブルの時、 このモデルはN<200
の部分だけを使うなどの工 夫をした
シェイクアップ!!!!
None