DeNAのKaggle日記

第8回:データ分析コンペの初心者が楽しむためのポイントとは? - (page 2)

秋山卓也 (ディー・エヌ・エー)

2019-05-06 07:00

コンペごとの特色を知る

 一口にデータ分析コンペといっても、実はコンペごとに種類や特徴が異なります。向き不向きは人それぞれですが、コンペの色が大きく出るポイントを幾つか紹介します。

取り扱うデータの種類

 コンペを最も特徴付けるのはそのコンペで取り扱うデータの種類で、大きく下記の4種類に分けられます。まれにその幾つかを組み合わせたようなコンペが開催される場合もあります。

  • テーブルデータ:数値やカテゴリなどの情報の組み合わせで構成されるテーブル形式のデータ。複数のリレーショナルなテーブルを取り扱うことが多い
  • 画像データ:その名の通り画像のデータ。人、物や風景の画像のほか、X線写真などの医療画像を取り扱うコンペもある
  • テキストデータ:文章のデータ。多くの場合は英語だが、まれに他言語の場合もある
  • それ以外:波形データやグラフデータなど

 中でも、テーブルデータとそれ以外とでは、戦い方に大きな差があります。まず、テーブルデータ以外の特に画像データやテキストデータの場合は、大体のコンペでディープラーニングを主体とした勝負となります。学会が主催となって行われるコンペが多いことからも分かるように、最新のネットワーク構造や最適化手法の競い合いになりがちです。大学などで専門に勉強・研究をしていて他者と差別化できる自信がある場合はおすすめです。

 一方でテーブルデータの場合は、データを読み解く力と発想力が一番大事な要素であり、初心者でも比較的手を出しやすい特徴があります。基礎的な部分はチュートリアル用のコンペで学べば、あとはどれだけデータと向き合い、重要な性質を発見して機械学習アルゴリズムに入力できるかが肝となります。

 しかしながら「気軽に手を出せるため参加者が多くなりやすい」「勝つためには誰よりも多くの発見をする必要がある」という点から、競争が激化しやすくなります。さらに、テーブルデータは画像などのデータに比べて一般的にはモデルの学習時間が短いため、「この学習が終わるまでいったん寝よう」といった休憩の取り方ができません。一部のコミュニティーでは「テーブルデータコンペは勝つために人間性を捧げる必要がある」と言われるほど、時間と体力と精神力を要するのも事実です。

フォーラムがあるかないか

 コンペ中にその内容について話し合える「フォーラム機能」の有無も、そのコンペの特色に大きく関わってきます。Kaggleでは基本的に全てのコンペでフォーラム機能があるのですが、Kaggle以外のコンペではフォーラム機能がある方が珍しかったりします。

 「え、皆で競い合っているのに何を話し合うの? もしかして解法について話し合ったりするわけじゃないよね?」と思うでしょう。その通り、コンペ開催中にも有用な情報や解法がどんどんシェアされます。特にKaggleの場合はこうした情報のシェアに対してもインセンティブが与えられる仕組みがあるため、皆が積極的に情報を公開していきます。

 それによる一番大きなメリットはやはり、他人の手法・解法を学んだり、自分の手法と融合して取り入れたりができる点です。またその手法をベースラインとして改良していく戦い方ができるのも、ゼロからのスタートだと何をすればいいのか分からない初心者には優しい点です。

 しかし良い影響だけではありません。まず、自分がどんなに画期的な発見をしたとしても、どんなにコツコツと良いモデルを作っても、それがフォーラムで共有されるとそれまでの努力はほとんど無に帰します。これは実際にやられるとかなり精神にダメージを負います。また、コンペ中のフォーラムには滝のように情報が流れてきますので、実際に有効なものはどれなのかを取捨選択するために、大量の時間を投入して実験・検証するとともに綿密な実験管理をする必要が出てきます。

 逆にフォーラムがないコンペでは、他人に振り回されずに自分のペースで取り組めるし、また自分で頑張った分だけスコアが伸びていく達成感があります。しかしながら、もし良い成績を残せず上位入賞者の解法を知ることもできないとなると、コンペ終了後に何の学びも得られないこともあります。初心者の場合は最低限、コンペ終了後には何かしらの方法で情報が共有されるコンペに出るべきでしょう。

ソロ参加限定かチーム参加可能か

 データ分析コンペを一人(ソロ)でやり抜くか、チームを組んで戦うかという選択肢も、自分の立ち振る舞いに大きく影響します。チームを組めるかどうかはコンペのルールに記載してあるので必ず確認しましょう。

 こちらの記事(第3回:チームで取り組むKaggleの面白さ--コンペ準優勝の裏側とは?)にもある通り、コンペでスコアを上げるには、単一のモデルの性能を上げる以外に、複数のモデルを組み合わせるアプローチ(モデルアンサンブル)があります。モデルアンサンブルでは、モデル同士の性質が離れているほどアンサンブル効果が高まり、そのようなモデルの組み合わせを「多様性がある」などと表現します。コンペで上位に行くためには、多様性のあるモデル同士のアンサンブルが不可欠です。

 ソロ参加で上位入賞を目指す場合、データ分析の全ての工程を一人で行う必要があるだけでなく、多様性のある複数のモデルを一人で作る必要もあります。一方でチームを組む場合、自分の得意な領域だけに専念するという選択を取ることができます。初心者の場合だと、データの探索と特徴エンジニアリングに専念して、モデル学習や後処理は経験者に任せる、といった分業が可能です。

 また、ニューラルネットワークのモデリングが得意であればテーブルデータコンペにおいては多様性の観点からとても重宝されます。このように自分の長所を自覚している場合には、フォーラムでアピールしてチームマージの依頼を貰うこともできるので、アピール力やコミュニケーション能力も大事です。

終わりに

 個々のコンペを特徴付ける要素はもっとたくさんあるのですが、難しく考えすぎて参加に尻込みしてしまっては本末転倒なので、今回は上記の3点を紹介しました。これを足がかりにデータ分析コンペの世界に足を踏み入れ、そしてより多くの人がその楽しさを実感してくれることを願っています。

秋山卓也
秋山卓也
ディー・エヌ・エー AI本部 AIシステム部 データサイエンスグループ
Kaggle Master。国内外のさまざまなコンペで入賞歴を持つ。前職の通信キャリアでは各種データを活用した広告配信の最適化施策や新規事業領域の調査など幅広い業務に従事し、2018年8月にDeNAに入社。現在はオートモーティブ事業部と協力してAIを活用した次世代サービスの開発を行っている。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

マイナンバーカードの利用状況を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]