CN110489616A - 一种基于Ranknet和Lambdamart算法的搜索排序方法 - Google Patents
一种基于Ranknet和Lambdamart算法的搜索排序方法 Download PDFInfo
- Publication number
- CN110489616A CN110489616A CN201910654609.3A CN201910654609A CN110489616A CN 110489616 A CN110489616 A CN 110489616A CN 201910654609 A CN201910654609 A CN 201910654609A CN 110489616 A CN110489616 A CN 110489616A
- Authority
- CN
- China
- Prior art keywords
- document
- lambdamart
- ranknet
- algorithm
- gradient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于Ranknet算法和LambdaMART算法的搜索排序方法,可以提高搜索排序的迭代效率和准确率,尤其是在主题性较强的领域。该方法在传统的LambdaMART算法的基础上对其进行改进,首先将Ranknet算法作为基础模型,学习一个排序函数,再将函数的输出作为LambdaMART的初始函数,最终生成排序模型。此方法可以有效改善损失函数为凸函数时,为达到全局的最小值,学习率必须很小,迭代次数必须很大的问题,而且在减少迭代次数的情况下,模型效果却可以优于原始模型。
Description
技术领域
本发明属于人工智能学习技术领域,具体涉及一种基于Ranknet和Lambdamart算法的搜索排序方法。
背景技术
随着计算机与网络科技水平的不断提高,互联网产生的数据量呈现出爆发式的增长,我们需要花费越来越多的精力去获取想要的信息,人们如何在信息大爆炸的时代里准确而高效的获取信息是值得研究的。传统的按照相关度排序和按照重要性排序只针对少数的简单特征,无法挖掘复杂情况下特征间的关联性,导致获取信息的准确率和效率低下。排序学习能够充分发现表征复杂信息的众多特征之间的关联性。近年中的研究发现,基于树的机器学习模型,如GBDT,结合集成学习,对于建立“排序学习”框架的搜索排序算法十分有效,Lambdamart更是其中的佼佼者,被认为是最有效的方法之一,在不同的领域已经被证明是解决问题的一种有效手段。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种基于Ranknet和Lambdamart算法的搜索排序方法,将Ranknet算法作为基础模型,学习一个排序函数,再将函数的输出作为LambdaMART的初始函数,最终生成排序模型,可以有效提高搜索排序的迭代效率和准确率。
本发明提供一种基于Ranknet和Lambdamart算法的搜索排序方法,包括如下步骤:
步骤S1、由Rankbet算法训练出基本模型,首先训练一个打分函数,根据打分函数计算文档的得分,通过文档的得分情况计算文档的偏序概率和真实概率,采用交叉熵作为损失函数来衡量偏序概率和真实概率的拟合程度,从而获取所有文档的总代价函数;
步骤S2、计算每个文档的梯度lambda和偏导,针对步骤S1中的损失函数对排序函数的偏导求导,再利用梯度下降法获取最佳参数;
步骤S3、利用Lambdamart算法训练回归树;
步骤S4、将步骤S2中获取的梯度作用于Lambdamart算法的GBDT上,作为训练模型的拟合对象,再根据牛顿法计算训练树的叶子节点值;
步骤S5、更新模型,根据学习率计算每个文档的得分。
作为本发明的进一步技术方案,步骤S1中,训练的打分函数为s=f(x;w),根据打分函数计算文档xi和xj为si=f(xi;w),sj=f(xj;w);根据得分计算二者的偏序概率,偏序概率为
Pij为第i个样本排在第j个样本前面的概率,si和sj为文档xi和xj的得分,其真实概率为
采用交叉熵作为损失函数来衡量偏序概率pij对真实概率的拟合程度,损失函数为经简化为则可知所有文档对的总代价函数为其中,I表示所有文档对的集合,且每个文档对仅包含一次。
进一步的,步骤S2中,针对步骤S1中的损失函数Cij,对排序函数中的ωk求导,然后利用梯度下降法来求得最佳参数其中,η为步长,代价C延负梯度方向变化对继续分解,则由于令把和带入得,
集合I中包含label不同的文档的集合,且每个文档只包含一次,即(Ui,Uj)和(Uj,Ui)等价,若只包含(Ui,Uj),则表示Ui相关性大于Uj的文档对,即Sij=1,那么λi决定着第i个文档在迭代中的移动方向和幅度,此外,由于NDCG或ERR这样的评价指标是非连续的,故而在推导出的梯度上,加入这些评价指标,即:
其中,|ΔZij|为将Ui和Uj交换位置后,待优化指标的变化。
进一步的,步骤S3中,Lambdamart算法中的MART即为GBDT,在GBDT的迭代中,若前一轮迭代获取的强学习器是ft-1(x),损失函数为L(y,ft-1(x)),则迭代的目标为获取一个回归树模型的弱学习器ht(x),让本轮的损失函数L(y,ft(x)=L(y,ft-1(x)+ht(x)))最小;每个模型的权重为其中εt为该模型在样本中的错误率,最终的模型为
进一步的,步骤S4中,将梯度应用于GBDT上,作为训练模型的拟合对象,再根据牛顿法计算训练树的叶子节点值,首先把训练模型作为变量,则直接使用梯度对模型求导:再使用牛顿法可得:其中,
进一步的,步骤S5中,更新模型,根据学习率计算每个文档的得分,文档的得分为:Fk(xi)=Fk-1(xi)+η∑lγlkI(xi|∈Rlk)。
与现有方案对比,本发明采用Ranknet算法作为基础模型,学习一个排序函数,再将函数的输出作为LambdaMART的初始函数,最终生成排序模型。可以有效提高搜索排序的迭代效率和准确率,此外可以解决当损失函数为凸函数时,为达到全局的最小值,学习率必须很小,迭代次数必须很大的问题,而且在减少迭代次数的情况下,模型效果却可以优于原始模型。
附图说明
图1为本发明的方法流程图。
具体实施方式
请参阅图1,本实施例提供一种基于Ranknet和Lambdamart算法的搜索排序方法,包括如下步骤:
步骤S1、由Rankbet算法训练出基本模型,首先训练一个打分函数,根据打分函数计算文档的得分,通过文档的得分情况计算文档的偏序概率和真实概率,采用交叉熵作为损失函数来衡量偏序概率对真实概率的拟合程度,从而获取所有文档的总代价函数;
步骤S2、计算每个文档的梯度lambda和偏导,针对步骤S1中的损失函数对排序函数的偏导求导,再利用梯度下降法获取最佳参数;
步骤S3、利用Lambdamart算法训练回归树;
步骤S4、将步骤S2中获取的梯度作用于Lambdamart算法的GBDT上,作为训练模型的拟合对象,再根据牛顿法计算训练树的叶子节点值;
步骤S5、更新模型,根据学习率计算每个文档的得分。
训练的打分函数为s=f(x;w),根据打分函数计算文档xi和xj为si=f(xi;w),sj=f(xj;w);根据得分计算二者的偏序概率,偏序概率为
Pij为第i个样本排在第j个样本前面的概率,si和sj为文档xi和xj的得分,其真实概率为
采用交叉熵作为损失函数衡量偏序概率pij对实概率的拟合程度,损失函数为经简化为则可知所有文档对的总代价函数为其中,I表示所有文档对的集合,且每个文档对仅包含一次。
步骤S2中,针对步骤S1中的损失函数Cij,对排序函数中的ωk求导,然后利用梯度下降法来求得最佳参数其中,η为步长,代价C延负梯度方向变化对继续分解,则由于令把和带入得,
集合I中包含label不同的文档的集合,且每个文档只包含一次,即(Ui,Uj)和(Uj,Ui)等价,若只包含(Ui,Uj),则表示Ui相关性大于Uj的文档对,即Sij=1,那么λi决定着第i个文档在迭代中的移动方向和幅度,此外,由于NDCG或ERR这样的评价指标是非连续的,故而在推导出的梯度上,加入这些评价指标,即:
其中,|ΔZij|为将Ui和Uj交换位置后,待优化指标的变化。
步骤S3中,Lambdamart算法中的MART即为GBDT,在GBDT的迭代中,若前一轮迭代获取的强学习器是ft-1(x),损失函数为L(y,ft-1(x)),则迭代的目标为获取一个回归树模型的弱学习器ht(x),让本轮的损失函数L(y,ft(x)=L(y,ft-1(x)+ht(x)))最小;每个模型的权重为其中εt为该模型在样本中的错误率,最终的模型为
步骤S4中,将梯度应用于GBDT上,作为训练模型的拟合对象,再根据牛顿法计算训练树的叶子节点值,首先把训练模型作为变量,则直接使用梯度对模型求导:再使用牛顿法可得:其中,
步骤S5中,更新模型,根据学习率计算每个文档的得分,文档的得分为:Fk(xi)=Fk-1(xi)+η∑lγlkI(xi|∈Rlk)。
以上显示和描述了本发明的基本原理、主要特征和优点。本领域的技术人员应该了解,本发明不受上述具体实施例的限制,上述具体实施例和说明书中的描述只是为了进一步说明本发明的原理,在不脱离本发明精神范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由权利要求书及其等效物界定。
Claims (6)
1.一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,包括如下步骤,
步骤S1、由Rankbet算法训练出基本模型,首先训练一个打分函数,根据打分函数计算文档的得分,通过文档的得分情况计算文档的偏序概率和真实概率,采用交叉熵作为损失函数来衡量偏序概率对真实概率的拟合程度,从而获取所有文档的总代价函数;
步骤S2、计算每个文档的梯度lambda和偏导,针对步骤S1中的损失函数对排序函数的偏导求导,再利用梯度下降法获取最佳参数;
步骤S3、利用Lambdamart算法训练回归树;
步骤S4、将步骤S2中获取的梯度作用于Lambdamart算法的GBDT上,作为训练模型的拟合对象,再根据牛顿法计算训练树的叶子节点值;
步骤S5、更新模型,根据学习率计算每个文档的得分。
2.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S1中,训练的打分函数为s=f(x;w),根据打分函数计算文档xi和xj为si=f(xi;w),sj=f(xj;w);根据得分计算二者的偏序概率,偏序概率为
Pij为第i个样本排在第j个样本前面的概率,si和sj为文档xi和xj的得分,其真实概率为
采用交叉熵作为损失函数衡量偏序概率pij对实概率的拟合程度,损失函数为经简化为则可知所有文档对的总代价函数为其中,I表示所有文档对的集合,且每个文档对仅包含一次。
3.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S2中,针对步骤S1中的损失函数Cij,对排序函数中的ωk求导,然后利用梯度下降法来求得最佳参数其中,η为步长,代价C延负梯度方向变化对继续分解,则由于令把和带入得,
集合I中包含label不同的文档的集合,且每个文档只包含一次,即(Ui,Uj)和(Uj,Ui)等价,若只包含(Ui,Uj),则表示Ui相关性大于Uj的文档对,即Sij=1,那么决定着第i个文档在迭代中的移动方向和幅度,此外,由于NDCG或ERR这样的评价指标是非连续的,故而在推导出的梯度上,加入这些评价指标,即:其中,|ΔZij|为将Ui和Uj交换位置后,待优化指标的变化。
4.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S3中,Lambdamart算法中的MART即为GBDT,在GBDT的迭代中,若前一轮迭代获取的强学习器是ft-1(x),损失函数为L(y,ft-1(x)),则迭代的目标为获取一个回归树模型的弱学习器ht(x),让本轮的损失函数L(y,ft(x)=L(y,ft-1(x)+ht(x)))最小;每个模型的权重为其中εt为该模型在样本中的错误率,最终的模型为
5.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S4中,将梯度应用于GBDT上,作为训练模型的拟合对象,再根据牛顿法计算训练树的叶子节点值,首先把训练模型作为变量,则直接使用梯度对模型求导:再使用牛顿法可得:其中,
6.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S5中,更新模型,根据学习率计算每个文档的得分,文档的得分为:Fk(xi)=Fk-1(xi)+η∑lγlkI(xi|∈Rlk)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910654609.3A CN110489616A (zh) | 2019-07-19 | 2019-07-19 | 一种基于Ranknet和Lambdamart算法的搜索排序方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910654609.3A CN110489616A (zh) | 2019-07-19 | 2019-07-19 | 一种基于Ranknet和Lambdamart算法的搜索排序方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489616A true CN110489616A (zh) | 2019-11-22 |
Family
ID=68547496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910654609.3A Pending CN110489616A (zh) | 2019-07-19 | 2019-07-19 | 一种基于Ranknet和Lambdamart算法的搜索排序方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489616A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178452A (zh) * | 2020-01-02 | 2020-05-19 | 平安科技(深圳)有限公司 | 驾驶风险识别方法、电子装置及可读存储介质 |
CN111666413A (zh) * | 2020-06-09 | 2020-09-15 | 重庆邮电大学 | 基于评论者可信赖度回归预测的商品评论推荐方法 |
CN112612951A (zh) * | 2020-12-17 | 2021-04-06 | 上海交通大学 | 一种面向收益提升的无偏学习排序方法 |
-
2019
- 2019-07-19 CN CN201910654609.3A patent/CN110489616A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178452A (zh) * | 2020-01-02 | 2020-05-19 | 平安科技(深圳)有限公司 | 驾驶风险识别方法、电子装置及可读存储介质 |
CN111666413A (zh) * | 2020-06-09 | 2020-09-15 | 重庆邮电大学 | 基于评论者可信赖度回归预测的商品评论推荐方法 |
CN112612951A (zh) * | 2020-12-17 | 2021-04-06 | 上海交通大学 | 一种面向收益提升的无偏学习排序方法 |
CN112612951B (zh) * | 2020-12-17 | 2022-07-01 | 上海交通大学 | 一种面向收益提升的无偏学习排序方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108492200B (zh) | 一种基于卷积神经网络的用户属性推断方法和装置 | |
CN106777274B (zh) | 一种中文旅游领域知识图谱构建方法及系统 | |
WO2023000574A1 (zh) | 一种模型训练方法、装置、设备及可读存储介质 | |
CN103778227B (zh) | 从检索图像中筛选有用图像的方法 | |
CN110097125B (zh) | 一种基于嵌入表示的跨网络账户关联方法 | |
Ma et al. | Adaptive-step graph meta-learner for few-shot graph classification | |
CN103927394B (zh) | 一种基于svm的多标签主动学习分类方法及系统 | |
CN109614614A (zh) | 一种基于自注意力的bilstm-crf产品名称识别方法 | |
CN106980648B (zh) | 一种基于概率矩阵分解结合相似度的个性化推荐方法 | |
CN106055675B (zh) | 一种基于卷积神经网络和距离监督的关系抽取方法 | |
CN110347932B (zh) | 一种基于深度学习的跨网络用户对齐方法 | |
CN103514255B (zh) | 一种基于项目层次类别的协同过滤推荐方法 | |
CN106295796A (zh) | 基于深度学习的实体链接方法 | |
CN110674407A (zh) | 基于图卷积神经网络的混合推荐方法 | |
CN103064903B (zh) | 图片检索方法和装置 | |
CN110489616A (zh) | 一种基于Ranknet和Lambdamart算法的搜索排序方法 | |
Zanghi et al. | Strategies for online inference of model-based clustering in large and growing networks | |
CN104881689A (zh) | 一种多标签主动学习分类方法及系统 | |
CN112084373B (zh) | 一种基于图嵌入的多源异构网络用户对齐方法 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
CN104156433A (zh) | 一种基于语义映射空间构建的图像检索方法 | |
CN113255895A (zh) | 基于图神经网络表示学习的结构图对齐方法和多图联合数据挖掘方法 | |
CN104199829A (zh) | 情感数据分类方法和系统 | |
CN109145083A (zh) | 一种基于深度学习的候选答案选取方法 | |
CN111078859B (zh) | 一种基于引用次数的作者推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |