Kaggle-MoA の振り返り

· 8min · Masataka Kashiwagi

Kaggle-MoA に参加したので,その振り返りを備忘録として残しておきます.

Kaggle-MoA コンペに Team 90's で初参加

このブログは2020/9/4~12/1まで開催していた MoA コンペでの取り組みを紹介します(コンペの詳細な内容については割愛します).

今回のコンペでは,同世代のメンバーでチームを組んで取り組みました!チーム結成の経緯は,Twitter でお互いが90年生まれということを知って,同世代で Kaggle チーム組んで戦いたいねーというのが少し前のことで,当時取り組める良い感じのコンペがなかったのですが,今回テーブルデータのコンペで取り組めそうということで始まりました.

チームでの取り組みはとにかく学びが多く,終盤までモチベーションを保つことができたのが大きかったです.また,議論することで理解なども深まっていくので,コンペを通してより取り組み方やアイデアなど吸収できたと感じます.

今回の僕たちのチームでの取り組み方を紹介すると,

1. 情報は Slack で共有 2. 分析方針や実験結果は Github の issue で管理 3. 毎週末に2時間程度のディスカッション

といった感じでした.

3番目の週末のディスカッションは強制ではなく,参加可能な人が参加する形式で運用してました(と言いつつもみんな真面目に毎回参加していた笑).

今回はチームでの取り組み方針の具体的な内容について少しだけ掘り下げます.

1. 情報は Slack で共有

Slack をどうゆう感じで活用していたのかというと,コンペの Discussion や Notebook の内容について疑問点などを話し合ったり,それ以外にも進め方の相談や雑談などを基本的に行ってました.あとは submit する時は一言声をかけるなどの submit 管理もしていました.

こうゆうのがあれば良かったなーというところでは,新着の Discussion や Notebook を Kaggle から連携して通知する仕組みを用意しておければ尚良かったのかなと.

2. 分析方針や実験結果は Github の issue で管理

Github をどうゆう感じで活用していたのかというと,分析での実験毎に1つの issue を立てて,そこでどうゆう実験をしたのか submit した結果のスコアがどうだったのかなどを記録として残していました.また,共通で使える特徴量生成のコードだったり,CV の切り方のコードなどの共有も行ってました.その他には Discussion の内容を整理したり,情報をまとめるために活用したり.

3. 毎週末に2時間程度のディスカッション

週末に Google meet でオンラインディスカッションを行いました.そこで何をしていたかというと,基本的には今週何をしたのかを各々共有したり,わからない部分を話し合ってどうゆうふうに次進めて行くかなどをチームで考えていました.あとは,次の週でどうゆうことをするかの方向性を決めて終わる感じでした.もちろん雑談や仕事での苦労を労ったりもしてました笑

最終順位

最終順位は4373チーム中34位の銀メダルで、金メダルまであともう少しのところまで行ったので,とても悔しい結果となりました.個人的には Inference の処理がエラーで通らない状況に最後の3日ぐらいで発生して泣きそうになってました.チームメンバーには weight0 の状態で非常に申し訳なかったなと思います泣

学習時に回していたノートブックでは,スコアがチーム内で作ったモデルの中でも上位5つ以内に入っていたので,アンサンブル時には効いてただろうなと思うと尚更残念です.個人的な成長としては,テーブルデータに対して NN モデルが有効に作用する場面について多少理解が深まったと感じています.

今回の MoA では,マルチラベルの予測だったので,一度に大量のクラスを予測する場合には NN が有効でかつ GBDT 系と比較して計算速度も速いんだなと感じました.また,特徴量的にも交互作用的な部分は NN 内部の中間層の組み方などで実現できるので,GBDT 系みたく大量に特徴量を用意しなくても対処できるのが大きいのかなと思っています(今回のケースだと GBDT で大量のモデルを作るとなると速度的な部分で特徴量が膨大になるとかなり厳しい).

あとは,NN の実装を Pytorch で行ったこともあり,Pytorch の扱い方がわかるようになったのは大きかったです(仕事では Tensorflow だったりするので...).Pytorch での実装に関してはもっと進めて行きたいのとコードの整理も合わせてやっていきます.次に参加予定のコンペではその辺りも意識して挑めたらなーと思います.


このエントリーをはてなブックマークに追加

ブログ記事を読んで頂き,ありがとうございます!もしこの記事が良かったり参考になったら,「Buy me a coffee」ボタンから☕一杯をサポートして頂けるとモチベーションが上がります!どうぞよろしくお願いします🤩