首页 > 编程语言 >pairwise算法之rank svm

pairwise算法之rank svm

时间:2024-10-31 23:18:09浏览次数:5  
标签:SVM 模型 样本 Rank svm pairwise rank 文档 排序

众所周知,point-wise/pair-wise/list-wise是机器学习领域中重要的几种建模方法。比如,最常见的分类算法使用了point-wise,即一条样本对应一个label(0/1),根据多条正负样本,使用交叉熵(cross entropy)等方法构建损失函数,来训练模型。

顾名思义,Pairwise方法是一种基于样本对比较的排序方法。它的基本思想是每次选取一对样本,比较这两个样本的顺序关系,然后通过不断调整模型参数,使得模型能够更好地预测这种顺序关系。在Pairwise排序学习中,关注的是任意两个文档(或其他项目)之间的相对顺序,而不是整个列表的全局顺序。它的优缺点如下:

● 优点:训练速度快,因为它每次只需要比较一对样本。此外,它在测试设计中能够有效减少所需的测试用例数量,同时保持较高的覆盖率。

● 缺点:只考虑了样本对的相对顺序,而忽略了整个列表的全局顺序信息。这可能会导致在某些情况下排序结果不如基于全局顺序的方法准确。

有个细节值得特别注意:pairwise在训练时使用了一个pair(包含两条样本)作为输入,但预测的时候是可以对单个样本进行打分,这样才可以高效地用于模型的线上打分。

下面,介绍一个经典的pairwise算法:rank svm,它的设计非常巧妙,值得学习:

Rank SVM是一种在机器学习中用于解决排序问题(Learning to Rank, LTR)的方法,基本思想是通过将排序问题转化为分类问题来解决。给定一个查询q和相关文档集合,Rank SVM的目标是学习一个排序模型,该模型能够根据相关性对文档进行排序。具体来说,如果文档di比文档dj更相关,则Rank SVM会鼓励模型给出的分数使得di的分数高于dj。通过一个简单的例子来说明Rank SVM在信息检索中的应用,特别是在搜索引擎中的网页排序问题中如何工作。

假设用户在搜索引擎中输入了查询词“机器学习”,搜索引擎返回了以下四个结果,并且我们已经有了这些结果的相关性标签(相关=1,不相关=0):

  1. 页面A:关于机器学习的介绍(相关=1)
  2. 页面B:机器学习算法的讨论(相关=1)
  3. 页面C:家用电器的使用说明(相关=0)
  4. 页面D:机器学习在商业中的应用(相关=1)
    Rank SVM的训练过程:
  5. 构建Pairwise对:
    ○ Rank SVM需要构建Pairwise对来比较文档的相关性。在这个例子中,我们可以构建以下Pairwise对:
    ■ (A, C):A比C更相关
    ■ (B, C):B比C更相关
    ■ (D, C):D比C更相关
    ■ (A, D):A和D都是相关的,但A的排名可能更高,因为它更全面
    ■ (B, D):B和D都是相关的,但B的排名可能更高,因为它更专注于算法
  6. 特征提取:
    ○ 对于每一对文档,我们需要提取特征向量。这些特征可能包括文本特征(如TF-IDF值)、用户行为数据(如点击率)、页面质量指标等。
  7. 训练模型:
    ○ 使用上述Pairwise对和特征向量,Rank SVM训练一个模型,该模型试图找到一个超平面,使得所有正样本对(更相关的文档有更高的分数)被正确排序,而负样本对(更相关的文档有更低的分数)被错误排序。
  8. 优化目标:
    ○ 对于SVM,其优化目标是最小化违反Pairwise对的总数(即hinge loss),同时通过正则化项控制模型的复杂度。
  9. 模型预测:
    ○ 一旦模型被训练,它可以用来对新的查询结果进行排序。给定一个新的查询和一组结果,模型会为每个结果计算一个分数,然后根据这些分数对结果进行排序。

在这个例子中,Rank SVM模型学习了如何根据特征和相关性标签来排序页面。在实际应用中,Rank SVM模型会处理更复杂的数据集,包含更多的特征和样本,以实现更准确的排序。通过这种方式,Rank SVM可以帮助搜索引擎提供更相关、更高质量的搜索结果。

其实,在针对实际问题的求解过程中,经常会在point-wise基础上引入一些pairwise的loss,实现两种方法的优缺互补,并且对数据分布进行更为细致的建模。

标签:SVM,模型,样本,Rank,svm,pairwise,rank,文档,排序
From: https://blog.csdn.net/burstone/article/details/143420067

相关文章

  • SVM识别手写数字
    """https://mp.weixin.qq.com/s/SL57KglCbNDoONSKFmXRtA支持向量机(SVM)支持向量机用于分类和回归问题。比如,识别手写数字。"""fromsklearn.svmimportSVCfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportaccuracy_scorefromsklearn.d......
  • [PA2021] Ranking sklepów internetowych
    算法显然可知,最大的权值显然是\(2\timesn+1\)我们也可以发现取最大值时序列的特征:中位数大于$\frac{n}{2}$,且包括整个大序列所有大于中位数的整数以及相等个数的小于中位数的数所以枚举中位数,找区间\([L,R]\)使得\(i\)到\(n\)的整数都在区间内,并且要求......
  • Spark实现PageRank算法
    详细步骤:1、创建Sparksql环境2、读取数据3、数据切分(分为page列,outLink列)形成表pageDF4、新增pr一列 (给定初始值)  形成表initPrDF5、新增avgPr一列(根据出链关系,求每个页面所分到的Pr)6、分组聚合(将outLink列explode炸开,在按照page分组,然后sum求和,这就是表......
  • 基于NRBO、CPO、TTAO、FVIM-CNN-LSSVM/CNN-LSSVM回归预测 5 模型一键对比 Matlab
    基于NRBO-CNN-LSSVM、CPO-CNN-LSSVM、TTAO-CNN-LSSVM、FVIM-CNN-LSSVM、CNN-LSSVM五模型多变量回归预测一键对比(仅运行一个main即可)Matlab代码代码解释:(优化算法均为24年算法)优化参数为:批次数、正则化系数、学习率【牛顿拉夫逊算法、冠豪猪算法、三角拓扑聚合算法、四向......
  • 7个提升Google搜寻排名的SEO技巧(Google RankBrain)
    GoogleRankBrain是一种搜寻引擎演算法,GoogleRankBrain是基于人工智慧来自动判断搜寻者的搜寻意图,同时也将网页概念化,利用动态排序方式来对应搜寻关键字与搜寻结果,使其显示最佳的搜寻结果,我们在GoogleRankBrain权威指南当中非常详尽的解释GoogleRankBrain的运作原理,......
  • 【机器学习】支持向量机SVM|高斯核 讲解及代码实现
    支持向量机SVM支持向量机介绍SVM全称是SupportedVectorMachine(支持向量机)即寻找到一个超平面使样本分成两类,并且间隔最大。是一种监督学习算法,主要用于分类,也可用于回归与逻辑回归和决策树等其他分类器相比,SVM提供了非常高的准确度优点:适合小样本高纬度数据......
  • 【人工智能-初级】第5章 支持向量机(SVM):原理解析与代码实现
    文章目录一、支持向量机简介二、支持向量机的数学原理2.1线性可分支持向量机2.2软间隔与非线性支持向量机2.3核函数三、SVM的优缺点3.1优点3.2缺点四、Python实现支持向量机4.1导入必要的库4.2生成数据集并进行预处理4.3创建SVM分类器并进行训练4.4模型预测与......
  • 支持向量机SVM原理详解
    SVM原理详解1、超平面2、SVM原理1.问题定义2.分类决策得到约束条件3.最大化间隔4.优化目标3、凸优化问题1.原始优化问题优化目标约束条件2.拉格朗日乘子法3.拉格朗日函数分析4.求解对w......
  • RAG 中为什么使用 ReRank 而不是 Embedding 直接一步到位?
    Embedding检索时会获得问题与文本之间的相似分,以往的RAG服务直接基于相似分进行排序,但是事实上向量检索的相似分是不够准确的。原因是Embedding过程是将文档的所有可能含义压缩到一个向量中,方便使用向量进行检索。但是文本压缩为向量必然会损失信息,从而导致最终Embed......
  • 机器学习篇-day09-支持向量机SVM
    一.支持向量机介绍支持向量机介绍SVM全称是SupportedVectorMachine(支持向量机)即寻找到一个超平面使样本分成两类,并且间隔最大。是一种监督学习算法,主要用于分类,也可用于回归与逻辑回归和决策树等其他分类器相比,SVM提供了非常高的准确度优缺点优点:适合小样本、高......