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

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

  排序学习一般被认为是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


相关文章
|
2月前
|
机器学习/深度学习 算法
【机器学习】迅速了解什么是集成学习
【机器学习】迅速了解什么是集成学习
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习、深度学习、强化学习和迁移学习简介、相互对比、区别与联系。
机器学习、深度学习、强化学习和迁移学习都是人工智能领域的子领域,它们之间有一定的联系和区别。下面分别对这四个概念进行解析,并给出相互对比、区别与联系以及应用场景案例分析。
131 1
|
4月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
72 7
|
4月前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
74 9
|
4月前
|
机器学习/深度学习
【机器学习】模型融合Ensemble和集成学习Stacking的实现
文章介绍了使用mlxtend和lightgbm库中的分类器,如EnsembleVoteClassifier和StackingClassifier,以及sklearn库中的SVC、KNeighborsClassifier等进行模型集成的方法。
61 1
|
4月前
|
机器学习/深度学习 人工智能 算法
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
148 0
|
5月前
|
机器学习/深度学习 算法 前端开发
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
|
5月前
|
机器学习/深度学习 人工智能 缓存
人工智能平台PAI使用问题之如何配置学习任务
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
机器学习/深度学习 算法 前端开发
机器学习中的集成学习(二)
**集成学习概述** 集成学习通过结合多个弱学习器创建强学习器,如Bagging(Bootstrap Aggregating)和Boosting。Bagging通过随机采样产生训练集,训练多个弱模型,然后平均(回归)或投票(分类)得出结果,减少方差和过拟合。Boosting则是迭代过程,每个弱学习器专注于难分类样本,逐步调整样本权重,形成加权平均的强学习器。典型算法有AdaBoost、GBDT、XGBoost等。两者区别在于,Bagging模型并行训练且独立,而Boosting模型间有依赖,重视错误分类。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习中的集成学习(一)
集成学习是一种将多个弱学习器组合成强学习器的方法,通过投票法、平均法或加权平均等策略减少错误率。它分为弱分类器集成、模型融合和混合专家模型三个研究领域。简单集成技术包括投票法(用于分类,少数服从多数)、平均法(回归问题,预测值取平均)和加权平均法(调整模型权重以优化结果)。在实际应用中,集成学习如Bagging和Boosting是与深度学习并驾齐驱的重要算法,常用于数据竞赛和工业标准。