搜索排序评估指标-NDCG
2023-09-11 14:17:14 时间
为了让排序模型的优化目标尽量贴近搜索业务指标,需要按照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。
相关文章
- solr搜索之搜索精度问题我已经尽力了!!!
- LeetCode高频题33. 搜索旋转排序数组
- 66jqGrid - 搜索模板
- C#,初学琼林(04)——查询(搜索)数组内指定(值)的元素与全文检索“倒排序”技术的实现代码源程序
- 操作系统日志分析中常见的搜索条目 20160715
- JS Leetcode 81. 搜索旋转排序数组 II 题解,补救二分法的可行性
- 自己写的一个Solr搜索实例,增删改查+高亮+分页
- 算法入门到进阶(三)——搜索技术(DFS和递归)
- 力扣解法汇总33-搜索旋转排序数组
- ASP.NET 中文分词搜索
- 微软通过SharePoint更新提供更深入的个性化搜索支持
- LeetCode5852之最小化目标值与所选元素的差(相关话题:回溯,记忆化搜索,剪枝,归并排序)
- LeetCode426之 将二叉搜索树转化为排序的双向链表(相关话题:双向链表,二叉树中序)
- 【刷题笔记】之二分查找(搜索插入位置。在排序数组中查找元素的第一个和最后一个位置、x的平方根、有效的完全平方数)
- 【付费推广】常见问题合集,搜索推广FAQ 3
- Python数据结构与算法(5)--搜索和排序
- 【日常学习】【搜索/排序+字符串】洛谷1012/1107 最大整数题解
- [LeetCode] Minimum Distance Between BST Nodes 二叉搜索树中结点的最小距离
- [CareerCup] 11.3 Search in Rotated Sorted Array 在旋转有序矩阵中搜索
- [LeetCode] Convert Sorted List to Binary Search Tree 将有序链表转为二叉搜索树
- pycharm全局搜索