2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kaggle Competitions Expert に(運がよく)なれた話

2
Posted at

TL;DR

  • (運がよく)Kaggle Competitions Expertになった
  • AI Agentを活用しながらコンペに参加した
  • 初参加の3年前とだいぶ状況が変わっていた

Kaggle Competitions Expertとは

Kaggle Competitions Expert (通称Kaggle Expert)になるためには、コンペティションで銅メダル以上を2枚獲得する必要があります。
銅メダルの基準はコンペによって多少異なりますが、大規模コンペでは概ね上位10%です。
今回、2枚目の銅メダルを獲得できたことで Kaggle Expert に到達しました。

image.png

とはいえ、正直なところ自分自身を「Kaggle Expertレベルの実力者」だとは思っていません。運がよく、2枚のメダルを取れました。

むしろ今回は、私がkaggle Expert になるまでに何が変わっているか、現在どうコンペに挑んでいるかを備忘録として残します。

3年前

初めて銅メダルを獲得したのは約3年前でした。
当時は学生で、インターンでも売上予測などに取り組んでおり、時系列予測に興味を持っていました。

参加したコンペも時系列予測系で、アメリカの翌月のマイクロビジネスの密度を予測するというコンペでした。
公開Notebookを少し改良して提出したところ、銅メダルを獲得できました。

その後もいくつか別のコンペに参加しましたが、メダル圏内には届きませんでした。
そしてしばらくKaggleから離れることになります。

当時はChatGPTもなく、手書きで分析コードや実験コードを書きながら頑張っていました。

3年前から現在まで

その後、社会人になりました。
データサイエンティストとしてキャリアをスタートしましたが、ちょうど生成AIブームが到来していた時期でした。
会社ではデータ分析案件よりも生成AI活用案件が増え、さらに時代はAI Agentへ。

気付けば日々触っている技術は、統計やモデリングというよりも

  • AI Agent
  • クラウド
  • LLMアプリケーション開発

ばかりになっていました。そのことから

  • Linux
  • Webアプリ
  • クラウドサービス

など、従来のデータサイエンスとは少し異なる領域も学ぶことになりました。

振り返ると、この3年間で最も大きく変わったのは、データサイエンス単体ではなく、より広いソフトウェアエンジニアリングの知識を身につけたことでした。

結果として、Agentへ適切な設計、適切なタスクを与えるといった部分で、コンペにもプラスに働いている気がします。

この3年間の間の生成AIの進化はすさまじく、昔pandas100本ノックを必死に行って、メソッドを覚えてた時代がもはや懐かしいです。
(今はもう全く自分で書いてないのでほとんど覚えていないですね、ブックマークしていたチートシート類も、気付けば全部消していました(笑))

現在はChatGPTのチャットボット型のAIだけでなく、Claude Codeやcodex、各種Agentを活用すれば、EDA/特徴量生成/ベースライン作成/モデル比較 までかなりの部分を簡単に構築してくれます。

特にベースライン構築スピードは圧倒的です。「まず動くものを作る」までに必要な時間が劇的に短くなりました。

また、コンペ自体の内容も変化しています。3年前はテーブルデータのものも多く、とりあえずLightGBMを使うという感覚がありました。

しかし最近は、

  • シミュレーション
  • 画像
  • LLM

など、多様な問題が増えています。

今やAIが数学の未解決問題を解くような時代です。
これからもAIは急速に進化し続け、それに伴ってKaggleへの取り組み方やコンペの内容そのものも変わっていくのだろうと思います。

今回のポケモンコンペの参加

そんな中、社会人になって初めて参加したコンペが以下のポケモンカードコンペです。(通称ポケカグル)
ポケポケの配信をよく見ていたことに加え、自身もダイパ世代ということもあり、興味を持って参加しました。

このコンペでは、ポケモンカードのデッキと、その状況でどの手を選択するかというポリシーを提出します。提出されたポリシー同士を対戦させ、その結果によってランキングが決まる仕組みです。

先に注釈を入れておくと、今回は最終的には公開Notebookベースの解法をそのまま提出したところ運良く銅メダルが取れたという形になります。

まだまだエージェントに「このコンペで優勝して。」と言えば勝てる時代ではなく、どういう戦略で、どういう役割や環境を与えて(俗にいうハーネス?)、どういうアイデアでといったところで実力が出るなと思いました。

今回はエージェントに

  • 公開Notebookを探す
  • Agentに分析させる
  • ローカルで比較実験を回す

といった作業を繰り返していました。

自作のエージェントもローカルで検証してみましたが、公開Notebookの中にローカル評価で非常に高い勝率を出しているものがあり、最終的にはそちらを提出しました。

そして最終的に運良くメダルを獲得できました。

AI Agentをどう活用したか

今回最も活用したのは Multica でした。Multica は最近使用しているOSSのマルチエージェントを動かすプラットフォームのようなイメージです。以下に最近の私のMultica の活用方法を書いた記事を共有します。

オートパイロットでノートブックやディスカッションの情報を定期収集したり、分析や実装するエージェントでチームを作って実装するといったことが簡単にできました。

様々なチーム構成を試しましたが、最終的には以下のようにそれぞれ役割を持たせる形で行いました。

image.png

基本的にはリプレイ分析を使用して上位帯のリプレイや、自分の提出したリプレイを取得、分析し、出てきたアイデアを実装、ローカル検証で評価を行い、とりまとめをリーダーが行うといった形です。

今思えば、claude のモデルを基本的に使用していましたが、他のモデルにレビューさせるなどを行うとさらに色々なアイデアが出て良かったのかなと思います。

また、最近は公開Notebookのレベルが非常に高く、「Notebookのインフレ」が起きているようにも感じます。

そのため、

  • 良質なNotebookを見つける
  • 改良ポイントを見つける
  • 実験を効率化する

ことでも十分にメダルは取れるのかなと思っています。その意味でもAI Agentとの相性は非常に良いと感じました。

今後

今回久しぶりにKaggle に取り組んでみて、改めてKaggle の面白さを思い出しました。
様々なコンペに参加して、kaggle 基礎力を鍛えつつ、AI Agentの使いこなし方を学び、変わりゆく時代を楽しみながら、Master に向けて頑張りたいと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?