LTR 和 CTR 和 所谓的pointwise, pairwise, listwise的关系
1.基本概念解释
1.1 LTR (learning to rank) 意思是 ‘学习排序’,就是排序的机器学习技术
1.2 CTR (click through rate) 意思是‘点击率(预估)’,这个很常见的二分类问题(点击概率0-1)
1.3 pointwise 含义是单点(单文档)角度 pairwise 含义是文档对角度 listwise 含义是(推荐)文档列表角度
2.具体关系讲述
LTR是排序技术,常用语搜索推荐场景,具体如何进行排序的学习,样本如何提取,方案和思路就是上述三个角度。
具体例子,比如query为 ‘1岁男宝奶瓶’,出现各个商家的奶瓶商品信息列表
用户可能会进行后续操作,比如滑动浏览了多少个条目,有哪些点击进入详情页面了,有哪些进入详情页时间较长,有哪些加车,有哪些购买了,诸如此类的后续行为日志。
有了这些可以利用的标注数据,如何进行排序模型的学习?
先不考虑不同动作含义权重不一样,简单点,一个很直观的思路就是直接利用点击进入详情代表用户点击了,曝光未点击为负样本,曝光点击为正样本,然后构建 (query特征 | 商品信息特征 | query-商品匹配(交叉)特征, label) 这样的(x,y)对进行训练,预测得到的yhat代表了点击概率,这就是典型的CTR思路。一言以蔽之,CTR是LTR pointwise的运用。
为何还要有pairwise呢?有些网上的博客文章也没讲特别透彻,个人理解是这样的。对于不同位置的的点击与否,权重是不一样的,比如越高的理论上有所谓的位置偏向,理论上没有点击应该惩罚多一些,相反,位置靠下的点击了鼓励应该多一些,所以可以根据不同位置是否点击进行不同级别的标记,比如 优(位置不好点击了)/良(正常点击)/中(非差情况未点击)/差(位置好没有点击)几个等级的匹配,理论上可以进行不同分值的标记,比如1.0,0.8, 0.2,0等标记让模型去分类(回归)。但是有个问题是人为的标记量化了各个指标的差异,而且难免有误差。另一个更科学的思路是,我不知道良比中好多少,但是我知道良一定是要比中好的,所以,对于各个文档比较是否正确构建损失函数的来进行模型的训练和学习是更加合理科学的选择。
那listwise呢?上面的pairwise一个显著的缺点是复杂度高,理论上C(n,2) = O(n^2)时间复杂度。所以考虑直接以整个文档来构建损失,而不是两两比较各个样本。那如何考虑整个list呢?也是ctr的思路,就是有一个评分函数,但是我不是让它预测概率,我是让它预测各个(query,doc)的分数,这样可以得到这个list的分布,以上面的日志数据标注的list作为参照,可以比较两个list的分布差异,这样来进行模型的训练,直到模型收敛,预测得到排序列表接近于理想的list分布。
据笔者了解和认识,现在大规模的应用中,用于搜索推荐的场景,listwise的lamdamart应用的比较多,其他非query的推荐场景,pointwise的ctr用的更多些。从本质上来讲,三种训练模式都是为了训练一个评估点击概率的函数,只不过训练阶段的损失构建方式不一样而已,而到了线上应用,他们的使用方法是一样的,都是根据评分来排序即可。
另 lamdamart思路比较牛逼的地方在于,它不是传统的优化问题算法思路,即先构建损失函数,求(偏)导梯度下降求最小值。因为梯度下降也是利用梯度(偏导)来进行真正的计算,所谓损失函数不事先定义也可以。它更关注了梯度本身的含义,直接构造了梯度,而且再构造的梯度上加入了不平滑没法直接求梯度的评价指标部分,更加直接的朝着优化方向前进,这个思路值得借鉴学习。
附学习博客链接:
LTR学习排序 Learning to Rank 小结
Learning To Rank之LambdaMART的前世今生
LTR 和 CTR 和 所谓的pointwise, pairwise, listwise的关系相关推荐
- LTR (Learning to Rank): 排序算法 poitwise, pairwise, listwise常见方案总结
目录 1 Learing to Rank介绍 2 The Pointwise Approach 3 The Pairwise Approach 3.1 RankNet 4 The Listwise A ...
- 再谈排序算法的pairwise,pointwise,listwise
NewBeeNLP·干货 作者:DOTA 大家好,这里是 NewBeeNLP. 最近因为工作上的一些调整,好久更新文章和个人的一些经验总结了,下午恰好有时间,看了看各渠道的一些问题和讨论,看到一个熟悉 ...
- 【推荐】pairwise、pointwise 、 listwise算法是什么?怎么理解?主要区别是什么?
写在前面:写博客当成了学习笔记,容易找到去完善,不用于商业用途.通过各种途径网罗到知识汇总与此,如有侵权,请联系我,我下掉该内容~~ 排序学习的模型通常分为单点法(Pointwise Approach ...
- 推荐系统[四]:精排-详解排序算法LTR (Learning to Rank): poitwise, pairwise, listwise相关评价指标,超详细知识指南。
搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...
- 【推荐系统算法学习笔记1】基本架构、专有名词、构建流程
文章目录 1.架构 1.1 大数据框架:lambda 架构的 1.2.基本概念 2. 推荐模型构建流程 2.1 数据 2.1.1 数据来源 2.1.2 数据清洗.处理 2.2 特征工程 2.3 算法( ...
- 搜索研发工程师需要掌握的一些技能
文章目录 基础 语言 数据结构与算法 工程方面 搜索相关 搜索主要模块 电商搜索流程 分词相关 搜索召回 相似度算法 相关词推荐 排序相关 国美搜索 搜索算法工程师需要掌握的技能 基础 语言 大部分公 ...
- Learning to Rank模型总结
文章目录 LTR介绍 pointwise pairwise listwise 经典算法 RankNet LambdaRank 信息检索常用指标 MAP nDCG ERR 指标代码实现 LTR介绍 搜索 ...
- 干货 | XGBoost在携程搜索排序中的应用
作者简介 曹城,携程搜索部门高级研发工程师,主要负责携程搜索的个性化推荐和搜索排序等工作. 一.前言 在互联网高速发展的今天,越来越复杂的特征被应用到搜索中,对于检索模型的排序,基本的业务规则排序或者 ...
- 排序 np_干货 | XGBoost在携程搜索排序中的应用
作者简介 曹城,携程搜索部门高级研发工程师,主要负责携程搜索的个性化推荐和搜索排序等工作. 一.前言 在互联网高速发展的今天,越来越复杂的特征被应用到搜索中,对于检索模型的排序,基本的业务规则排序或者 ...
最新文章
- 惠普z840工作站安装linux,HPZ440Z640和Z840工作站系列使用手册.PDF
- boost::spirit模块实现自定义karma计数器的测试程序
- 苹果降价潮一波接一波 两款廉价iPad“箭在弦上”
- [插头DP自我总结]
- Java的GUI学习八(键盘码查询器)
- 将hta包装为exe发布
- SpringBoot2.0整合jsp
- python字典的作用_python字典方法介绍
- L298电机驱动原理图+PCB
- 关于锐捷校园网断网的解决办法
- windowns server 2008 R2激活工具(含win7、vista)
- PS去除图片和PDF中的水印
- 最新鼎捷易飞9.0.12ERP制造业ERP系统介绍
- XML学习之做过的实验——实验二
- La3713 Astronauts 2-Sat
- 组合最优化——凸集凸函数
- R语言实现单因素方差分析
- 全球及中国水解蚕丝蛋白行业研究及十四五规划分析报告
- 关于Navicat 连接 RDS数据库
- 腾讯新使命科技向善,首先对公众号善意一些可以吗?