Blog
Kaggleゼミの紹介
こんにちは、AI Labの川端です。
アドテクスタジオにはスキルアップゼミという制度(Googleの20%ルールっぽいやつ)があり、
その中の一つに、私がゼミ長を務めているKaggleゼミというものがあります。
今回はKaggleゼミについて紹介させて頂き、今後は具体的な活動成果などを不定期にお届けしたいと思っています。
What’s Kaggle
Kaggleは、データと課題を抱えている依頼者と世界中に散らばるデータサイエンティストを引き合わせるプラットフォームで、データサイエンティストとか見たら世界一のデータ解析コンペになります。依頼者は課題とデータと賞金を提供し、データサイエンティストはデータを活用して課題を解き、優秀な成果を出せば、依頼者からソリューションと引き換えに賞金を受け取る事ができます。データ分析に特化した一種のクラウドソーシングと思ってもらえれば分かり易いかと思います。
2016年の4月時点では、世界194カ国、50万人以上の人が参加しています。日本でも徐々に知名度が上がってきましたが、海外ではかなり流行っており、リクルーティングやデータサイエンティストのコミュニティの場としても良く使われているようです。
これまでの依頼者として、Microsoft、Facebook、Amazon、GE、NASAなどなど世界を代表する企業も多く参加しています。昨年、リクルートが国内ではじめて依頼者として参加したことでも話題となりました。
Kaggleではだいたい3~5個くらいの賞金付きのコンペが常時開かれています。コンペの種類は他にも、上位入賞すれば採用面接が受けられるリクルーティング用のコンペや練習用のコンペなどいくつかの種類があります。
1つのコンペは2~3ヶ月間の期間で順位を競いあい、回答のCSVファイルをアップロードすると即座にスコアとランキングが更新されるようになっています。コンペが終了すると最終的なランキングが発表され、上位入賞者は賞金を獲得することができます。また、TOP1〜10、TOP10%、TOP25%に入った参加者はそれぞれコンペの依頼者のロゴが入ったバッジが付与されます。
さらに、コンペの最終的なランキングに応じてKaggleポイントが付与され、そのポイントによりKaggle Rankingsが決まります。データサイエンティストにとっては、コンペでの賞金ももちろんですが、Kaggle RankingsでTop100など上位に入る事もモチベーションになっています。
それともう一つ、Kaggle内には下図のような3つの序列があります。(といっても、1つでもコンペに参加すればKAGGLERになるので、実質は2つになりますが。)
このMASTERの称号を取得することも、Kaggle内にいるデータサイエンティストの大きなモチベーションになっています。
どうやったら、MASTERの称号がもらえるか、満たす条件は2つあります。
- Consistency: at least 2 Top 10% finishes in public competitions
- Excellence: at least 1 of those finishes in the top 10 positions
1つめは、コンペで少なくとも2回、Top10%に入ること、そして2つめは、Top10以内に少なくと1回は入ることです。
つまり、ずば抜けた成績(Excellence)と、それがまぐれではない(Consistency)と認められればMASTERの称号が与えられます。
Kaggleゼミ
Kaggleゼミは2015年の11月から始動し、2016年の3月で第一期の活動を終えました。
第一期の目標は、『少なくとも1つのコンペでTop10%に入る!』ことです。
メンバーは私を入れて5人で、AI Labからは川端・Duc・馬場、基盤開発グループからは平坂、CAリワードからは阿部が参加しています。
活動は基本的に週一で、2~3時間集まってモクモクと作業したり、それぞれの手法やデータを可視化して得た気付きを共有したり、アイデアを出し合ったりしながら進めています。隔月で、外部の施設を借りて集中合宿なんかもしています。
これまでの成果は…
Rossmann Store Salesコンペで参加3303チーム中24位 !
The Allen AI Science Challengeコンペで参加170チーム中41位!
でした。
Rossmannのコンペは、6週間先までのdailyの売上を予測する問題でしたが、幸先良くTOP 10%を達成し、しかも24位とTOP10も視野に入る好成績を挙げることができました。
Allen AIでは「あなたのモデルは中学2年より賢いか?」といういかにもAIっぽいコンペで、他のコンペに比べて難易度が高く参加チームが少ない(冷やかしで参加している人が少ない)ながらもTOP25%に入る事ができたので上出来だと思っています。
これらのコンペの取り組みについては、また別の記事で紹介したいと思います。
Kaggleゼミ 第二期
4月からゼミとして第二期を迎えましたが、次の目標はずばり、
『Kaggle Masterになる!』ことです。
TOP10%はすでに一度獲得しているので、TOP10に入るように頑張っていきます!
これが、ものすごーーくハードルが高い。Kaggle内でのデータサイエンティストのすそ野も広がり、全体のレベルも上がっている上に、Kaggle Rankings上位の猛者たちの壁が非常に厚い。彼らですら狙ってTOP10に入るのは難しく、運の要素も必要と言っています。
次の目標と言いましたが、『Kaggle Masterになる!』というのはゼミとしては最終目標で、達成したら解散(卒業)かなと思っています。
Kaggleにチャレンジする意義
ビジネスの中でのデータサイエンスのライフサイクルは下図のようになります。
データサイエンスの目的はビジネスインパクトを与えることであり、高いレベルでドメイン知識とテクニカル知識を有し、融合していることが望ましいです。どちらかが欠如していたら、正しい問題を正しく解くことができず、成果がいつまでたっても出ないという自体に陥ってしまいます。データを武器にできていない会社はおそらく、どちらか、もしくは両方が欠如しているか、うまく融合出来ていない(ドメイン知識がある人と、テクニカル知識がある人がうまくコミュニケーションできていないなど)状態がほとんどだと思います。
Kaggleは実戦的なテクニカルな知識(下図の赤枠内)を鍛える上で有用な場です。
正しい問題とデータはすでに用意されているので、どれだけそれを正しく解けるかを公平な場で他者と競い合いながらスキルを磨く事ができます。また、活発なフォーラムや勝利者のブログなどから、たくさんの有効なスキルを学ぶ事ができます。なので、データサイエンスの初心者などはどんどんチャレンジした方がいいと思います!
ただし、上位を狙うためのモデルはあくまでコンペ用のモデルで、実問題ではコスパが見合わないことが多いのは言うまでもありません。
感覚としてはコンスタントにTOP10%に入れていれば、テクニカル知識としては十分なレベルかなと思います。
Author