タイトルは釣りです(元ネタ:過学習の恐怖,またはいかにして私は1分間でランキングを50位も落としたか(要約) - 糞ネット弁慶)
Africa Soil Property Prediction Challenge
8月終わりからKaggleで行われていた“Africa Soil Property Prediction Challenge”,通称AfSISが終わりました.このコンペは衛星から取得したアフリカの各地点の吸光度などの数値情報を元に,その場所のSOC,pH,Ca,P,Sandの計5種類の地質学的な測定値を推定するという問題でした.問題設定としては定番っぽくて取っ付き易いものの,実際にやってみるとこれまた難しい感じでした.
私は開催当初から参加していて,一時期9位まで上がったものの,そこから何もしなかったらどんどん抜かされたというわけです.
Hold my calls. Top 10 on #kaggle - https://t.co/EUmPGDB0oq
— やぐ (@yag_ays) September 3, 2014
忙しさが一段落したのでkaggleに戻ってきたらランクが150位くらい下がってて厳しさがある
— やぐ (@yag_ays) September 19, 2014
それに加えて開催期間が終わってテストデータ全体での評価が出た結果,おそらく過学習でスコアが下がり,開催側が設定したBART Benchmarkよりも下回るという有り様でした.Kaggle怖いです….
私は如何にして(ry
今回は時間があったので,今回は色々試した気がします.定番のSVRに始まり,Gradient Boosting Regression Treesしたり,Random Forest Regressor使ったり,あとはForumに投稿されたH2Oでのdeep learningもどきもひと通り動かしたのですが,結果的に一番良かったのがSVRだったのでその中から前処理を幾つかやったやつを最終的にサブミット.実際はAbhishekのBeating the Benchmark ;)のやり方とほとんど変わらないと思います.どこで差が付いたのか,あとAbhishekを代表とするSVR勢は過学習を回避して大勝利となったのか,気になるところです.
いや確かにpublic leaderboardは手元で算出したスコアとかなり乖離があって謎いとは常々思っていたのですが,一応scikit-learnのgrid searchでチューニングはしているので大丈夫だと…厳しい.
といっても上位陣もかなり大荒れだった模様.以下のランクはpublic→privateの順で,これを見てもらえればわかる通り上位陣は著しくランクを落としている人が多い.逆にprivateでは100位以内くらいから上がってきた人が多く,今回は本当に結果が読めなかったようでした.
public上位
Public Leaderboard - Africa Soil Property Prediction Challenge | Kaggle
- sorpmaL:1位→515位
- Dmitry & Abhishek:2位→7位
- vsu:3位→484位
- Redwoods:4位→34位
- ahaldenby:5位→517位
private上位
Private Leaderboard - Africa Soil Property Prediction Challenge | Kaggle
- Yasser Tabandeh 14位→1位
- Charly B. :428位→2位
- CodiLime.com:42位→3位
- seewaters:61位→4位
- UK calling Africa:88位→5位
詳しいことは後々明らかになっていくことでしょう.Forumを静観.
あと,悔しいので念のために書いておきますが最終サブミッションに選択した以外のやつではきちんとベンチマーク上回っているのありました.ただ,スコアがいいやつに限って最初の方にサブミットした何のひねりも無いSVRだったりして,心が折れそう.
Lessons Learned
社会は厳しい.