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

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

  排序学习一般被认为是supervised learning中的一个特例,谈到supervised learningloss function一般表示为如下形式:


image.png


supervised learning中我们首先想到的是RegressionClassification,其loss function分别表示为如下形式:

  • Regression

Regression经常以mean-square-error构建loss function

image.png

  • Classification

  Classification常以cross-entropy构建loss function


image.png

 上述的loss function都是建立在一个instance个体本身上面,而不是一群instance上面。


Learning to Rank Problem


  而这个Learning to Rank就比较有意思,输入是 a set of instances:


image.png

输出是a rank list of these instances


image.png

 其中下标表示的是排序位置,比如r 1 = 1,表示x 1 排在第一个位置,r 1 = 2,表示x 2排在第一个位置。

  真实标签就是a correct ranking of these instances

image.png

Learning to Rank就是在一系列instances下面做supervised learning

Information Retrieval

  Information Retrieval更广泛的意思是说,我们有一个user。他有一个 information need ,希望在a collection of information items里面通过索引、排序等方法,然后返回一些相关的items给用户。

A Typical Application: Web Search Engines


20200221113756309.png


 当我们每天在做检索的时候其实也在反馈,他们的rank应该如何去做会更好一些。

  在上述过程中有Two key stages索引检索相关的候选文档和排序这些文档。

  • Retrieve the candidate documents
  • Rank the retrieved documents

  而Rank the retrieved documents我们可以用Learning to Rank的方式来做。由于Learning to Rank不可能对所有的documents排序,因此有第一步索引。

  • Overview Diagram of Information Retrieval

  整个Web Search Engines其大体的核心步骤可描述为下图所示:

  1. Inverted Index

  给一个文档,需要知道有哪些关键词

  1. Relevance Model

  当用户输入一个query之后,依据Inverted Index我们可以找到一些候选集,

  1. Query Expansion & Relevance feedback model

  这里所做的是对Query的一个扩充,比如拿前十名的文档对关键词进行扩充,能够使得Query更加全面,排序结果更加稳定,返回更好的userinformation need

  1. Ranking document

  最后去做Learning to Rank的这个model,使得排序结果更好,更好的服务于用户。

Webpage Ranking

  整个learning to rankframework如下图所示:

  当user输入query时,第一步是获得Retrieved Items,之后基于这个Retrieved Itemsranking model,然后输出Ranked List of Documents

Learning to Rank

Model Perspectiv

  目前大部分learning to rank的工作建模为两方面的问题, query-documentfeature的形式建模出来。

  • Each instance (e.g. query-document pair) is represented with a list of features

  有时候的query是非常离奇的,搜索引擎从来没有见过,因此我们需要将query映射到feature space上面。

  • Discriminative training

  这里主要是当给一个query-document pair我们需要Estimate the relevance,也就是一个打分函数f θ


image.png

 之后需要基于the estimationRank the documents。基于这个rank与真正的rankloss function,再train就可以了。

  总结一下在Learning to Rankframework下面:

  • 输入:features of query and documents 像Query, document, and combination features这些
  • 输出:the documents ranked by a scoring function image.png
  • 目标函数是一些relevance of the ranking list,像Evaluation metrics: NDCG, MAP, MRR…这些。
  • 训练数据: the query-doc features and relevance ratings,数据格式如下图所示:


20200221121945763.png


  可以看出query已经被转成了数字化的feature了。这样的话即使没有见过这个query,没有见过这个documents,我们依然能够在feature space上面去建模这个点。

  在Learning to Rank上面我们其实是学习scoring function

Learning to Rank Approaches

  微软亚洲研究院副院长Tie-Yan Liu2011的《 Learning to Rank for Information Retrieval》中将Learning to Rank大致分为三类:PointwisePairwiseListwise

Pointwise
- Predict the absolute relevance (e.g. RMSE) 

  Pointwise方法中对单个instance打分,问题就变成了一个回归问题:

image.png

  这是最简单的Learning to Rank,这里有一个问题,Point Accuracy != Ranking Accuracy。Same square error might lead to different rankings,如下图所示:

  也就是说最后所作的优化并不是rank上的优化。

Pairwise
- Predict the ranking of a document pair (e.g. AUC) 
• 1

  对于排序问题,如果scoring functionf θ f_{\theta}fθ改变一点点,那是很有可能导致你最终的排序结果不会发生改变。当loss function建立在排序上面的话,那么你的loss function对函数参数求导就会等于0

  正是由于这个原因,我们无法对scoring function求导。解决办法如下图所示:

  • Burges, Christopher JC, Robert Ragno, and Quoc Viet Le. "Learning to rank with nonsmoothcost functions."NIPS. Vol. 6. 2006

  Pairwise Approaches也存在一些问题,如:Each document pair is regarded with the same importance。但是很多时候,用户对前面几个页面的rank是要更加关注一点,因此Same pair-level error but different list-level error就需要注意。

Listwise
  • Predict the ranking of a document list (e.g. Cross Entropy)

  Listwise Approaches

  • Training loss is directly built based on the difference between the prediction list and the ground truth list
  • Straightforward target •Directly optimize the ranking evaluation measures
  • Complex model

  • Cao, Zhe, et al. "Learning to rank: from pairwise approach to listwise approach."Proceedings of the 24th international conference on Machine learning. ACM, 2007.

  • Burges, Christopher JC, Robert Ragno, and Quoc Viet Le. "Learning to rank with nonsmooth cost functions."NIPS. Vol. 6. 2006.

Summary of Learning to Rank


相关文章
|
3天前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
107 0
|
3天前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之机器学习PAI的学习方法不知道如何解决
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
3天前
|
机器学习/深度学习 前端开发 测试技术
机器学习第10天:集成学习
机器学习第10天:集成学习
29 0
|
3天前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
61 1
|
3天前
|
机器学习/深度学习
机器学习 —— 分类预测与集成学习(下)
机器学习 —— 分类预测与集成学习(下)
17 0
|
3天前
|
机器学习/深度学习 数据采集 数据可视化
机器学习 —— 分类预测与集成学习(上)
机器学习 —— 分类预测与集成学习
24 2
|
3天前
|
机器学习/深度学习 监控 算法
LabVIEW使用机器学习分类模型探索基于技能课程的学习
LabVIEW使用机器学习分类模型探索基于技能课程的学习
12 1
|
3天前
|
机器学习/深度学习 分布式计算 物联网
【Python机器学习专栏】联邦学习:保护隐私的机器学习新趋势
【4月更文挑战第30天】联邦学习是保障数据隐私的分布式机器学习方法,允许设备在本地训练数据并仅共享模型,保护用户隐私。其优势包括数据隐私、分布式计算和模型泛化。应用于医疗、金融和物联网等领域,未来将发展更高效的数据隐私保护、提升可解释性和可靠性的,并与其他技术融合,为机器学习带来新机遇。
|
3天前
|
机器学习/深度学习 自然语言处理 搜索推荐
【Python机器学习专栏】迁移学习在机器学习中的应用
【4月更文挑战第30天】迁移学习是利用已有知识解决新问题的机器学习方法,尤其在数据稀缺或资源有限时展现优势。本文介绍了迁移学习的基本概念,包括源域和目标域,并探讨了其在图像识别、自然语言处理和推荐系统的应用。在Python中,可使用Keras或TensorFlow实现迁移学习,如示例所示,通过预训练的VGG16模型进行图像识别。迁移学习提高了学习效率和性能,随着技术发展,其应用前景广阔。
|
3天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习中的Bagging与Boosting
【4月更文挑战第30天】本文介绍了集成学习中的两种主要策略:Bagging和Boosting。Bagging通过自助采样构建多个基学习器并以投票或平均法集成,降低模型方差,增强稳定性。在Python中可使用`BaggingClassifier`实现。而Boosting是串行学习,不断调整基学习器权重以优化拟合,适合弱学习器。Python中可利用`AdaBoostClassifier`等实现。示例代码展示了如何在实践中运用这两种方法。

热门文章

最新文章