2
Most read
7
Most read
14
Most read
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)
TalkingData AdTracking  Fraud Detection Challenge (1st place solution)
TalkingData AdTracking  Fraud Detection Challenge (1st place solution)
実装上の工夫
● 特徴量は毎回計算せずに一度計算したらファイルでキャッシュする
○ 全訓練データに対する特徴量をファイルに書いたらディスク不足に
○ 特徴量を作る前にサンプリングして、そのインデックスに対応する特徴
量だけ保存するように変更
● データセットも特徴量もfeather形式で保存した
○ https://github.com/wesm/feather
○ 訓練データが数秒で読めるように(CSVだと1分以上)
● 全探索的な特徴量生成をC++で実装
○ Pandasでカテゴリ変数の組でのgroupingを高速を行う方法がわからなか
った(Click time deltaの計算に必要)
○ C++では31通りの特徴量の計算がシングルスレッドで1時間程度
最終的な特徴量とモデルのパラメータ
説明しません。雰囲気だけ

More Related Content

PPTX
PILCO - 第一回高橋研究室モデルベース強化学習勉強会
PDF
不均衡データのクラス分類
PDF
実践多クラス分類 Kaggle Ottoから学んだこと
PDF
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
PPTX
[DL輪読会]representation learning via invariant causal mechanisms
PDF
時系列予測にTransformerを使うのは有効か?
PPTX
カルマンフィルタ入門
PDF
PRML学習者から入る深層生成モデル入門
PILCO - 第一回高橋研究室モデルベース強化学習勉強会
不均衡データのクラス分類
実践多クラス分類 Kaggle Ottoから学んだこと
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
[DL輪読会]representation learning via invariant causal mechanisms
時系列予測にTransformerを使うのは有効か?
カルマンフィルタ入門
PRML学習者から入る深層生成モデル入門

What's hot (20)

PDF
【メタサーベイ】基盤モデル / Foundation Models
PPTX
モデル高速化百選
PDF
全力解説!Transformer
PDF
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
PPTX
社会心理学者のための時系列分析入門_小森
PDF
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
PDF
時系列分析による異常検知入門
PPTX
[DL輪読会]Graph R-CNN for Scene Graph Generation
PDF
相関と因果について考える:統計的因果推論、その(不)可能性の中心
PDF
多様な強化学習の概念と課題認識
PPTX
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
PDF
局所特徴量と統計学習手法による物体検出
PDF
【DL輪読会】Implicit Behavioral Cloning
PDF
Neural networks for Graph Data NeurIPS2018読み会@PFN
PDF
異常検知と変化検知 9章 部分空間法による変化点検知
PDF
最近のディープラーニングのトレンド紹介_20200925
PPTX
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
PPT
AlphaGo Zero 解説
PDF
失敗から学ぶ機械学習応用
【メタサーベイ】基盤モデル / Foundation Models
モデル高速化百選
全力解説!Transformer
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
社会心理学者のための時系列分析入門_小森
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
時系列分析による異常検知入門
[DL輪読会]Graph R-CNN for Scene Graph Generation
相関と因果について考える:統計的因果推論、その(不)可能性の中心
多様な強化学習の概念と課題認識
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
局所特徴量と統計学習手法による物体検出
【DL輪読会】Implicit Behavioral Cloning
Neural networks for Graph Data NeurIPS2018読み会@PFN
異常検知と変化検知 9章 部分空間法による変化点検知
最近のディープラーニングのトレンド紹介_20200925
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
AlphaGo Zero 解説
失敗から学ぶ機械学習応用
Ad

Similar to TalkingData AdTracking Fraud Detection Challenge (1st place solution) (12)

PDF
異常行動検出入門 – 行動データ時系列のデータマイニング –
PDF
レコメンドエンジン作成コンテストの勝ち方
PPTX
Machine learning
PPTX
Kaggle – Airbnb New User Bookingsのアプローチについて(Kaggle Tokyo Meetup #1 20160305)
PDF
NGK2022S
PDF
「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る
PDF
ChatGPTの驚くべき対話能力 20230414APR.pdf
PDF
Tech-Circle #18 Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン
PDF
強化学習の実適用に向けた課題と工夫
PDF
プライバシを考慮した移動系列情報解析のための安全性の提案
PDF
偏りのある時系列データ の分類について
異常行動検出入門 – 行動データ時系列のデータマイニング –
レコメンドエンジン作成コンテストの勝ち方
Machine learning
Kaggle – Airbnb New User Bookingsのアプローチについて(Kaggle Tokyo Meetup #1 20160305)
NGK2022S
「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る
ChatGPTの驚くべき対話能力 20230414APR.pdf
Tech-Circle #18 Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン
強化学習の実適用に向けた課題と工夫
プライバシを考慮した移動系列情報解析のための安全性の提案
偏りのある時系列データ の分類について
Ad

TalkingData AdTracking Fraud Detection Challenge (1st place solution)

Editor's Notes

  • #7: Todo: 引用をちゃんとしたものにする