tkm2261's blog

研究員(OR屋) → データ分析官 → MLエンジニア → ニートがデータ分析諸々書いてます

Kaggle Tokyo Meetup #3 開催レポート

こんにちは。tkm2261です。

今日は10/28に開催したKaggle Tokyo Meetup #3の模様をレポートします。

connpass.com

このmeetupは@threecourseさんや@smlyさんが2年前ぐらいから始めて不定期で開催しており、

私もニートの有り余る労働力を活かして今回運営をして来ました。

開始前

今回はsmlyさんの勤め先であるアドバンステクノロジーラボさんに会場をお借りすることが出来ました。

渋谷の超良いところにあって、美術館の上という超良いところのオフィスでした。

今回、Youtubeのチャネル登録者数が100人を超えたのでライブストリーミングスマホで出来るようになったのですが、配信に耐えられる回線がなかったため今回は見送りました。次回以降考えます。

挨拶と自己紹介

threecourseさんがTokyowebminingからもろパクリしたスライドで開始

いつもはネタですが、今回は裏開催だったため喧嘩売ってる感じになってますが、向こうとも仲良いので大丈夫ですw

f:id:tkm2261:20171028133452j:plain

自己紹介は数が多いので紹介することは出来ませんが、meetup参加条件がKaggleで最低1 submitだったからか、コンペ上位者等レベルの高い人が散見されました。

運営入れて40人弱でmeetupはスタート

発表① ONODERAさん『Instacart 2nd Place Solution』

www.slideshare.net

最初の発表はONODERA(@0verfit)さんによる、Instacartコンペ2位の発表でした。

概要としては

  • いつも買ってるコーラを買ってない時はダイエットコーラ買ってるなどの特徴を捉えたかった
  • 1位の人は過去のその商品の購買有無を0-1にして、数字として特徴にいれていた。これはやるべきだった
  • 予測値を確率として解釈するのは無理があるが、良い案がなかったため特徴の作り込みで対処した
  • 商品購買予測モデルと購買有無(None予測)モデルを2つ作って精度がかなりあがった

ONODERAさんはKaggle公式ブログやgitリポジトリも公開しているので気になる方はそちらもどうぞ。

Instacart Market Basket Analysis, Winner’s Interview: 2nd place, Kazuki Onodera | No Free Hunch

GitHub - KazukiOnodera/Instacart: 2nd place solution

Prize Winnerの話が生で聞けるのは貴重な経験でした。ONODERAさんありがとうございました!

発表② Jackさん『Santander Product RecommendationのアプローチとXGBoostの小ネタ』

speakerdeck.com

二人目は大阪からお越し頂いた、Jackさんです。長く私にとって謎の人で凄いお会い出来て良かったです。

Twitterを始めてくれて助かりました。

内容はSantanderコンペとXGBoostの概要の2本立てでした。

非常に資料がわかりやすいので見て頂ければと思いますが、Kagglerにとって有益な知見の塊でした。

  • Santanderコンペでの商品特徴をみて直近データと去年同月のどちらで学習するかを見つけられた
  • ラップトップのみで分析したので、データをローリングして学習、最後に幾何平均をとった
    • 直近重み付けとかも試したが、幾何平均が最も良かった
  • カテゴリカル変数をtarget平均で置き換える手法をとった
    • targe-based encodingと呼ばれて最近知られてきた
    • 単にやるとoverfitするのでCVのvalidationデータで特徴を作る
    • CVの切り方は特に気にしなかったが上手く言った
  • XGBoost概要はデータサイズやcolsambleを動かした時の結果への影響度やXGBoostアルゴリズムの概要を説明
    • (XGBoost使う人は一度見ておく事を強く推奨します)

途中電源が切れてLTにも回ってもらったりもしましたが、発表ありがとうございました!

発表③ mamas16kさん『画像認識コンペ(UNIQLO)にdeep learning以外の手法で殴りこんでみた』

speakerdeck.com

お次は、なんと若干学部3年生のmamas16kさんにUNIQULOコンペについて発表頂きました。

UNIQULOコンペ3位のthreecourseさんに面白いアプローチの人がいたと紹介頂き、今回知り合うことができました。

内容としては色を当てるコンペなのでひたすら色空間(RGB、HSV等)の3次元空間から特徴を如何に作るかという話で、

猫も杓子もDNNの中で良い着眼点だと思いました。Kaggleの衛星画像(DSTL)コンペでも色空間情報は有効だったらしく、頭の片隅に置いておくとコンペでも有効な場面がありそうです。

また、Probability Calibrationにも力を入れたと言っていました。

これはXGBoostなどのモデルが出す確率(スコア)は確率として解釈できない場合が多く、(というか普通できない。)

Probability Calibrationはどうにかスコアを実際の確率に近くする事を目指す手法です。

個人的にはLogistic Regressionは『訓練データの頻度=訓練データ予測値の和』となるので、こういう時はLogistic Regressionをかけてましたが、

Probability Calibrationという名前がついて一分野になっていることは知らず、非常に学びが多い発表でした。

1.16. Probability calibration — scikit-learn 0.19.1 documentation

学部2年でコレは末恐ろしく、また成果が出た折に発表をお願いしたいです。

ありがとうございました!

発表④ lyakaapさん『Carvana 3rd Place Solution』

※スライドは後ほど

※スライド来ました!

speakerdeck.com

最後の発表者はCarvanaコンペ③位のlyakaapさんです。

こちらはCarvanaコンペ後にKaggler Slackに降臨した折に、発表をお願いすることが出来ました。

こちらも学部4年生の方でした。発表者の半分が学部生とは、日本の将来に期待が持てそうです。

内容はスライドが来てからですが。

  • 領域検知はU-NETが最強
  • Dilated Convolutionを底の層に入れたのが聞いた。
  • Psedo-Labelingで学習データを増やした
  • 今回タスクとしては検知し易いものだったので、Psedo-Labelがそのまま信用できた
  • Psedo-Labelingと訓練データの割合や、解像度の違いでアンサンブルをした。
  • 1モデルを作るのに、学習に2日、予測に6時間かかった。

スライドの作りも非常に丁寧でわかりやすく、発表も落ち着いており、学部4年とは思えない風格でした。

今Smlyさんとコンペに一緒に出てるらしく、若いKagglerの台頭をまざまざと感じたmeetupでした。

こういう方々を見ると、日本の将来は実は明るいんでは無いかと思います。

LT

懇親会

そのまま会場で、ビールと大阪王将のデリバリで懇親会をしました。

1人1,000円は集めすぎかも。。。と危惧しましたが、フタを開けると追加で買い出ししてほぼ使い切りました

運営としては変に余るより会計が楽ですが、予想以上に食って飲みました。笑

要因としては皆若く男だけだったのと、議論の質が高く盛り上がったことかなぁと思っております。

何度か勉強会には参加したり主催したりしてますが、今回はトップクラスの楽しさでした。

TwitterのTLでも同様のコメントが見られたので、また次回開催していきたいです。

最後に

今回は参加頂きありがとうございました!

非常に双方向の議論で楽しかったです。あと運営がグダりながらも上手く進行出来たのは皆様のおかげです。

次回についても開催を予定していますが、基本的に発表者はコンペ(Kaggle問わず)上位を想定しているので連続開催とは行かなそうです。

なので皆さんが上位入賞した時がMeetup開催時期なんので、良い成績をとったらTwitterかSlackでドヤって下さい!

すぐスカウトに行きます!

その代わりといってはアレですが、LTは比較的何でもOKにしようと思ってるので、何か調べたとか新しい手法Kaggleで試したとかも絶賛募集中です。

何かあれば、TwitterかSlackまでお願いします!