俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話

俺って、おバカさんなので、とっても優秀な人工知能を作って代わりに頑張ってもらうことにしました。世界の端っこでおバカな俺が夢の達成に向けてチマチマ頑張る、そんな小さなお話です。現在はG検定、E資格に合格し、KaggleやProbSpaceのコンペに参画しながら、Pythonや機械学習、統計学、Dockerなどの勉強中です。学習したことをブログにアウトプットすることで、自分の身に着けていきたいと思います。まだまだ道半ばですが、お時間がありましたら見て行ってください。

今日から始める!楽しいコンペの歩き方【Advent Calendar 2021 - Qiita】

アドベントカレンダーに初めて参加させていただきました!

qiita.com

「Kaggleに参加してみたいな」と思ってもなかなか踏み出せないといった方に、コンペの楽しさを少しでもご紹介できればと考えています。

では、ご紹介していきたいと思います。

1.はじめに

「はじめに」と言いつつ、結論なのですが、コンペは楽しいです!

仕事や勉強では、なかなか定量的なフィードバックを得られることが少ないのですが、Kaggleなどのコンペでは、結果がスコアや順位となってすぐに見れるので、ゲーム感覚で取り組めます。

また、何回参加しても、参加者たちのDiscussionを見放題でも無料なのが魅力です。Kaggleのnotebookや、Google Colaboratoryを使えばクラウド上のGPU環境も限定的ながら無料で使うことができます。

そして、なんといっても参加者たちとオンラインで交流して、自分の世界が広がります。

この記事を読んで、興味をもっていただけましたら、是非参加してみてください!

f:id:kanriyou_h004:20211203084442p:plain


2.コンペの歩き方(全体像)f:id:kanriyou_h004:20211203084522p:plain

コンペの歩き方として私の経験から、楽しみ方の1例を紹介させていただきます。

全体像としては、何はともあれ、まず「登録する」、次にTutorialなどを「真似る」、そして出来事を「発信する」という3ステップを踏みます。


3.コンペの歩き方(1.登録する)f:id:kanriyou_h004:20211205102056p:plain

1つ目の「登録する」にあたっては、どのサイトに登録すればよいのだろう?と思っていらっしゃる方もいらっしゃると思います。

Kaggleを始め、私が登録しているコンペサイトについて、個人的な所感を記載します。自身の趣向にあったサイトに登録する際に参考にしていただけると幸いです。

サイト名

URL

所感

Kaggle

https://www.kaggle.com/

言わずと知れた世界的コンペサイト。Discussionやコードの公開も活発で、メダル獲得や称号獲得が対外的にもアピールできます。

SIGNATE

https://signate.jp/

コンペ参加人数が5万人を超える、国内主催のコンペサイト。様々な企業がコンペを主催しています。コンペ以外にもlearningコンテンツも充実。

ProbSpace

https://comp.probspace.com/

最近Ridgelinez社とDX人材マッチングサービスでパートナーシップ開始したコンペサイト。自社主催コンペが中心で毎回チュートリアル付で取り組みやすい。

Nishika

https://www.nishika.com/

データサイエンティスト特化型求人も充実のコンペサイト。副業の紹介も実施しているので、副業可能な社会人にはメリットあり。

Solafune

https://solafune.com/

衛星データ解析に特化したコンペサイト。宇宙好きにはたまらないコンペ。直近では、Microsoftとコラボした高解像化コンペを開催中。


4.コンペの歩き方(2.真似る)f:id:kanriyou_h004:20211203084659p:plain

登録してみたら、いろいろと技術的なことを考えるよりも、コンペの楽しさを実感するために、とりあえず、何かのコンペに参加して、他の方のコードを真似て投稿してみます。

Kaggleであれば「Code」、SIGNATEでは「フォーラム」、Probspaceであればコンペの基本情報の「Tutorial」や「トピック」、Nishikaでは「ディスカッション」、Solafuneでは「Discord」にて、Tutorialや他の方の参考コードなどが投稿されますので、まずは、それをコピーして実行結果を投稿してみます。

すると、すぐにスコアと順位が表示されて、「コンペに参加した!」という実感が湧いてきます。

次は、パラメータらしきところの数値を適当に変更してみます。変更してみた実行結果でスコアや順位が変わるようであれば、そこが精度に影響するパラメータになります。

精度に影響するパラメータが見つかったら、あとはこのパラメータが使われているところを探して、そのコードの意味や役割を調べていきます。

これを繰り返していくうちに、だんだんとコードの中身が理解できるようになってきて、ますます楽しくなってきます!


5.コンペの歩き方(3.発信する)

f:id:kanriyou_h004:20211203084733p:plain

真似て投稿してみたら、次は発信です。

コンペが楽しくても、やはり一人で取り組むとなかなか続かないことも多いです。そこで、おすすめなのが、実施していることを、Twitterやブログなどで発信することです。

私は投稿するたびに良かった悪かった、進捗したなどなんでもよいので発信するようにしています。

こうすることで、いろんな皆さんのご意見をいただけたり、普段接点のない皆さんと交流できたり、新鮮な出会いもあり、モチベーションの維持につながっています。

また、自分が読んでいた書籍の著者の方から、「いいね」やコメントなどをいただけると、とてもテンションがあがります。

自ら情報発信をすることは、おすすめです。


6.一歩先の歩き方f:id:kanriyou_h004:20211205104541p:plain

コンペを続けていると、向上心が出てきて、「もっと上位を目指したい!」となってくることがあります。

その場合の1歩先の歩き方をご紹介します。


7.時間の使い方ご紹介

次に、「コンペを続けたいのに時間がない!」「働きながらは無理!」という場合に、私の時間の使い方をご紹介いたしますので、ご参考にしていただければ幸いです。

ポイントは、「無駄な時間をなくす」という点です。「無駄な時間」というのは人それぞれ価値観が違うので、一意に決めることはできませんが、私は「だらだらとエンドレスでネットサーフィンやYoutubeを見てしまう時間」と定義しています。もちろん目的を持ってみるYoutubeやネット検索は含みません。

では、どうやって無駄な時間をなくすかというと、「複数のコンペに同時参加して隙間時間をなくす」という作戦をとっています。複数のコンペに同時参加することで、次々とやらないといけないことが出てくるので、「無駄な時間」を過ごす暇がありません(笑)

また、隙間時間にやることをパッと出せるように、@fkubota_さんのKaggle日記という戦い方を活用しています。


8.最後に

上記のように、楽しみながらコンペに取り組むことで、2019年にはPythonのパの字も知らない状況から、今ではKaggleを始め様々なコンペで結果を残すことができ、ProbSpaceでは総合ランク1位になることができました。

是非皆さんも、コンペに参加して楽しみながらスキルアップしていきましょう!

f:id:kanriyou_h004:20211205112806p:plain

 

oregin-ai.hatenablog.com