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

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

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

 

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

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

 

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

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

 

金メダルを取った人が「Trust your CV」と発言していたのですが、まさにその通りでした。

 

Jigsawコンペとは

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

 

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

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

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

 

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

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

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

 

どうでもいいことですが・・・・

「シェイク」と聞くと、どうしてもスマップの「SHAKE」を思い出しますね。

特に、コンペの結果がでる前日は、「SHAKE」「SHAKE」「胸騒ぎ」と頭の中で曲が流れます。

私の場合は、「SHAKEDOWN」「SHAKEDOWN」「胸騒ぎ」ですが・・・

 

シェイクダウンが起きた理由は、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スクール)では、自分でモデルを評価することを学んでいたので、ちゃんと生かさなければですね。

関連記事

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コンペお疲れ様でした! 最終結果どうだった? &nb[…]

まとめ

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

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

 

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

\AI(機械学習)を学べるプログラミングスクール5選/

イメージ スクール名 学べる内容 受講形式 特徴 料金めやす オススメする人
.Pro(ドットプロ) WEB開発
機械学習(AI)
教室授業 ✔教室による対面授業
✔WEB開発と同時にAIも学べる

AI×Django コース
24週間
¥517,800円

✔仲間と一緒に学びたい
✔AIありのWEBシステムを作りたい
Aidemy Premium Plan WEB開発
機械学習(AI)
オンライン ✔申し込んだ講座以外のカリキュラムも学べる
✔給付金制度を利用して最大70%支給あり

AIアプリ開発講座
12週間
¥528,000円

✔AI(機械学習)について広く学びたい
✔給付金を利用して実質70%引きで学びたい

AIジョブカレ 機械学習(AI)
数学、統計学
教室授業、オンライン ✔10万円台から受講可能
✔数学や統計学を学びたい人向けの講座あり

機械学習講座
16週間
¥132,000円

✔Python,数学、統計学など基礎から学びたい
✔授業形式で講師から学びたい
✔受講料を抑えたい
テックアカデミー WEB開発
機械学習(AI)
Unityでゲーム開発
オンライン ✔AI以外にPHP,Unity,C言語など、主要な言語を学べる
✔料金が10万円代から

Python+AIコース
8週間
¥316,800円

✔AI(機械学習)以外にも学びたいものがある
✔できる限り安い金額で学びたい
✔マイペースで学びたい
侍エンジニア 機械学習(AI)
ブロックチェーン
オンライン ✔現役エンジニアが入学から最後まで寄り添ってサポート
✔ブロックチェーンも学べる
AIコース
12週間〜
¥698,000〜
✔マンツーマンで教えてほしい
✔ポートフォリオのサポートが欲しい
✔ブロックチェーンにも興味がある

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

 

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

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

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

CTR IMG