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コンペの結果は以下の通りです。
シェイクアップ、シェイクダウンがものすごいですね。
順位が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」ができる人。つまり、自分自身を信じることができる人。そんなことをこのコンペで学ぶことできたのでした。
今度こそ、銀メダル以上は取りたいですね!
- 👑👑Aidemy Premium Plan・AIを基礎から学ぶPython特化型プログラミングスクール
受講期間中ならAI、WEB開発、データサイエンスなどの多くの技術を身につけられる!
開発環境がすでに用意されているから、すぐに学習に取り組める! - テックアカデミー・最短4週間から学べるスクール
週2回のメンタリングでモチベーションを持続できる
受講料が10万円台からとお財布に優しい! - 侍エンジニア・専属メンターと二人三脚でオリジナルサービス開発を実現
オリジナルカリキュラムであなたの目的にあった技術を学べる!
あなた専属のメンターが、入学から卒業まで学習をサポート
>>より詳しく5つのスクールについて知りたい方は、以下をクリック!