SlideShare una empresa de Scribd logo
1 de 14
TalkingData AdTracking
Fraud Detection Challenge
Winner’s solution(の概要)
Team: ['flowlight', 'komaki'].shuffle()
@flowlight_ @Komaki__
チーム紹介
● 学生時代はTopCoder, Codeforces,
ICPCなどアルゴリズム系コンペを
中心に参加していた
● 同じ研究室、同じ職場
● チームを組んだのは初めて
Komaki
「毎月2倍、1年で4096倍強くなった。
優勝する気しかしない。」
● 広告がクリックされた時にダウンロードされるかを予測
○ 通常のコンバージョン予測コンペと似たような二値分類
○ 不正クリックを検出する必要はない
ユーザのip, os, device
クリックされたappとchannel (広告媒体)
クリック時刻 ダウンロードの有無
データセットの統計情報・評価指標
● 評価指標
○ AUC (Area under the curve)
● データセット
○ 訓練データは1.85億件(3日分のクリック)
○ テストデータは0.58億件(次の1日分)
■ 特徴量を1つ増やすと約1GBデータが増える感じ
○ is_attributed = 1となっているデータはわずか0.2%
主なアイデア
● 学習と特徴量作成の高速・省メモリ化
○ Negative down-sampling
● 特徴量作成
○ 未来の情報を用いた特徴量
○ 全探索的に特徴量を作成
○ カテゴリ変数の埋め込み
Negative down-sampling
● 広告クリックの界隈ではよく知られた手法
○ Google [McMahan+ ’13], Facebook [He+ ’14]
● 正例(is_attributed = 1)と負例(is_attributed = 0)の個数が等しく
なるように負例だけをdown-sample(99.8%の負例を捨てる)
○ 訓練データのサイズが約2億から100万程度になる
○ 数百個の特徴量を作成することが可能に
● 精度に関しても問題ない
○ down-samplingで複数のデータセットを作成しモデルをバギング
することで全データで訓練したモデルの性能を超えた
[McMahan+ ’13] Ad Click Prediction: a View from the Trenches
[He+ ’14] Practical Lessons from Predicting Clicks on Ads at Facebook
未来の情報を用いた特徴量
● 全てのデータが一度に与えられるコンペではユーザの未来の行動から
過去の行動を予測(?)することができる
○ 過去の行動よりも未来の行動に基づく特徴の方が大抵強い
● 今回は各カテゴリ変数(ip, os, device, channel, app)の値に対して以下
のような特徴量を求めた
○ 直後(直前)のクリックからの経過時間
○ 今後一時間以内でのそのカテゴリ変数の値の出現回数
全探索的な特徴量の作成
● 同じ特徴量を(ip, os)や(ip, os, channel)などの組にも計算したい
○ どのような組み合わせを選ぶ?
● 全ての組み合わせに対して計算(2^5 - 1 = 31通り)
○ 経験上LightGBMは無意味な特徴量に対してもロバスト
○ (有用な特徴量による利益)> (無用な特徴量による不利益)
○ (人間の作業コスト)>(計算コスト)
カテゴリ変数の埋め込み
● 各カテゴリ変数(ip, app, channel,...)をベクトルに埋め込みたい
○ NLPでのword embeddingみたいな気持ち
● カテゴリ変数同士で共起行列を作ってLDA / NMF / tSVDを適用
○ ここでも全探索的に特徴量を生成
■ 5P2 = 20通りの組み合わせ
■ deviceがほとんど役に立たないことがわかり4P2 = 12通りに変更
○ LDAが一番効果的
○ 最終的にLDAのトピック数は5, 20を使用
■ トピック数が5のとき5 * 12 = 60個の特徴量が作成される
■ NMF, tSVDでは5次元のベクトルのみ計算した
最終的なモデル
● シングルモデル
○ LightGBM (>600 features)
■ 訓練時間(iteration数の決定+全データでの訓練): 1時間未満
■ 使用メモリ: 100GB未満
■ 計算環境: AWSのr3.8xlarge (32CPUs, 244GB memory)
○ 5個のdown-samplingされたデータセットで構築して平均を計算
● アンサンブル
○ 材料
■ 異なる特徴量・パラメータのLightGBMモデル
■ 三層のニューラルネットワーク
○ 上記の材料でRank averaging (Kaggle Ensembling Guide | MLWave)
実装上の工夫
● 特徴量は毎回計算せずに一度計算したらファイルでキャッシュする
○ 全訓練データに対する特徴量をファイルに書いたらディスク不足に
○ 特徴量を作る前にサンプリングして、そのインデックスに対応する特徴
量だけ保存するように変更
● データセットも特徴量もfeather形式で保存した
○ https://github.com/wesm/feather
○ 訓練データが数秒で読めるように(CSVだと1分以上)
● 全探索的な特徴量生成をC++で実装
○ Pandasでカテゴリ変数の組でのgroupingを高速を行う方法がわからなか
った(Click time deltaの計算に必要)
○ C++では31通りの特徴量の計算がシングルスレッドで1時間程度
最終的な特徴量とモデルのパラメータ
説明しません。雰囲気だけ

Más contenido relacionado

La actualidad más candente

[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...Deep Learning JP
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイDeep Learning JP
 
Generative Models(メタサーベイ )
Generative Models(メタサーベイ )Generative Models(メタサーベイ )
Generative Models(メタサーベイ )cvpaper. challenge
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化Yusuke Uchida
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...Deep Learning JP
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object DetectionDeep Learning JP
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門Takuji Tahara
 
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...Deep Learning JP
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明Satoshi Hara
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...Deep Learning JP
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習Plot Hong
 
[DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions [DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions Deep Learning JP
 
コンピュータビジョン分野メジャー国際会議 Award までの道のり
コンピュータビジョン分野メジャー国際会議 Award までの道のりコンピュータビジョン分野メジャー国際会議 Award までの道のり
コンピュータビジョン分野メジャー国際会議 Award までの道のりcvpaper. challenge
 
【DL輪読会】"Masked Siamese Networks for Label-Efficient Learning"
【DL輪読会】"Masked Siamese Networks for Label-Efficient Learning"【DL輪読会】"Masked Siamese Networks for Label-Efficient Learning"
【DL輪読会】"Masked Siamese Networks for Label-Efficient Learning"Deep Learning JP
 
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック 大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック 西岡 賢一郎
 

La actualidad más candente (20)

[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
 
Generative Models(メタサーベイ )
Generative Models(メタサーベイ )Generative Models(メタサーベイ )
Generative Models(メタサーベイ )
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
深層強化学習と実装例
深層強化学習と実装例深層強化学習と実装例
深層強化学習と実装例
 
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習
 
[DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions [DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions
 
コンピュータビジョン分野メジャー国際会議 Award までの道のり
コンピュータビジョン分野メジャー国際会議 Award までの道のりコンピュータビジョン分野メジャー国際会議 Award までの道のり
コンピュータビジョン分野メジャー国際会議 Award までの道のり
 
【DL輪読会】"Masked Siamese Networks for Label-Efficient Learning"
【DL輪読会】"Masked Siamese Networks for Label-Efficient Learning"【DL輪読会】"Masked Siamese Networks for Label-Efficient Learning"
【DL輪読会】"Masked Siamese Networks for Label-Efficient Learning"
 
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック 大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック
 

TalkingData AdTracking Fraud Detection Challenge (1st place solution)

Notas del editor

  1. Todo: 引用をちゃんとしたものにする