Upload
sleepyyoshi
View
1.152
Download
2
Embed Size (px)
DESCRIPTION
KDD2013読み会発表資料
Citation preview
KDD2013読み会: Direct Optimization of Ranking Measures for
Learning to Rank Models
2013-09-08
Yoshihiko Suhara
@sleepy_yoshi
Direct Optimization of Ranking Measures for Learning to Rank Models
by Ming Tan, Tian Xia, Lily Guo and Shaojun Wang (Wright State University)
• アイディア – 線形モデルにおいて,ひとつのパラメータ以外を固定して当該パラメータに関する最適化を考える • coordinate descent やMERTのノリ
– 評価値が変化するのは文書の順序が入れ替わる点という性質に着目し,変化点のみ探索することで効率よく評価指標を直接最適化するアイディアを提案
• 教師あり学習でランキングを最適化するランキング学習 (Learning to rank) の研究
• 既存手法の課題 – 検索ランキングに用いられる評価指標は非連続かつ微分不可能のため直接の最適化が困難
1枚説明
ランキング学習の簡単な説明
4
補足: 近代的なランキングの実現方法 • 多数のランキング素性を用いてランキングを実現
クエリq
クエリqを含む 文書d
𝜙1(𝑞, 𝑑)
𝜙𝑚(𝑞, 𝑑)
𝜙𝑚+1(𝑑)
𝜙𝑛(𝑑)
𝐰TΦ(𝑞, 𝑑)
・・・
・・・
検索スコア
文書の重要度 (クエリ非依存)
ランキング関数
クエリ・文書関連度 (クエリ依存)
e.g., BM25
e.g., PageRank
= Φ(𝑞, 𝑑)
補足: ランキング素性の例
• TF-TITLE □: 1
• TF-BODY □: 3
• IN-LINK: 5
• URL length: 12
<TITLE> hoge </TITLE>
<BODY> ... hoge .... ............................... ..... hoge ................ ............................... hoge ...................... </BODY>
http://www.hoge.com/
クエリq = “hoge” のときの文書1の例
Φ "hoge", 𝑑1 = 1, 3, 5, 12𝑇 ⇒
5
補足: ランキング学習の訓練データ
Training data
(𝒙11, 𝑦11)
…
… (𝒙21, 𝑦21)
(𝒙𝑛11, 𝑦𝑛11)
(𝒙12, 𝑦12)
…
(𝒙22, 𝑦22)
(𝒙𝑛22, 𝑦𝑛22)
(𝒙1𝑁, 𝑦1𝑁)
…
(𝒙2𝑁, 𝑦2𝑁)
(𝒙𝑛𝑁𝑁, 𝑦𝑛𝑁𝑁)
𝑞1 𝑞2 𝑞𝑁
素性や評価はクエリ毎に与えられる
6
補足: NDCGの計算方法
• 検索ランキングのデファクトスタンダード的評価方法 – 正解データとランキングを比較
• 検索結果上位を重視する評価指標 – (1) 順位kに高い点数>順位kに低い点数 – (2) ランキング上位をより重視
• NDCG (Normalized Discouted Cumulative Gain)
– 上記の2つを取り入れた多段階評価指標
– 𝑦𝑞,𝑖: クエリqにおける順位iの評価点数
𝐷𝐶𝐺𝑞@𝑘 ≡ 2𝑦𝑞,𝑖 − 1
log 1 + 𝑖
𝑘
𝑖=1
𝑁𝐷𝐶𝐺𝑞@𝑘 ≡𝐷𝐶𝐺𝑞@𝑘
𝑚𝑎𝑥𝐷𝐶𝐺𝑞@𝑘
7
(0,1]に正規化
分子
分母
ランキング学習の簡単な説明 おわり
手法の説明
準備 (1/2)
• 線形モデルを考える – 素性をそのまま用いる代わりにBase LearnerとしてMARTを利用 • MARTについては後述
– 用意したMARTの各弱学習器の出力 = 素性とみなす
MARTの弱学習器の数だけパラメータ
ベクトル
補足: MARTTM
• Multiple Additive Regression Trees (MART) – Gradient Tree Boosting の一種 – see Wikipedia
• http://en.wikipedia.org/wiki/Gradient_boosting
• Gradient Tree Boosting てきとー説明 – Boosting の Weak learner が Decision Tree
• Boosting: – 𝑓 𝒙 = 𝛼𝑖ℎ𝑖(𝒙)𝑖 で予測 – ℎ𝑖(𝒙)を各試行で生成
– Boosting の弱学習器生成と重み (𝛼𝑖) 計算に目的関数の勾配情報を利用 • この重みをちゃんと計算しないとね (by MART作者)
準備 (2/2)
• 1次元毎に最適化するCoordinate descentのノリで更新を行う
–本稿ではMERTにインスパイヤされたとも書いてある
補足: Coordinate Descent
• 座標降下法とも呼ばれる (?) • 選択された次元に対して直線探索 • いろんな次元の選び方
– 例) Cyclic Coordinate Descent
• 並列計算する場合には全次元の部分集合を選択して更新
13
補足: MERT
• Minimum Error Rate Training (MERT) – 統計的機械翻訳のデファクトスタンダード手法 – 元手法は1次元単位.多次元版もあるみたい [Galley+ 2011]
[Osh 2003]より抜粋
これからこの絵だけで説明
図の見方
クエリ1の 各文書のスコア
クエリ2の 各文書のスコア
評価値
パラメータの値
他のパラメータを固定してパラメータ𝛼𝑘だけ考える 各文書のスコアは線形に変化する
文書の順序が入れ替わる場所 (jumping point)
NDCG@3の場合,各クエリ上位3件だけ考えればよい
全てのクエリのjumping pointに挟まれた区間で NDCGを計算し,最大のパラメータに更新
このグラフ相当の 情報を得る
ココ
※細かいところをいうと NDCG最大のパラメータは無数存在するので 本稿では区間の真ん中を選択する方法を利用
以上を繰り返す
• 次元の選択方法は順番に行う
– cf. Cyclic coordinate descent
• 補足
–全次元の中でNDCGの増加が最大のものを選択するGreedyな方法も試したが,コストの割によくなかったらしい
アルゴリズム
• もう理解 (わか) りますよね
手法の説明おわり
評価
• 当たり前の結果 – よい.ハイハイわかりましたよ,よいんですね – 精度の意味でstate-of-the-art手法 [Ganjisaffar+ 11] と比較していない
Direct Optimization of Ranking Measures for Learning to Rank Models
by Ming Tan, Tian Xia, Lily Guo and Shaojun Wang (Wright State University)
• アイディア – 線形モデルにおいて,ひとつのパラメータ以外を固定して当該パラメータに関する最適化を考える • coordinate descent やMERTのノリ
– 評価値が変化するのは文書の順序が入れ替わる点という性質に着目し,変化点のみ探索することで効率よく評価指標を直接最適化するアイディアを提案
• 教師あり学習でランキングを最適化するランキング学習 (Learning to rank) の研究
• 既存手法の課題 – 検索ランキングに用いられる評価指標は非連続かつ微分不可能のため直接の最適化が困難
再掲
References
• [Och 03] F. J. Och, “Minimum Error Rate Training in Statistical Machine Translation”, Proc. ACL ‘03, 2003.
• [Galley+ 11] M. Galley, C. Quirk, “Optimal Search for Minimum Error Rate Training”, Proc. EMNLP ’11, 2011.
• [Ganjisaffar+ 11] Y. Ganjisaffar, R. Caruana, C. V. Lopes, “Bagging gradient-boosted trees for high precision, low variance ranking models”, Proc. SIGIR ‘11. 2011.