もうkaggleのシェイクダウンで絶望するの終わりにしませんか?「Trust your CV」

kaggleの「Jigsaw Rate Severity of Toxic Comments」コンペお疲れ様でした。

皆さんは、Jigsawコンペ如何だったでしょうか?

私は、PL(パブリックリーダーボード=Public Score)のスコアでは、一時的に銀メダル圏内に入りましたが、恒例のシェイクダウンで無メダルになってしまいました。

これでもう、私は、1年間ずっとシェイクダウンの制裁を受け続けています。

 

今回のJigsawコンペのおかげで、なぜシェイクダウンが起きたのか、やっと自分なりの答えが見えたので整理する意味でも共有します。

結論から言うと、シェイクダウンの理由は、PLスコアを信じ切ってしまったからでした。

金メダルを取った人が「Trust your CV(あなたのスコアを信じろ)」と発言していたのですが、まさにその通りでした。

\IT未経験者からのサポートあり!転職サービス3選!!/

サービス名
未経験 未経験OK 未経験の転職専用 経験者向け
公開の求人数 ITエンジニア全体で1万件以上
ITエンジニア未経験で600件以上
未公開 5,000件以上
利用対象 全職種 IT特化 IT特化
特徴 ✓誰もが知る転職サービス
✓経歴を登録しておくとオファーが来る
✓企業担当者と条件交渉
✓スキルの身につく企業を紹介
✓IT専門のエージェントが対応
✓転職成功すると年収200万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア

 

Jigsawコンペとは

Jigsawコンペとは、悪口などの汚い言葉が、どのくらい汚いかを判別する自然言語のコンペです。英語とは言え、提供される生データを見ているとネガティになるコンペだったので、ある意味、精神力との戦いでもありました。

シェイクダウンが起きた理由

Jigsawコンペの結果は以下の通りです。

出典:Jigsawコンペのリーダーボード

 

シェイクアップ、シェイクダウンがものすごいですね。

順位が1000位以上あがってくるケースもすくなくありません。

おそらく、PL上位のほとんどは、シェイクダウンしたと思います。

 

シェイクダウンが起きた理由は、PLスコアだけで、自分が作ったモデルの精度を評価していたことです。

(PLに頼らず)自分でCV(CV=クロスバリデーション)スコア出して、自分自身で作ったモデルを評価する大事さを知りました。

※この記事では、自分で評価して出したスコアは、便宜上「CVスコア」で統一します。

 

kaggleのディスカッションで、PLスコアとCVスコアを一緒に共有する人がいましたが、その理由がよくわかりました。

 

本題:シェイクダウンを防ぐ方法

Jigsawコンペを通して、シェイクダウンを防ぐ方法を私なりに整理しました。

 

PLスコアの算出は、テストデータの何%を利用するのか確認すること

PLスコアの算出方法の確認は、基本中の基本ですね。

Jigsawコンペでは、テストデータの5%だったので、それだけでもPLスコアを当てにしては行けなかったかもしれません。

 

自分自信でモデルを評価しよう

kaggleのコンペで勝つには、PLスコアではなく、自分自身でCVスコアをだして評価することが大事でした。

 

実例として、toxic-bertを使ったNotebookのPLスコアは低かった(そのためtoxic-bertは意味ないと判断)のですが、PV(プライベート)スコアでは高かったです。

これもCVスコアをちゃんと出していて評価していれば、気付いていたと思います。

 

AIジョブカレ(筆者が、AIを学ぶのに大変お世話になったAIスクール)では、自分でモデルを評価することを学んでいたので、ちゃんと生かさなければですね。

 

PLスコアとCVスコアを比較して相関を確認する

PLスコアが当てになるか調べる方法としては、PLスコアとCVスコアの相関を確認します。

良い例が、コンペで1位を取った人ディスカッションにありました。

 

model data validation public LB private LB
roberta-base ruddit 0.6859 0.8108 0.7845
roberta-large ruddit 0.6865 0.8132 0.7955
deberta-base ruddit 0.688 0.7903 0.788
deberta-large ruddit 0.6942 0.8296 0.7989
roberta-large jigsaw19 0.6991 0.7468 0.7968
roberta-base jigsaw19 0.7008 0.7617 0.802
roberta-base jigsaw18 0.7023 0.7815 0.8052
deberta-base jigsaw19 0.7026 0.7403 0.7958
roberta-large-l jigsaw18 0.7027 0.7737 0.8013
roberta-base-l jigsaw18 0.7028 0.769 0.807
deberta-base-l jigsaw18 0.703 0.7474 0.8013
roberta-large jigsaw18 0.7035 0.7788 0.8064
deberta-base jigsaw18 0.704 0.7598 0.803
deberta-large-l jigsaw18 0.7044 0.7716 0.8085
deberta-large jigsaw18 0.705 0.7906 0.8139

出典:1st place solution with codeのCV,パブリックスコア、プライベートスコア

上記の情報を元に、「CV – パブリックスコア」「CV – プライベートスコア」の関連度合いをみるため散布図を書いてみます。

「CV – プライベートスコア」の関係を見ると、何となく正の方向に相関しているとおもいませんか?

相関係数を出してみると、以下の結果になりました。

「CV – プライベートスコア」・・・ 0.759115282

「CV – パブリックスコア」・・・ -0.658071779

「CV – プライベートスコア」は正の相関になったことがわかります。

一方で、「CV – パブリックスコア」に着目すると、負の相関になっており、散布図(public LB)をみても、比例していない(?)ような結果になっています。

 

そのことからもCVスコアを出すことが大事だと気づきました

CVスコアを出した後は、なぜスコアが上がったのか、下がったのか、自分が納得できる答えを出せると尚良いです。

 

高スコアのNotebooksにうかつに飛びつかない

Jigsawコンペでは、マジックナンバー(スコアを上げるためだけに、根拠の無い数字が使われているもの)が使われいるNotebooksが、銀メダル圏内に入り交じっていました。

 

私の感想としては、Notebooksの妥当性(根拠が正しいかなど)も確認して、情報に惑わされないことも重要でした。

 

シェイクダウンでモチベーションが落ちた人はこちらへ

シェイクダウンを受けると、そのショックで、kaggleに対するモチベーションが落ちてしまうと思います。

 

モチベーションが落ちたときの対処方法は、以下の記事にまとめたので気になる方は確認してみてください。

関連記事

  金メダルとったメイド Mechanisms of Action (MoA) Predictionコンペお疲れ様でした!最終結果どうだった?  […]

まとめ

今回は、Jigsawコンペを通して、シェイクダウンを防ぐ方法について述べました。

kaggleで勝つ人は、「Trust your CV」ができる人。つまり、自分自身を信じることができる人。そんなことをこのコンペで学ぶことできたのでした。

 

今度こそ、銀メダル以上は取りたいですね!

入会するか悩むのは無料カウンセリング後で十分間に合います!無料カウンセリングは、スクール名のリンクから申し込みできます。

>>より詳しく5つのスクールについて知りたい方は、以下をクリック!

 

最新情報をチェックしよう!
>プログラミングスクール検索・比較表サイト

プログラミングスクール検索・比較表サイト

ワンクリック、さらに詳細に条件を指定してプログラミングスクールの検索ができます。さらに比較表により特徴を細かく比較できる!

CTR IMG