CINC Tech Blog

株式会社CINCのエンジニアチームが日々習得した技術やTipsを公開するブログです

Kaggle Days Tokyo 参加レポート

Kaggle Days Tokyo 参加レポート

2019/12/11、12の二日間で開催されたKaggle Days Tokyoに参加してきました。

私は開催の約1ヶ月前に転職したばかりでしたが、業務扱いで参加できることになりました(本当に感謝です!)。

今回はその参加レポートになります。

f:id:coreinc:20191213120653j:plain
開催場所は六本木ヒルズのGoogle社オフィスでした

kaggle Days Tokyoとは?

kaggleとは企業や研究者がデータを投稿し、世界中のデータサイエンティストがその最適モデルや分析手法を提案しプラットフォームサービスです。

kaggle daysはkaggle社が公式に開催するイベントで、コンペティションに関するセッショントークやワークショップが行われ、トップレベルのデータサイエンティストのノウハウや知見の獲得、参加者同士の交流を図ることができるイベントになっています。

2018年のワルシャワから始まり、パリ、サンフランシスコ、ドバイ、中国を経て、今回東京での初開催となりました。

kaggledays.com

1日目

1日目はセッションとワークショップが開催されました。 参加したワークショップとセッションについて簡単な感想をレポートしたいと思います。

f:id:coreinc:20191213120855j:plain

Essential techniques for tabular competition

プレゼンターが参加したコンペティション(Instacart Market Basket Analysis:スーパーでユーザーが購入したトランザクションデータをもとに、ユーザーが次のアイテムの再購買について予測する)を例に、表形式(tabular)データを分析する上で、エッセンスとなる技術についての発表でした。

コンペティションでは、実際にユーザー毎に、どのような時系列でアイテムを買ったか、つぶさに購買履歴を追って分析を行ったそうです(例えば、ある商品が別の商品の代替品であるかどうかなどを判別した)。

実際のユーザーの気持ちを想像して、データがどのように生成されたかを知ることが、分析する上で大事だと話されていました。

どのような視座を持ってデータを分析を行えば上手くいくか、大変参考になるセッションでした。

www.kaggle.com

Hosting Kuzushiji the Competition

2019/7/19~2019/10/15で開催された、古文書のくずし字の画像認識「Kuzushiji Recognition」について、コンペティションを実際にホストした方からのプレゼンでした。日本からのコンペティションが開催されるのは3回目になるそうです。

古文書の文献は沢山存在するが、古文書に書いているくずし字を読める人は非常に少ないので、ほとんどの文献は読まれないことが多いそうです。そこで画像認識の技術を使って、くずし字を自動で認識させることで、より多くの文献の翻刻を進めることが、今後の研究において重要となるとのことでした。

また、コンペティションを開催した理由として、研究で使用しているモデルの精度を超える様なモデルが欲しかったことや、チーティングを防止するために行った施策などが話されました。 コンペティションを開催する側の話は普段聞く機会はなかなかないので、貴重なセッションでした。

www.kaggle.com

Joining NN Competition (for beginners)

画像データやテキストデータではニューラルネットワークを使った予測モデリングが必須となっています。このセッションではニューラルネットでコンペティションを望む上で参考になるTipsが多く紹介されました。

特に印象に残ったのは、ニューラルネットの学習では前処理やハイパーパラメータなどセットアップのディテールが大事なので、他人結果を再現できなくても過度に悲観しないとの話でした。

私自身、業務で自然言語処理を扱う上で深層学習はまだまだ勉強中の身なので、どのように深層学習を実践すれば良いか、とても参考になるセッションでした。

Imputation Strategy

データの欠損値の補完について、統計学の知見からどのような処理を行えば良いのかについてのプレゼンでした。 プレゼンでは理論的な背景と、コンペティションデータを使用した実験を通して、精度がどのように変化するか細かく紹介されていました。

業務におけるデータ分析でも、データがキレイに揃っていないことも多いので今後の参考になりそうです

speakerdeck.com

How to succeed in code(kernel) competitions

kaggleでは予測時間や、計算資源を制限した状態で、予測モデリングを行うコンペティション(code competition)が開催されることがあります。そのような環境下では、いかにリソースをうまく使い切るかなどが重要になってきます。

セッションでは素早く失敗して、より多くのことを試して、モデルを改善していくプロセス(try more, fail fast)が大事であるといった話や、テキストデータを扱う際にはバッチ毎のテキストを揃えて学習時間を短くするTipsなどが話されました。

こういった実践的な技術を学べることが、コンペティションの魅力の一部だと感じます。実務でも潤沢なリソースが使えるとは限らないので、とても参考になるセッションでした。

Workshop: Intro Google Cloud Platform for kagglers

Google Cloud Platform(GCP)にはデータセットを専用のストレージに配置するだけで、自動で予測モデルを作成する機能(AutoML)があり、その入門ワークショップでした。

AutoMLではコーディングを一切行う必要がないため、最低限の機械学習の知識があれば、だれでも簡単にGUIを使って、予測モデルを作成することができます。

さらに最近のフィードバックを受けて、モデルがどのように予測を行うか、変数の重要度など解釈可能性についての機能が強化されたと説明がありました。

AutoMLの様な製品は今後も増えていくことが予想されます。まずはAutoMLを使用したモデルを用意して、それをベンチマークにして精度を改善していくなど、うまく使えばアイデア次第で非常に便利なサービスだと感じました。

cloud.google.com

二日目:コンペティション

2日目は、当日に分析するデータが発表され、8時間のうちにモデルの精度を競いあうオンサイトのコンペティションが開催されました。私は他の参加者とチームを組み、コンペティションに参加しました。

成績は、なかなか順位を上げることができず...とても悔しい思いをしました。今回初めてチームでコンペティションに参加しましたが、全くの初対面ながらも、お互い協力しながらデータ分析を行うのはとてもエキサイティングな経験になりました。

f:id:coreinc:20191213121002j:plain
開催中に提供された豪華なランチビュッフェ...!


CINCには「書籍購入制度」など、業務に必要な学びをサポートする制度があり、今回は「セミナー補助」を利用しました。 今回のイベントは、業務に直接結びつく内容ではありませんでしたが、 「未来への投資」として快く参加を承諾してもうことができました。

今後もこうした制度をフル活用して、業務に役立つ学びの機会を増やしていきたいと思います。

www.cinc-j.co.jp

www.cinc-j.co.jp