Upload
Download free for 30 days
Login
Submit Search
20170112 tristan 勉強会_社外
0 likes
1,821 views
Tristan Irvine
2017-01-12 LT Thursday 勉強会, CTR 予測と広告ランキング
Data & Analytics
Read more
1 of 20
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
More Related Content
PDF
嘘つくメトリクス
Tristan Irvine
PDF
リアルタイム予測システムアーキテクチャー
Tristan Irvine
PDF
Maglev: A Fast and Reliable Software Network Load Balancer
kuro kuro
PDF
フロントでのGraphQL
Chao Li
PPTX
GenisysでTableauを導入した話
Yuki Katada
PDF
Database sql
明 高橋
PPTX
課題を解決するためにやりたいこと
tatsuya kiyono
PPTX
goa Design first API Generation
yoshinori sugiyama
嘘つくメトリクス
Tristan Irvine
リアルタイム予測システムアーキテクチャー
Tristan Irvine
Maglev: A Fast and Reliable Software Network Load Balancer
kuro kuro
フロントでのGraphQL
Chao Li
GenisysでTableauを導入した話
Yuki Katada
Database sql
明 高橋
課題を解決するためにやりたいこと
tatsuya kiyono
goa Design first API Generation
yoshinori sugiyama
Viewers also liked
(18)
PDF
20161110 tristan 広告ランキング
Tristan Irvine
PDF
レスポンシブWebデザインでうまくやるための考え方
Hayato Mizuno
PDF
ニューラルネットと深層学習の歴史
Akinori Abe
PPTX
Elastic Beanstalkでアプリ/インフラかんたん一括管理
Yusuke Komahara
PPTX
LT Thursday Intro. (Rust使ってみた←釣り)
Yuki Katada
PPTX
アメーバブログを支えるデータセンターとインフラ技術
Hiroki NAKASHIMA
PDF
祭りから半年たったプロジェクトにジョインしてみた
Asuka Oizumi
PDF
Atomic designで助かった人たち
Iida Yukako
PDF
Introduction to Resource Hints
Shogo Sensui
PDF
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Kazunari Hara
PPTX
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
Shumpei Shiraishi
PDF
BloomFilterを直感的に理解する
co-sche
PDF
Akka/Actor introduction
Yuki Katada
PDF
tvOSネイティブアプリを作る
Tomoki Hasegawa
PDF
AndroidにおけるCocos2d-x製ゲームの画面の録画
gomachan_7
PDF
Apache Drill で見る Twitter の世界
Masaru Watanabe
PPTX
F.O.Xを支える技術
Yuto Suzuki
PPTX
AbemaTV on tvOS
Yuji Hato
20161110 tristan 広告ランキング
Tristan Irvine
レスポンシブWebデザインでうまくやるための考え方
Hayato Mizuno
ニューラルネットと深層学習の歴史
Akinori Abe
Elastic Beanstalkでアプリ/インフラかんたん一括管理
Yusuke Komahara
LT Thursday Intro. (Rust使ってみた←釣り)
Yuki Katada
アメーバブログを支えるデータセンターとインフラ技術
Hiroki NAKASHIMA
祭りから半年たったプロジェクトにジョインしてみた
Asuka Oizumi
Atomic designで助かった人たち
Iida Yukako
Introduction to Resource Hints
Shogo Sensui
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Kazunari Hara
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
Shumpei Shiraishi
BloomFilterを直感的に理解する
co-sche
Akka/Actor introduction
Yuki Katada
tvOSネイティブアプリを作る
Tomoki Hasegawa
AndroidにおけるCocos2d-x製ゲームの画面の録画
gomachan_7
Apache Drill で見る Twitter の世界
Masaru Watanabe
F.O.Xを支える技術
Yuto Suzuki
AbemaTV on tvOS
Yuji Hato
Ad
20170112 tristan 勉強会_社外
1.
CTR予測 & 広告ランキング Tristan Irvine 2017-01-12
2.
自己紹介 名:Tristan Irvine 年齢:29 入社:去年の10月入社した 前職:質量分析器を設計したり分析したりした。 現在プロジェクト:Glasgow, アメトピの配信ランキングシステムを改善しようとしている。 最近ISE-Crusaderがメーンです。
3.
概略 1)バンディットアルゴリズム 2)ISE-Crusader 3)CTR予測アルゴリズム紹介
4.
バンディットアルゴリズム 「どの広告を配信すればいいか」を答えるアルゴリズム 広告3? - CTRが一番低いんだけど、実績あんまりない。信頼できるか? 広告1?
- 実績が十分ある広告の内に一番良さそうです。安全な広告 広告4? - 全く新しい広告を試してみる? 広告1 広告2 広告3 広告4 インプ 100 100 10 0 クリック 30 25 2 0 CTR 0.3 0.25 0.2 ??
5.
CTR確率密度分布 現在CTRへの知識を表示する分布 広告4について何も知らない:平らな分布 広告3の平均は低いんだけど、まだあんまり実 績がないのでエラーが高い=分布が広い 広告1・2はよく知っているので、鋭いピークで す。 広告1 広告2 広告3
広告4 インプ 100 100 10 0 クリック 30 25 2 0 CTR 0.3 0.25 0.2 ??
6.
元々のアルゴリズム:KLUCB+ UCB (Upper Confidence
Bound)系のバン ディットアルゴリズムは一番高い可能な CTR順によってランキングする。 この風に、新規広告の探求ともう知られてい るCTRが良い広告の活用をバランスでき る。 この場合は、ピンクの広告4はCTR=1かも しれないので、それを配信する。 でも、ピンクのエラーが低くなるまでに、ずっ と配信されちゃう! KLUCBの「KL」はKullback Leibler Divergenceってこと。二つの確率分布の 差。一番高いCTRの計算はこれを使って 計算される。
7.
入場アルゴリズム:Thompson Sampling 全部の可能なCTRからランダムでサーンプル する サーンプルしたCTR順にランキングする 青は0.2 ->
0.4の範囲 黒は0.15 -> 0.35の範囲 赤は0.0 -> 0.6の範囲 ピンクは0 -> 1の範囲 ピンクの勝つ確率は~50% 赤の平均が低くても、ピークが広いので時々青と黒に勝つ 配信される広告はもっとランダ ムなので、ユーザに対してもっと 新鮮な広告を見ている
8.
コンテキスチュアルバンディット CTRの確率密度分布は今までに過去実績で計算される。 Beta(click数 + 1,
no click数 + 1) ページ情報・ユーザ属性とかを使えば精度が上がるはずですね! Beta(imp * CTR + 1 , imp * (1 - CTR) + 1) でやって見ましょ〜 でもCTRを予測しないといけないんです。 ===> ISE-Crusader - リアルタイムCTR予測システム
9.
タスクリスト 新規データをログからとって整理する (Aggregator) Impressionデータが多すぎるので、ランダムでサーンプルする (Sampler) 新規データを用いてCTR予測モデルを学習させる
(Primary/Secondary Learner) 更新したモデルを保存する (モデルストア) リクエストがきたら候補の広告のCTRを予測する (予測 API) 予測CTRによって広告をランキングして配信する(ISE-Phoenix)
10.
ISE-Crusaderシステム Clickログ Inviewログ Sampler Aggregator 入力データを整 理する Secondary Learner 実験用モデルの学習 Primary
Learner x 2-3 本番モデルの学習 モデルストア 15分間隔でモデル をアップロード 予測API Auto-Scaling ISE Phoenix ~100個の候補広告 予測したCTR Model Manager Model Manager Model Manager 管理画面
11.
機械学習モデル評価 (secondary learner) 可能なCTRモデルは幾つかあります(回帰・協調フィルタリング・ディープラーニングな どい 本番の前にできるだけ評価したい Secondary
Learnerで同時に複数の候補モデルを回せる LearnerId 3 = Secondary Learner モデル 種類 現在本番で 使っているモ デル
12.
評価メトリックス 12時間毎に各学習しているモデルはMetricsを出す 管理画面が読めるデータベースに保存される 保存するメトリックスは: Count, NNZ_Frac, AUROC,
AUPRC, LogLoss, Normalized Entropy, 平均予測 CTR, 平均入力CTR, 入力click数、入力clickなし数 + スコア分布
13.
三つ大事なメトリックス紹介 AUROC:clickされたデータの予測CTRはclickされていないデータの予測CTRより高いほど大 きー LogLoss:clickされたデータの予測CTRは1からの距離 clickされていないデータの予測CTRは0からの距離 NNZ_Frac:「Number Non Zero
(ウエート) Fraction」- 最初にモデルを作った時は全部のウエート = 0, nnz_frac = 0. ウエートベクトルがいっぱいのモデル:nnz_frac = 1。その前作り直した方がいい モデルadp3_biasのスコア分布 00:00 - 12:00 2016-12-09
14.
管理画面メトリックス例 モデル名 一番良いモデル(一応) 新規モデル
15.
何のモデル?! 多分一番面白いことは最後にしちゃった。 それはまだ固定ではないんだから。一つのスーパーモデルとかがないんです モデル進捗 1). FTRL (google)
+ Factorization Machine 3). Field-Aware Factorization Machine / TFFM / AdPredictor FFM
16.
モデルの共通こと 素性に対応するウエートベクトルを持ちます [wad1 , wad2 , wuser1 ...] ある入力データの対応ウエートを足し合わせてスコアを出す スコア
= wT .x = wad1 xad1 + wad2 xad2 + wuser1 xuser1 (xi = 1 if i is present, else 0) 確率へ変換する(シグモイド関数・累積分布関数) CTR = 1 / (1 + e-wx ) CTRカリブレーション(入力しているのはclickデータの100%とimpデータの~10%なの で) CTR_calibrated = CTR / (CTR + (1 - CTR)/w) w = サーンプル率
17.
FTRLは基本的に正規化されたロジスティック回帰です Factorization Machineはオンライン協調フィルタリングアルゴリズムです。スコア計算は 下記 僕が作ったのはFTRLの学習仕方でのFactorization Machine 1).
FTRL-FM ADAGRADと似て いる学習率は
18.
2). FFM Factorization Machineの進化アルゴリズム:Field
Aware Factorization Machine 生Factorization Machineだと無駄な相互作用項幾つかある 例えば:性別 x 年齢 ランキングしたいのは広告単位です。これは広告と何も関係ないの で、雑音になっちゃう FFMで欲しい相互作用項しか計算する必要ない と 各相互作用項は別のマトリックスを作るので、雑音が大分減られる。 一緒に考えるとFMより精度がかなり上がる。
19.
リスポンスタイム 予測APIのリスポンスタイムは普段1ms以下です。 (~100個の候補広告のCTRを予測する時間) ms 単位
20.
まとめ 広告配信アルゴリズムを改善するために頑張ってる! KLUCB -> Thompson
Samplingへ変更したら~2% CPM改善 ISE-CrusaderでCTR予測する。それでランキングの精度が上がって、~7% CPM改善 今まで試してみたアルゴリズムの一番良いのがFFMの種類です。
Download