主页 > 系统易尔灵网络科技

pairwise 的排序算法用于推荐系统的排序任务中为什么效果差于pointwise的ctr?

116 2023-12-09 08:42

一、pairwise 的排序算法用于推荐系统的排序任务中为什么效果差于pointwise的ctr?

在聊这个问题之前,需要先明白他们两者之间有什么区别。

在排序算法里有三种优化目标:pairwise,pointwise,listwise,每个方法都有其适应的场景。

  1. pairwise是每次取一对样本,预估这一对样本的先后顺序,不断重复预估一对对样本,从而得到某条query下完整的排序。pair-wise损失在训练模型时,直接用两个物品的顺序关系来训练模型,就是说优化目标是物品A排序要高于物品B,类似这种优化目标。
  2. 对于pointwise而言,每次仅仅考虑一个样本,预估的是每一条和query的相关性,基于此进行排序。最简单的损失函数定义是Point-wise,就是输入用户特征和单个物品特征,对这个物品进行打分,物品之间的排序,就是谁应该在谁前面,不用考虑。
  3. Listwise同时考虑多个样本,找到最优顺序。List-wise的Loss更关注整个列表中物品顺序关系,会从列表整体中物品顺序的角度考虑,来优化模型。

本问题,在实际应用的过程中,pairwise 用于推荐系统的排序任务时,效果却差于 pointwise?

主要原因可从三个方面来考虑,

(1)point wise虽然简单,但是存在不少问题。比如搜索场景,我们确实可以预估每个query到每个document的点击率做为排序依据,但是点击率要考虑rank,例如排的越靠前的document点击率上占据优势,这些point-wise模型很难考虑进去。

(2)pair wise是在搜索排序中提出的,是基于相关性标注的,正负例之间是有明显界限的,基于它产生的排序结果能输出明确的相关性。这种正负例之间的明显界限,是因为我们搜索时是有意识的、有Query的,搜索结果的排序是推荐是被动的。

(3)推荐是发散的、无意识的,是基于场景的主动推荐,在推荐场景中用户的反馈具有随机性,同样相关性高的两个Item A/B曝光给用户,用户点击了Item A,说明用户对A有兴趣,当时这能说明用户对B没有兴趣吗?与此同时精准性并不是推荐的唯一指标,多样性是一个必要的指标。在多样性前提下,曝光给用户的item集合是通过推荐系统层层的召回、排序、重排等过程,选出的最符合用户兴趣的item,此时用户的负反馈就有一定的随机性,这也就导致推荐场景不像搜索场景,可以有适合做pairwise的样本。

接下来,聊一聊两种方法各自的优缺点。

(一)pairwise

Pair-wise的方法是将同一个查询中两个不同的Item作为一个样本,主要思想是把rank问题转换为二值分类问题。对于同一Query的相关文档集中,对任何两个不同label的文档,都可以得到一个训练实例(di,dj),如果di>dj则赋值+1,反之-1,于是我们就得到了二元分类器训练所需的训练样本了。

常用Pair-wise实现有SVMRank、RankBoost、RankNet等。

优点

  • 输出空间中样本是 pairwise preference;
  • 假设空间中样本是二变量函数;
  • 输入空间中样本是同一 query 对应的两个 doc和对应 query构成的两个特征向量;
  • 损失函数评估 doc pair 的预测 preference 和真实 preference 之间差异;

缺点

  • 只考虑了两篇文档的相对顺序,没有考虑他们出现在搜索结果列表中的位置;即:Pair-wise方法仅考虑了doc-pair的相对位置,损失函数还是没有模型到预测排序中的位置信息;
  • 对于不同的查询相关文档集的数量差异很大,转换为文档对后,有的查询可能只有十几个文档对,而有的查询可能会有数百个对应的文档对,这对学习系统的效果评价带来了偏置;
  • Pair-wise对噪声标注更敏感,即一个错误标注会引起多个doc-pair标注错误;

(二)pointwise

Point-wise排序是将训练集中的每个Item看作一个样本获取rank函数,主要解决方法是把分类问题转换为单个item的分类或回归问题。就是输入用户特征和单个Item特征,对这个物品进行打分,物品之间的排序,就是谁应该在谁前面,不用考虑。Point-wise方法很好理解,即使用传统的机器学习方法对给定查询下的文档的相关度进行学习,比如CTR就可以采用PointWise的方法学习,但是有时候排序的先后顺序是很重要的,而Point-wise方法学习到全局的相关性,并不对先后顺序的优劣做惩罚。

明显这种方式无论是训练还是在线推理,都非常简单直接效率高,但是它的缺点是没有考虑物品直接的关联,而这在排序中其实是有用的。

常用Point-wise实现基于回归的算法、基于分类的算法、基于有序回归的算法等。

优点

  • 使用传统的机器学习方法对给定查询下的文档的相关度进行学习;
  • 输入空间中样本是单个document和对应query构成的特征向量;
  • 输出空间中样本是单个documen和对应query的相关度;
  • 假设空间中样本是打分函数,损失函数评估单个 doc 的预测得分和真实得分之间差异。

缺点

  • Point-wise类方法并没有考虑同一个query对应的documents间的内部依赖性,完全从单文档的分类角度计算,没有考虑文档之间的相对顺序;
  • 和Pair-wise类似,损失函数也没有模型到预测排序中的Position位置信息;

再谈排序算法的pairwise,pointwise,listwise

二、双压阀在气动系统中主要用于?

双压阀也相当于两个单向阀的组合结构形式,其作用相当于“与门”。

它有两个输入口P1和P2、一个输出口A。当P1和P2单独有输入时,阀芯被推向另一侧,A无输出。只有当P1和P2同时版有输入时,A才有输出。当P1和P2输入的气压不等时,气压低的通过A输出。双压阀在气动回路中常权当“与门”元件使用。

它是具有两个输入口和一个输出口,其功能为:只有当两个输入口同时有输入时,才有输出,即相当于“与门”逻辑功能。

当两个输入口都有气信号时,输出口才会有气输出,只要其中一个气信号未输入,输出便会停止;当两个输入口有气压时,低压那侧会流到输出口。

需要两个二位三通阀同时动作,才能使单作用气缸前进,实现“与”门逻辑控制。只有当两个按钮阀1S1和1S2都压下时,单作用气缸活塞杆才伸出;若二者中有一个不动作,则气缸活塞杆将回缩至初始位置。

三、在erp系统中,mrp主要用于解决哪些问题?

erp中的mrp主要用于计算物料需求,举个例子:某一客户下单要A产品100件,那么车间要按单生产的话,得要相应的原材料数量,这就是mrp的功能。

四、在各类算法中那种算法排序是最快的?

说句实话,没有最快这一说。如果不在乎浪费空间,应该是桶排序最快如果整体基本有序,插入排序最快如果考虑综合情况,快速排序更加实用常见(希尔排序、堆排序等各种排序也各有优劣)一般情况下,冒泡这种排序仅仅是名字起的有趣罢了,不太好用

五、柱塞泵用于什么系统中?

柱塞泵是液压系统的一个重要装置。

它依靠柱塞在缸体中往复运动,使密封工作容腔的容积发生变化来实现吸油、压油。

柱塞泵具有额定压力高、结构紧凑、效率高和流量调节方便等优点,被广泛应用于高压、大流量和流量需要调节的场合,诸如液压机、工程机械和船舶中。

六、减压回路在液压系统中主要用于什么回路?

减压回路在液压系统中主要用于两个或两个以上回路压力不同的情况,如电液换向阀主回路需要用高压,而电液换向阀控制油需低压,就可从主油路引一支回路经过减压阀减压后控制电液阀换向。

还有两个或两人以上的执行元件,需不同的压力,也可通过减压阀减压后供给低压执行元件。

七、齿轮泵多用于高压系统中,柱塞泵多用于低压系统中对吗?

答案是不对的,应该是齿轮泵一般应用于中高压系统中,而柱塞泵却是应用于各种高压系统中。

八、paxos算法在谷歌中的应用?

Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法。

Paxos算法目前在Google的Chubby、MegaStore、Spanner等系统中得到了应用,Hadoop中的ZooKeeper也使用了Paxos算法,在上面的各个系统中,使用的算法与Lamport提出的原始Paxos并不完全一样,这个以后再慢慢分析。

Paxos算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。在工程实践意义上来说,就是可以通过Paxos实现多副本一致性,分布式锁,名字管理,序列号分配等。比如,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。

九、ld用于什么光纤通信系统中?

Id用于网络商业与银行网监光纤通信帐号管理系统中。

十、F8键在电脑系统中有什么作用?

F8键的作用 对于Windows操作系统的安全模式,经常使用电脑的朋友肯定不会感到陌生,安全模式是Windows用于修复操作系统错误的专用模式,是一种不加载任何驱动的最小系统环境,用安全模式启动电脑,可以方便用户排除问题,修复错误。 进入安全模式的方法是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放),在出现的启动选项菜单中,选择“Safe Mode”,即可 以安全模式启动计算机。那么安全模式到底有哪些用途呢?下面就让我们具体来看一下。

1.修复系统故障 如果Windows运行起来不太稳定或者无法正常启动,这时候先不要忙着重装系统,试着重新启动计算机并切换到安全模式启动,之后再重新启动计算机,系统是不是已经恢复正常了?如果是由于注册表有问题而引起的系统故障,此方法非常有效,因为Windows在安全模式下启动时可以自动修复注册表问题,在安全模式下启动Windows成功后,一般就可以在正常模式(Normal)下启动了。

2.恢复系统设置 如果用户是在安装了新的软件或者更改了某些设置后,导致系统无法正常启动,也需要进入安全模式下解决,如果是安装了新软件引起的,请在安全模式中卸载该软件,如果是更改了某些设置,比如显示分辨率设置超出显示器显示范围,导致了黑屏,那么进入安全模式后就可以改变回来,还有把带有密码的屏幕保护程序放在“启动”菜单中,忘记密码后,导致无法正常操作该计算机,也可以进入安全模式更改。

3.删除顽固文件 我们在Windows下删除一些文件或者清除回收站内容时,系统有时候会提示“某某某文件正在被使用,无法删除”的字样,有意思的是,通常这些文件并没有正在被使用,那么是不是让这些文件永远霸占我们的硬盘呢?请不要着急,重新启动计算机,并在启动时按下F8键进入安全模式,试着删除那些顽固文件并清空回收站看一看,没了!原来Windows已经放弃了对这些文件的保护,可以把它们删除了。

4.彻底清除病毒 现在病毒一天比一天多,杀毒软件也跟着天天更新。但是,在Windows正常模式下有时候并不能干净彻底地清除病毒,因为它们极有可能会交*感染,而一些杀毒程序又无法在DOS下运行,这时候我们当然也可以把系统启动至安全模式,使Windows只加载最基本的驱动程序,这样杀起病毒来就更彻底、更干净了。

5.磁盘碎片整理 在碎片整理的过程中,是不能运行其它程序的,因为每当其它程序进行磁盘读写操作时,碎片整理程序就会自动重新开始,而一般在正常启动Windows时,系统会加载一些自动启动的程序,有时这些程序又不易手动关闭,常常会对碎片整理程序造成干扰,这种情况下,我们就应该重新启动计算机,进入安全模式,安全模式是不会启动任何自动启动程序的,可以保证磁盘碎片整理的顺利进行

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片

热点提要

网站地图 (共14个专题11910篇文章)

返回首页