机器学习之排序学习笔记总结

推荐系统:排序算法(pointwise,pairwise,Listwise) 1. 概念 排序学习是机器学习在信息检索系统里的应用,其目标是构建一个排序模型用于对列表进行排序。 2. 排序方法 2.1 Pointwise 方法 Pointwise方法是通过近似为回归问题解决排序问题,将每个查询-文档对的相关性得分作为实数分数或者序数分数,训练排序模型。预测时候对于指定输入,给出查询-文档对的相关性得分。 模型在参数训练阶段只考虑对每个<用户,物品>独立的打分,... 阅读详情

1.简介

排序学习Learning to rank(LTR)或者机器学习排序machine-learned ranking(MLR)是应用机器学习技术,来构造信息检索系统的排序模型

训练数据包含每个列表中的项目的某种偏序关系的项目列表。这种偏序可以按照数值或者序数分值或者二元判断来确定。

排序模型的目标:学习训练集中的排序方式对未来的数据进行排序

排序学习实际上是一类监督学习问题,训练数据 包含查询和文档相关性的分数:

  • 查询集合:Q={q1,⋯ ,qm}Q=\{q_1,\cdots,q_m\}Q={q1​,⋯,qm​}
  • 文档集合:DDD
  • 与第iii个查询相关的文档Di={di,1,⋯ ,di,ni}D_i=\{d_{i,1},\cdots,d_{i,n_i}\}Di​={di,1​,⋯,di,ni​​}
  • 相关性分数的向量:yi={yi,1,⋯ ,yi,ni}y_i=\{y_{i,1},\cdots,y_{i,n_i}\}yi​={yi,1​,⋯,yi,ni​​}对每个与查询iii相关的文档
    目标:给定新的查询qqq,输出排好序的相关文档的列表

在这里插入图片描述

2.常用排序学习的分类

在这里插入图片描述
在这里插入图片描述

2.1 PointWise排序学习

在这里插入图片描述
Pointwise的优点:直接支持已有的回归或者分类的理论和算法
Pointwise的缺点:文档的信息次序并不能在训练时使用,因为算法接受单个文档作为输入。分类角度计算假设相关度是查询无关的,只要(qi,di)(q_i,d_i)(qi​,di​)的相关度相同,那么他们就被划分到同一个级别中,属于同一类。
文档次序信息的丢失就导致pointwise方法会在不重要的文档上过度强调,对于预测为同一label级别的文档之间也无法相对排序。

2.2 PairWise排序学习

核心思想:对于每个查询的文档排序对应于文档的排列,如果我们知道文档对的相对次序那么最终就能恢复出整个排列

实际上针对文档对可以设计出排序问题的二分类形式。可以使用常用的机器学习方法如Boost、SVM、神经网络等来解决。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 ListWise排序学习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

机器学习十大排序 刚学习完十种排序算法,记录一下。 1.冒泡排序:比较相邻两个值的大小,如果前者大于后者,交换二者位置 def sort1(arr): for i in range(len(arr)-1, 0, -1): for j in range(0, i): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr 2.选择排序:每次在未排 阅读详情

相关推荐

人工智能学习笔记(一)

一、什么是信息? 信息就是那些把我们不清楚的事情阐明的描述。 二、常见的算法: “冒泡排序”算法,“八皇后问题”算法,MD5算法,ZIP2压缩算法 三、什么是数据挖掘? 首先是有一定量的数据作为研究对象,挖掘——顾名思义,说明有一些东西并不是放在表面上一眼就能看明白,要进行深度的研究、对比、甄别等工作,最终从中找到规律或知识,“挖掘”这个词用的很形象。 四、什么是机器学习— ...

weixin_43719397的博客 606

AI技术内参052-机器学习排序算法经典模型:RankSVM

到目前为止,我们在专栏里已经讨论了关于搜索引擎方方面面的很多话题,包括经典的信息检索技术、查询关键字理解、文档理解以及现代搜索引擎的架构等等。同时,我们也从机器学习角度出发对搜索引擎的最核心部分,也就是排序算法进行了最基本的分享,囊括了单点法排序学习(Pointwise Learning to Rank)、配对法排序学习(Pairwise Learning to Rank)以及列表法排序学习(Listwise Learning to Rank),相信你应该对这类算法的大概内容有所掌握。

sucaiwa的博客 1099

运筹优化(OR)-在机器学习(ML)浪潮中何去何从?

机器学习与运筹优化正走向深度融合:ML擅长预测分析,OR擅长约束优化,二者形成互补。ML可提升OR模型输入质量(如预测-优化框架),但也面临目标错配、不可导性等挑战;OR则能加速ML求解过程。未来趋势是ML与OR协同工作,如ML生成候选解后由OR校正,或在自动驾驶等领域实现感知与规划的有机结合。二者的专业优势(OR的硬约束满足与解释性,ML的数据驱动能力)决定了其不可替代性,将共同推动智能决策发展。

胶带码农的博客 1328

机器学习排序

从使用的数据类型,以及相关的机器学习技术的观点来看,互联网搜索经历了三代的发展历程。 第一代技术,将互联网网页看作文本,主要采用传统信息检索的方法。 第二代技术,利用互联网的超文本结构,有效地计算网页的相关度与重要度,代表的算法有 PageRank 等。 第三代技术,有效利用日志数据与统计学习方法,使网页相关度与重要度计算的精度有了进一步的提升,代表的方法包括排序学习、网页重要度学习...

云计算? 551

当 ML 遇到 DevOps:如何理解 MLOps

本文介绍如何集成机器学习和 DevOps、管理模型、最佳实践和成功的解决方案。

1558

Spark ML 基础:DataFrame、Dataset、feature

Spark ML 是基于DataFrame/ Dataset进行机器学习API的开发,随着Spark 2.0的发展,Dataset将成为主流,会逐步取代RDD、DataFrame,当然这个取代只是在Dataset实现已有RDD、DataFrame的API,大家以后就可以用Dataset的API来实现计算逻辑,所以大家不用担心之前学会的RDD、DataFrame没有用处。博主一般喜欢从源码的角度来看

Spark MLlib 机器学习 2万+

经典机器学习系列(十二)【学习排序】

  排序学习一般被认为是supervised learning中的一个特例,谈到supervised learning其loss function一般表示为如下形式: minθ1N∑i=1NL(yi,fθ(xi)) \text{min}_{\theta} \frac{1}{N} \sum_{i=1}^{N} \mathcal{L}\left( y_{i}, f_{\theta}(x_{i})\ri...

小小何先生的学习之旅 1285

ML:MLOps系列讲解之《设计机器学习驱动的(ML-powered)软件—我们想要解决的业务问题是什么?》解读

ML:MLOps系列讲解之《设计机器学习驱动的(ML-powered)软件—我们想要解决的业务问题是什么?》解读 导读:设计机器学习驱动的软件,这部分致力于任何软件项目中最重要的阶段之一——理解业务问题和需求。 由于这些同样适用于基于 ML 的软件,因此您需要确保在开始设计之前有一个很好的理解。 任何软件项目中最重要的阶段都是理解业务问题并创建需求。基于ML的软件在这里也不例外。最初的步骤包括对业务问题和需求的彻底研究。这些需求被转换成模型目标和模型输出。需要指定可能的错误和启动的最低成功率。继续研究A

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 2811

菜菜鸟的《机器学习实战》学习笔记——kNN算法代码01

菜菜鸟的《机器学习实战》学习笔记——kNN算法代码01 网上的有关资料很多*3,作为一只菜菜,仅把我自己比较困惑的地方及解释逐条列明: for i in range(k): # python中数字区间的取值方式都是:左闭 右开!,当k=3时,会取到0,1,2三个数,所以下一条命令的voteIlabel会取前三位 # classCount[voteIlabel] = classCount.g...

qq_44644201的博客 1704

LLM - windows下的Dify离线部署:从镜像打包到无网环境部署(亲测,包含插件部署)

LLM - windows下的Dify离线部署:从镜像打包到无网环境部署(亲测,包含插件部署)

ocean00008899的博客 1289

RedHat 9 替换yum源镜像

引言:我们个人通常使用的红帽系统yum源是需要注册付费的,所以在使用yum源安装一些软件时无法正常安装(例如:MySQL),这时我们就需要将yum源替换为CentOS对应的源,以实现在红帽系统中正常安装软件。

YUJIAOZHU666的博客 3739

【081】生成随机数并“去重”与“排序”

♣题目部分(原文见公众号:python宝)明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于...

小麦粒的Python 1293

【多模态大模型】GLIP:零样本目标检测新范式与视觉语言理解

本文深入解析了多模态大模型GLIP在零样本目标检测和视觉语言理解领域的创新应用。GLIP通过统一目标检测与自然语言理解任务,实现了零样本学习能力,能够精准定位复杂文本描述对应的图像区域。文章详细介绍了GLIP的核心技术、数据策略及实战表现,并对比了与其他多模态模型的差异,为AI视觉理解提供了新范式。

weixin_29186249的博客 264

moverzp的博客目录

moverzp的博客目录标签: 工具 一、机器视觉学习笔记这个部分主要分享博主学习OpenCV和机器视觉的笔记,包括但不限于基本的OpenCV操作,图像处理的算法和一些典型例程。机器视觉学习笔记(1)——OpenCV配置机器视觉学习笔记(2)——基于DirectShow的多摄像头视频采集机器视觉学习笔记(3)——常见的像素访问方式机器视觉学习笔记(4)——单目摄像机标定参数说明机器视觉学习笔记(5)

moverzp的博客 2096

K230开发板实战:YOLOv8n模型部署全流程(附常见报错解决方案)

本文详细介绍了在K230开发板上部署YOLOv8n模型的完整流程,包括模型选型、配置文件优化和运行时调优。特别针对常见的'生成部署文件异常'等问题提供了实用解决方案,帮助开发者高效完成嵌入式AI模型的部署与优化。

g8f9d0s1a2的博客 1048

【嵌入式原理系列-第七篇】ld脚本实战:从零构建MCU内存布局

本文是一篇针对嵌入式开发者的实战指南,详细讲解了如何从零开始为MCU编写ld链接器脚本以构建自定义内存布局。文章以STM32F103C8T6为例,深入剖析了MEMORY和SECTIONS指令的用法,并提供了OTA分区、非易失数据存储等高级定制案例,帮助开发者解决实际工程中的Flash与RAM管理难题,实现对程序运行的深度掌控。

weixin_29271263的博客 249

【机器学习实战-kNN(k-近邻)】python3实现-书本知识【1】

说明:本文内容为【Peter Harrington -机器学习实战】一书的学习总结笔记。 基本概念: kNN是一种使用欧式定理计算各个特征之间的距离而进行分类的方法,欧式定理: 简述:求点(x1,y1)与点(x2,y2)之间的距离,其中,x、y假设为特征变量,则,两点距离公式:;如果有N个特征,则针对每个特征差取平方和开根号。 如何分类?对位置分类输入集按以下步骤进行分类:

1665

从农田到城市:如何利用NDVI和缨帽变换提升遥感图像分类精度?

本文深入探讨了如何利用NDVI(归一化差值植被指数)和缨帽变换(Tasseled Cap Transformation)两大关键技术,有效提升从农田到城市等复杂场景的遥感图像分类精度。文章通过剖析地物光谱特征,对比了原始波段与衍生特征的优劣,并提供了在ENVI、ArcGIS及Python环境中的具体操作指南与实战策略,旨在帮助从业者构建更鲁棒的特征工程流程,从而解决地物混淆、边界模糊等常见分类难题。

redis7keeper的博客 867

From RankNet to LambdaRank to LambdaMART学习笔记

From RankNet to LambdaRank to LambdaMART学习笔记

weixin_41084772的博客 283

【GameFramework框架内置模块】6、实体(Entity)

实体Entity就是一个实体的基本单元,类似于Unity的GameObject对象本体,然后这个本体上面附加其他各种各样组件,才能实现各种各样的功能。一般需要在游戏运行时动态加载的游戏对象,比如怪物、武器、子弹、特效,都需要给这个物体挂载一个实体Entity,这样的话就可以方便的对实例出来的对象进行管理。下面就来看一下如何使用吧。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 3137

Python爬虫实战【房产刚需专属】:爬取链家/贝壳完整房源数据,精准筛选刚需房源【房价+户型+地段+面积+装修】

本次爬虫的核心亮点就是刚需专属筛选,我已经把刚需买房的主流筛选逻辑封装为独立函数,你只需要修改筛选参数,就能精准匹配你的需求无需懂Python语法,直接改数字/文字即可!本次爬虫是刚需买房+Python爬虫实战的完美结合。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1827

使用ML.Net和C#进行机器学习

目录 介绍 背景 概述 监督 无监督 监督机器学习 二进制分类 情感分析维基百科 训练阶段 预测阶段 你有垃圾邮件 多类分类 语言检测 鸢尾花分类 版本1 版本2 结论 参考 Wikipedia_SentimentAnalysis.zip YouGotSpam_Analysis.zip LanguageDetection.zip ...

寒冰屋的专栏 8046

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

微软发布ML.NET 1.0,可一键添加机器学习模型

今天,我们很高兴宣布发布 ML.NET1.0。ML.NET 是一个免费的、跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET 应用程序。 ML.NETGitHub:https://github.com/dotnet/machinelearning 入门 @http://dot.net/ml ML.NET 允许你使用 C#或 F#训练、构建和发布自定义机...

yihuliunian的博客 1255

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ML.NET 1.0 发布,单击右键即可添加机器学习模型

ML.NET 1.0 终于发布了。ML.NET 是一个跨平台的机器学习框架,旨在让 .NET 开发者更快上手机器学习,它允许 .NET 开发者开发他们自己的模型,并将自定义 ML 注入到应用程序中。 ML.NET 旨在提供终端工作流,以便在机器学习的各个步骤中将 ML 用于 .NET 应用,如机器学习预处理、特征工程、建模、评估与运作。ML.NET 1.0 提供了以下关键组件: 数据表述 ...

寒冰屋的专栏 437

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【ML】现实世界中的机器学习

在本文中,研究人员建议可以测试一个结合了我们研究过的几种 ML 技术的系统,并部署了最佳模型:“该系统基于自然语言处理从数据中提取特征,然后将这些特征用于机器学习分类器的训练,例如朴素贝叶斯、支持向量机 (SVM)、随机森林 (RF)、随机梯度下降 (SGD) 和逻辑回归 (LR)。在本课中,您将探索八个不同的行业和主题领域如何使用这些类型的模型来提高其应用程序的性能、可靠性、智能性和对用户的价值。在纠正过程中,有一些有趣的问题需要解决,例如检测考试或论文作弊或管理偏见,无论是无意的还是无意的。

sikh_0529的博客 1万+

ML.NET库学习018:WebRank网站排序得分分类任务

训练集(Train):720,000 行验证集(Validate):240,000 行测试集(Test):240,000 行每个数据样本包含多个字段,表示搜索查询、文档内容以及相关性标签。使用LightGbm排序器,指定特征列和组别列的名称。LightGBM 是一个高效的梯度提升框架,特别适合处理排序任务。这段代码提供了一个完整的排序任务 pipeline,从数据下载、特征处理、模型训练到评估和部署。通过使用 LightGBM 排序器,可以高效地处理大规模数据集,并利用 NDCG 指标评估模型性能。

North_D的博客 857
上一篇: 【数学笔记】信息论基础
下一篇: Deep Learning of Binary Hash Codes for Fast Image Retrieval阅读总结
RealWeakCoder
博客等级 码龄7年 236粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值