2016/10/26
1
ヤフー株式会社 野村 拓也
Case study ofonline machine learning for
display advertising inYahoo! JAPAN
自己紹介
2
野村 拓也• オンライン処理基盤の開発
• 機械学習を用いたシステム改善
• YDNの改善活動
目次• 背景と目的• 構成とオンライン処理• A/Bテスト• まとめ
3
直近のデータに高い価値がある?
仮説: データの価値
5
経過時間
データの価値
オンライン処理の実例
6
バッチをリアルタイムに→ 37%のクリック率改善
RecSys2013: Tencent
(資料が見つからないため聴講者のtweetで代用)https://twitter.com/torbenbrodt/status/390284591266668544
YDNの紹介
7http://promotionalads.yahoo.co.jp/service/ydn/
Yahoo DisplayAd Network
8
YDNのステークホルダ
AD 広告ユーザ
Webページ
YDN
CTR(クリック率)予測問題基本的な広告ランキングスコア
9
期待収益=広告クリック確率×クリック単価
未知・状況で変化 広告主が設定
10
YDNが活用するデータ
AD広告ID
広告主ID
行動履歴
興味カテゴリ
URL
コンテンツ
YDN
目的
11
データ反映をリアルタイムに近づけ
YDNクリック予測精度を向上させる
構成
13
Kafka
Storm
配信サーバ
クリックサーバ
ログ回収経路
モデル配布経路
〜〜
scpscp
広告配信リクエスト
広告クリック
モデル配布サーバ
内製ログ回収基盤
AD
オンライン処理の概要
14
クリックログ配信ログ
結合
学習データ(負例) 学習データ(正例)
学習
パラメータ(配布) Storm
オンライン処理の概要
15
クリックログ配信ログ
学習データ(正例) 学習データ(負例)
学習
パラメータ(配布) Storm
結合
16
ログ結合と課題クリックログ配信ログ
一時保持
学習データ(負例) 学習データ(正例)
配信ログの保持
負例生成タイミング
クリックまでの時間と捕捉率17
10分で95%捕捉
広告クリックまでの時間
18
配信ログの保持
負例生成タイミング
配信後10分の配信ログを保持
配信後10分経過したログを負例候補とする
結合の課題と対応
オンライン処理の概要
19
クリックログ配信ログ
学習データ(負例) 学習データ(正例)
パラメータ(配布) Storm
結合
学習
20
ババッッチチ オオンンラライインン
モデル Logistic Regression
学習手法 DCD(liblinear) SGD
ハイパーパラメータ調整 Grid Search AdaDelta等
機械学習手法の比較
21
オンライン機械学習の評価手法
学習データ
学習データ
学習データ
学習データ
学習データ
学習データ
モデル(t)
モデル(t+1)
時系列順
モデル(t)
コピー
学習 評価
構築初期のモデル評価手法
22
オフライン評価
ベースラインからのAUC lift
オンライン処理の概要
23
クリックログ配信ログ
学習データ(負例) 学習データ(正例)
パラメータ Storm
結合
学習
(配布)
24
パラメータの配布
Kafka
Storm
配信サーバ
クリックサーバ
ログ回収経路
モデル配布経路
〜〜
scpscp
Webページ
広告配信リクエスト
広告クリック
モデル配布サーバ
内製ログ回収基盤
再掲
A/Bテスト結果•一部配信面/トラフィックでA/Bテスト
26
KKPPII 意味 KKPPIIリリフフトトiCTR ≒クリック率 44..11%%CPC クリック単価 --22..55%%RPR 1リクエストの売上 11..55%%
リアルタイム更新の可能性• モデル配布直後のKPIが増加傾向
27
RPR
モデル配布後の経過時間
配布後10分近辺にRPRのピーク
29
オンライン処理での課題
結果
まとめログ結合
CTR約4%向上
オフライン評価
さらなる向上の可能性