編集中
概要
- 12/1(Sat.) 13:00 - 21:00
- @Indeed Japan 目黒オフィス
- connpass: Kaggle Tokyo Meetup #5
- twitter hashtag: #kaggle_tokyo
- slack: kaggler slack
スケジュール
時間 | タイトル | 発表者 |
---|---|---|
13:00 – 13:30 | 開場 | |
13:30 – 13:50 | Opening Talk | threecourse |
13:50 - 14:30 | Avito 9th Place Solution & 中国Kaggle事情 | senkin13 |
14:30 - 15:10 | Home Credit 2nd place solutions ~ お通夜から始まったドラマ ~ | ikiri DS |
15:10 - 15:30 | 休憩 | |
15:30 - 16:10 | Santander Value Prediction Challenge 17th Solution | keeeeei79 |
Santander 8th Solution~気合いでとったソロゴールド~ | currypurin | |
16:10 - 16:50 | PFDet: 2nd Place Solution to Open Images Competition | PFDet |
16:50 - 17:10 | 休憩 | |
17:10 - 19:00 | LT(飲みながら?) | |
スポンサーセッション | Indeed | |
LightGBMを少し改造してみた | RK | |
日本初の競技機械学習大会"Cpaw AI Competition"の運営 | shunk031 | |
kaggler-ja driven learning | upura | |
RSNA Pneumonia Detection Challenge 6th Place Solution | PFNeumonia | |
TGS Salt Identification Challenge 12th place solution | catla | |
19:00 - 21:00 | 懇親会 |
所感
- 会場に行って話を聞けてよかった
- スライドの内容の理解が深まった
- 質疑応答の学びが深かった
- Kaggler ならではの笑いのツボを共感できた(「結果を1.1倍したら上手く行った」に対してドッと笑いが起きる感じ)
- 自分のレベルを上げて行かないと意味がない
- スゴいスゴいと言ってるばかりでは意味がない
- おれもちゃんと Kaggle やって、金メダルを獲って発表する
発表
(序盤は生かせそうなところをメモ取ってたけど、ikiri_DS でキャパオーバーして、twitter に専念した。そのため、後半はほとんどメモ取っていない)
Avito 9th Place Solution & 中国Kaggle事情
www.slideshare.net
- パイプライン
- 問題理解
- 実装
- テーブルデータとテキストデータ、それぞれ分けてベースラインモデルを作成
- パラメータチューニングは手動で(探索の実行に時間が掛かる)
- アンサンブル
- Feature Enginnering
- Aggregation: 業務視点で作ると効率が良い
- Interaction: ビジネスセンスがある加減乗除特徴量が強い(全体との差とか)
- Inpute Null Values: 0, median, モデル予測値などで埋める
- Magic Feature: df['price'] - df[RNN(text) -> price]
- Word Embedding
- Pretrain の Embeddings よりも、与えられたテキストで学習した embeddings の方が有効。おそらく、商品名などの固有名詞が目的変数に効いたため
- Parameter Tuning
- objective: 'xentropy'. 目的変数が2値分類の確率変数のようだったため
- feature_fraction: 0.1. テキストベクトルがスパースなため
Model Ensemble
- 様々なモデル、様々な損失関数を利用した(Diversity が精度向上に貢献する)
- 黒魔術:アンサンブルを「各モデルの重み付き線形結合」として定式化。パラメータを LB Score から近似計算(ref: "linear quiz blending" で検索)
質疑応答
- ツリーモデルだと、線形結合を表現できない
- そのため、加減乗除の特徴量生成が精度向上に効いてくる
- 勾配ブースティングは加減は表現できうるが、乗除は表現できないのでそのような特徴量生成が効く
- ツリーモデルだと、線形結合を表現できない
Home Credit 2nd place solutions ~ お通夜から始まったドラマ ~
ロバストなモデルを作成することを意識した
- Stacking や 全てのモデルを Blending することはやめて、 CV と Public の様子から3つに分けて作ったモデルをさらに Postprocessing した
- PRML のモデル選択の項を参照
特徴量生成
- aggregation
- findings
- NN(カテゴリデータは Embedding)、RNN で時系列特徴の獲得
- DAE(Denoising AutoEncoder): Porto Segro で Michael Jahrer が使ったものを実装
- RankGauss, Swapnoise など
- NN への Input として利用
Finding
- train/test で同一人物
- 金利
- 時系列でのズレ
過学習を防止する
- num_leaves を大きくしない(32くらい)
- boosting は Dart(=Dropoutさせながら木を作る手法)が有効
- 目的関数に対するペナルティ(Lp norm)を大きくすると改善傾向
blending
- Result の CSV の相関行列を見て、似ているものは混ぜないようにして、結果の多様性を担保する
Santander Value Prediction Challenge 17th Solution
www.slideshare.net
- 「Final Submit を選ぶまでが Kaggle」
- https://github.com/keeeeei79/Kaggle_santander_solution
Santander 8th Solution~気合いでとったソロゴールド~
- 参加するコンペを選択する戦略
- コンペ反省会
PFDet: 2nd Place Solution to Open Images Competition
www.slideshare.net
- PFN がコンペに出た理由:DLの進歩においてコンテストが重要な役割を果たしてきたことが多いため
- V100(32GB) を 512 枚積んでいるのは日常
LT
スポンサーセッション
- Indeed は Kaggle をするのにとても良い環境
LightGBMを少し改造してみた
www.slideshare.net
- カテゴリ変数のエンコードエンコードに着目
- LightGBM のカテゴリ変数の Encoding は、Target Encoding 気味にエンコードしている?
- 「葉に当てはめられた予測値を用いてエンコードしている」
- LightGBM独自エンコードの手法: https://lightgbm.readthedocs.io/en/latest/Features.html#optimal-split-for-categorical-features
日本初の競技機械学習大会"Cpaw AI Competition"の運営
- GM や Master も参加経験あり
- 彼らでもエグい量の問題を出しているらしい(しかも環境構築から)
- 精力的に活動しているように感じた
- スポンサー募集中
kaggler-ja driven learning
- kaggler-ja に 「日本のデータ分析コミュニティ」であり続けてほしい
- 日本の R コミュニティになぞらえて?
- タイトルを見たときに Yutani さんのスライドを思い出した
- 参加する / 質問する / 回答する
- 参加するだけで知見を得られる(日本語)
- 「良い質問」をする (minimal reprex):質問は偉い
- 回答するのが一番勉強になる
- Win or Learn, You Never Loss
RSNA Pneumonia Detection Challenge 6th Place Solution
............................................