Abstract
- Probabilistic Cost Function
- RankNet
Introduction
任何給用戶提供大量結(jié)果的系統(tǒng)都需要一個排序函數(shù)总棵。本文提出的是基于pairwise思想的排序方法篓冲,即對于一對樣本A和B萧福,排序函數(shù)決定A是否應(yīng)當(dāng)排在B前面唆迁。
文章中提出了一種probabilistic cost function來度量樣本A排在樣本B前面的概率,之后將該函數(shù)與神經(jīng)網(wǎng)絡(luò)結(jié)合呼巴,構(gòu)造了一種名為RankNet的排序網(wǎng)絡(luò)影钉。
Previous Work
- RankProp
- PRank, kernel PRank, large margin PRank
- Directed graphs
- RankBoost
A Probabilistic Ranking Cost Function
我們用一個模型 f 將輸入樣本由d維空間變換到1維實數(shù),這樣對于樣本A和B,模型的輸出f(A) > f(B)代表了樣本A應(yīng)當(dāng)排在B前面腻格。
代價函數(shù)的定義由估計概率和真實概率之間的交叉熵決定。
cost function定義
不同目標(biāo)概率下的cost曲線
Combining Probabilities
這里有一個定理和一個推論菜职,證明留坑待填
RankNet: Learning to Rank with Neural Nets
將cost function和neural networks結(jié)合青抛,構(gòu)造一個如下式的簡單三層DNN。三層DNN
這篇文章的核心在于將cost function拆分成如下的兩個子問題
對于第一個樣本酬核,進行一次前向傳播蜜另,記錄所有單元的激活值和梯度值;接著對第二個樣本嫡意,再進行一次前向傳播举瑰,記錄所有單元的激活值和梯度值。那么cost function的梯度由下式給出
實驗部分略
文章后續(xù)討論了將該cost function與kernel方法結(jié)合的思路蔬螟,其目標(biāo)函數(shù)為
其中正則項是f在再生核希爾伯特空間下的L2范數(shù)此迅。
心得:
- 本文是deep learning領(lǐng)域做LTR問題的開山之作,主要貢獻是提出了RankNet的框架旧巾,之后做排序的神經(jīng)網(wǎng)絡(luò)都采用了這種權(quán)值綁定網(wǎng)絡(luò)的方式耸序。
- 文中提出的probabilistic cost function對應(yīng)paddlepaddle中的rank_cost layer。該cost function本質(zhì)上是度量模型輸出的兩個樣本的偏序概率與真實偏序概率的距離鲁猩。