DeNAのKaggle日記

第5回:ソフトウェアエンジニア視点で見るKaggleのメリットとスキルの生かし方 - (page 2)

大久保渉太 (ディー・エヌ・エー)

2018-12-03 07:00

エンジニアのスキルがどう役にたつか

 さて、Kaggleに参加したからには上位を狙いたいのが人情です。始めのうちは、「機械学習をちょこちょこっと学べればいいなー」などと考えていたものの、少しずつスコアが上がっていく快感を覚えることで、どんどんとKaggleの魅力に取りつかれていきます。ここではエンジニアのスキルがどのように役に立つかを記述したいと思います。

図:Kaggleを始めたころのプロフィール(成績)
エンジニアとしてのスキルや経験を生かし、上位に入りました。
図:Kaggleを始めたころのプロフィール(成績)
エンジニアとしてのスキルや経験を生かし、上位に入りました。

コードを書くことに抵抗がない

 手を動かすことができる。これはエンジニアの大きな能力の一つではないでしょうか。Kaggleで上位に入るためには、かなりの量のコードで試行錯誤を繰り返す必要があり、最終的に使用するコードの何倍、何十倍も書く必要があります。

 筆者の場合、コンペを最後までやり切ると何万行ものコードが生成されていました。これは普段からコードを書き慣れていない人には非常に難しい行為で、その点でエンジニアには非常に大きなアドバンテージになります。

コードやドキュメントを読むことに抵抗がない

 機械学習の技術は日進月歩であり、初級者はもちろん、上級者でもコンペのたびに新しい技術を学ぶことになります。おそらく新しい技術や手法を学ばずに上位に入ることは難しいのではないでしょうか。

 他人のサンプルコードから学ぶことは多いですし、ライブラリのドキュメントを読み込んだりすることもあります。これらの学習行為を日常業務として行っているエンジニアはかなり多いと思いますので、この点も大きなアドバンテージです。

パフォーマンスチューニングの経験がある

 この点は必ずしも多くのエンジニアに当てはまるわけではないと思いますが、パフォーマンスチューニングの経験があると役に立ちます。

 Kaggleでのモデル作成作業を抽象化すると、コスト(開発工数や費用)に対するパフォーマンス(精度)を向上していく作業といえます。これはエンジニア業務のパフォーマンスチューニングと同じことであり、業務経験をそのまま生かせます。

 また、業務でプロジェクトに参加していれば、スケジュール管理の経験があるでしょう。Kaggleではコンペの開催期間(数カ月など)が決まっており、その期間内に発表した予測結果のみを最終スコアとして使えます。当然、スケジュール厳守なため、普段からスケジュールに合わせて優先順位を付ける習慣が生きてきます(もちろん、コンペ後半になってデスマーチをすることも可能なので、そちらのスキルも生かそうと思えば生かせますが…)。

体感したKaggleの楽しさ

 ここまで、純粋にエンジニア視点でKaggleを紹介してきました。Kaggleに参加していて思うのは、とにかくコードを書いていて楽しいということです。データの特徴について考えるのもそうですし、ちょっとした気付きの積み重ねでスコアが上がっていく過程は本当に中毒性があります。

 ぜひエンジニアの皆さんも一緒に取り組んでもらえるとうれしいです。

大久保渉太
大久保渉太
ディー・エヌ・エー システム本部 AIシステム部 データサイエンスグループ
大学院中退後にニートを経験後、ハローワークの紹介でプログラマーになる。前職ではソフトウェアエンジニアとして働く傍ら、Kaggleで上位実績を収めた。2018年10月にDeNA入社。オートモーティブ事業やゲーム事業への機械学習活用へ向けた開発を行っている。

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

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

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

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

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