zoukankan      html  css  js  c++  java
  • 搜索排序评估指标-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。

    时刻记着自己要成为什么样的人!
  • 相关阅读:
    委托系列整理
    EF Lambda 多表查询
    枚举,Enum,常规使用demo记录
    自定义Window 服务
    xpath 操作XML
    MVC 自定义过滤器
    时间比对,常用细节记录
    Lock锁_线程_线程域
    break、continue和goto 三者作用介绍
    .net 学习路线感想
  • 原文地址:https://www.cnblogs.com/demo-deng/p/14445600.html
Copyright © 2011-2022 走看看