搜索排序評估指標-NDCG


為了讓排序模型的優化目標盡量貼近搜索業務指標,需要按照Query計算損失,且不同位置的樣本具有不同的權重。搜索系統常用的指標NDCG(Normalized Discounted Cumulative Gain)相較於Log Loss顯然更貼近搜索業務的要求,NDCG計算公式如下:

累加部分為DCG(Discounted Cumulative Gain)表示按照位置折損的收益,對於Query下的結果列表l,函數G表示對應Doc的相關度分值,通常取指數函數,即G(lj)=2lj-1(lj表示的是相關度水平,如{0,1,2});函數 η 即位置折損,一般采用 η(j)=1/log(j+1),Doc與Query的相關度越高且位置越靠前則DCG值會越大。另外,通常我們僅關注排序列表頁前k位的效果,Zk 表示 DCG@k 的可能最大值,以此進行歸一化處理后得到的就是NDCG@k。

問題在於NDCG是一個處處非平滑的函數,直接以它為目標函數進行優化是不可行的。LambdaRank提供了一種思路:繞過目標函數本身,直接構造一個特殊的梯度,按照梯度的方向修正模型參數,最終能達到擬合NDCG的方法[6]。因此,如果我們能將該梯度通過深度網絡進行反向傳播,則能訓練一個優化NDCG的深度網絡,該梯度我們稱之為Lambda梯度,通過該梯度構造出的深度學習網絡稱之為LambdaDNN。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM