ねほり.com

何もないから何かみつかる

Kaggleの概要を理解する(Titanicの次に向けて)

   

これまで、Kaggleの「Titanic: Machine Learning from Disaster」「House Prices: Advanced Regression Techniques」「Digit Recognizer」に参加しました。

ですが、そもそもKaggleの仕組みが分かってないのでないので調査しました。

敵(Kaggle)を知る

なぜ多くの人がKaggleコンペに参加するのか?

Kaggleに参加するデータサイエンティスト(以降、Kaggler)は、幅広い機械学習問題への取り組み経験から得られる引き出しの広さと、限られた時間で高いレベルのアウトプットを生み出せるスピード感を持っています。

このため、多くの企業がKagglerを競うように採用しているようです。

企業でのKaggleの位置づけ

インテル(Intel)

インテルは2018年10月、機械学習研究者を募集する広告を出し「Kaggleコンテストでの優勝経験」を要件として挙げました。

ヤフー(Yahoo)

初任給650万円採用(エンジニアスペシャリストコース)というものがあり、受験資格としてkaggleで上位10%以上のスコアが求められています。

フェイスブック(Facebook)

Kaggleでコンテストを実施し、優秀な成果を出した人材への賞として「就職面接のチャンス」を出しました。

ディー・エヌ・エー(DeNA)

2018年4月3日、AI研究開発部門におけるデータサイエンスト強化のための新制度「Kaggle社内ランク」を4月から導入すると発表しました。

Kaggle社内ランク制度は、データサイエンスチームのメンバーに対して業務時間を使ったKaggleへの参加を認める制度です。

「称号」を取得するには?

Kaggleには獲得メダルの色と数によって決定されるGrand master(グランドマスター)、Master(マスター)、Expert(エキスパート)、Contributor(コントリビューター)、Novice(ナビス)の段階があります。

どうしたら称号が貰えるのか確認しました。

称号説明
Novice(ナビス)Kaggleに登録したときにもらえる称号
Contributor(コントリビューター)プロフィールの完成や1stサブミットの実施でもらえる称号
Expert(エキスパート)2つの銅メダルを取得したときにもらえる称号
Master(マスター)1つの金メダルと2つの銀メダルを取得した時にもらえる称号
Grandmaster(グランドマスター)5つの金メダル(チームでも可)および1つのソロ金メダル(1人での参加)を取得したときにもらえる称号

 

とりあえずContributorを目指すか・・・・。

「Cast 1 upvote」は、自身で他のユーザー1人を支持すれば満たされます。

「メダル」を取得するには?

コンペでメダルをもらえる数は、コンペの規模によって変動します。

0~99チーム100~249チーム250~999チーム1000チーム以上
Bronze(銅)上位40%上位40%上位100人上位10%
Silber(銀)上位20%上位20%上位50人上位5%
Gold(金)上位10%上位10人上位10人と0.2%上位10人と0.2%

 

ざっとコンペの参加チーム数を確認すると大半は1000チームを超えています。

つまり「上位10%」に入らない限り、銅メダルも貰えないようです。

私のように入門コンペすら最高で「Top 49%」の人は一生無理では・・・?

想像以上に厳しいです。

「コンペティションの種類」を確認する

コンペティションの種類によってはメダルは貰えないようです。

例えば「InClass」や「Playground」や「Getting Started」コンペではメダルはもらえません。

Common Competition Types

種類立ち位置メダル
Featured困難で一般的に商業目的の予測問題を提起する本格的な機械学習課題あり
Research特集された競技問題よりも実験的な問題あり
Getting Started初心者がまずやるべき。チュートリアルなし
Playground比較的単純な機械学習タスクを提供する競技。初心者が次に取り組むべきものなし

 

私が今まで参加した3つのコンペティションは「Getting Started」です。

次に「Playground」がありますが、こちらもメダルは貰えません。

Other Competition Types

種類立ち位置メダル
Recruitment企業が企画した課題の機械学習モデルを構築なし
Mastersプライベート及び招待性コンペあり
Annual年2回の競技大会あり

 

こちらは特殊なコンペティションです。

メダルが獲得できるコンペか否か確認する

コンペのトップページの「Tiers」部分の表記で確認できます。

例えば、メダルが獲得できるコンペでは、次のような表記です。

一方で、メダルが付与されないコンペでは、次のような表記になっています。

「ポイント」を取得するには?

基礎点として100,000点配られます。ここから参加チーム数、順位、自チーム人数によって、0~1の係数がかかって最終的な獲得ポイントが決まります。

ただしTierに比べあまり重視されることはありません。

己(自身のスキル)を知る

エンジニア活動からも退き、昇格争いからも負けた大手企業の社畜です。

年末年始に他の日本語サイトを見ながら試行錯誤してKaggleの「Getting Started」のランキングは次の通りです。

全然駄目だよね。

そもそも知識もスキルも低いよね。

更に平日は時間が無い・・・・

どうしよ。

Kaggleで上位に入るためには?

セミナーでも受講するか・・と思いましたが、新しいコンペに取り組むごとに本や論文からのinputは必要とのことです。

また、上位の人はたくさんのモデルをうまく組み合わせている(アンサンブルさせている)ようです。

こんなの自分では気づけないよね・・・

 

と思って調べてましたが、フォーラムを見ずに上位を狙うのは「上級者の遊び方」と言い切ったサイトがありました。

つまり、「ディスカッション」と「カーネル(kernel)」はupvoteが多いものを中心に出来るだけ多く目を通す事が上位に上がれるコツのようです。

全く使っていませんでしたが、kaggleには「カーネル(kernel)」という機能があります。

そのコンペで、こういうコードをかいたらうまくいった!

といったような情報共有をしてくれるものです。

先人の知恵を生かしながらコードを書いて行くことでよりスピーディーにスコアを上げることができます。

おすすめの検索方法は、次の方法で絞り込む事だそうです。

competitonページトップ>Kernels>Sort by Most Votes 、Languages→Python、Types→Notebook

 

なお、上位を目指すにはディスカッションやカーネルで議論・公開されている以上のモデルを作る必要があります。

ディスカッション・カーネルでは上位の人や強い人が、そのコンペに関連するとても有用なことを共有し、コンペ参加者はその情報をアレンジして自分のモデルに取り入れています。

上位入賞者はコンペ締め切り間近になると、睡眠時間を削ってkaggleをやるそうです・・・。

まとめ

新年の目標に「Kaggleで銅メダル」と書きましたが、これを狙うと一年間をこれだけに没頭する必要がありそうです。

しかも次のようなコメントもあります。

銅メダルは入るための基準がコンペによってまちまちな印象があるので、これを目指すというのはあまりお勧めしないかも。
どのコンペでも大体誰か優しい人がbeat the benchmark(以下btb)と言われる、基本的なモデリングを行ったSolutionをKaggle Kernelに上げてくれるのですが、銅メダルを目指すよりは、btbを自力で超えられる力をつけるということを目指して結果として銅メダルなどがついてくる方が良さそう。

[引用] 門脇大輔氏のBlog(Kaggle Competitions Master)

個人的に、Top40%以上をコンスタントに取得できるようになれば、自然と機械学習・データ分析の実力はついている気がします。

 - 2020年(社会人16年), 機械学習, テクノロジー

  関連記事

Kaggle の Titanic Prediction Competition でクラス分類(Keras Functional API編)

データサイエンティストの転職サイトを見ると年収 600万 ~ 1,200万円ぐら …

地震、雷、火事、親父の語源は?オヤジ=台風は嘘?(1/2)

とうとう新型コロナウイルスが勤務地まで襲ってきました。 〜東京都内で #コロナウ …

千葉市検見川浜・稲毛海岸でマテ貝・シオフキガイ捕りと砂出し調理法

昨日、マテ貝を大量に貰ったので、自分たちでも挑戦したくなり「マテ貝」を取りに来ま …

エンジニアによる品質保証(品質説明力編)

「バグ出しのテスト」をすれば品質が保証できると思いがちですが、そうではありません …

KerasのFunctional API Modelの構造を理解する(ディープラーニング)

Kerasには2通りのModelの書き方があります。 Sequencial Mo …

偽証罪・名誉毀損罪・侮辱罪などをまとめておく

購入したNECのLaVie L「LL750/4DW」の CD ドライブが壊れまし …

人工知能は神となり、人々の信仰対象となる

日記を書くことを最低月2回と決めて続けてきましたが、最近は辛いです・・・。 本業 …

「平均・分散」の計算を、計算コストを減らして短いソースコードで書く

中間発表が終了。ネットワークが落ちたりと…あまり進んでいませんが…  …

検索エンジン「Google」のパロディサイトが増える(2/2)

今日のニュース・・・・ Windows2000設計情報が流出 ━━゚∀゚)━━━ …

プロシステムトレーダーサスケ氏の逆張り有効性検証(システムトレード)

本日14:00過ぎ、突如としてナイアガラ発生。     日経 …