上海论文网提供MBA论文选题服务,专业提供硕士毕业论文服务。
导航 当前位置:上海论文网 > 计算机论文 > 正文
基于机器学习的搜索排序算法的研究
  • 论文价格:150
  • 用途:硕士毕业论文 Master Thesis
  • 编辑:若诗
  • 点击次数:
  • 论文字数:41798
  • 论文编号:el2021020718421321873
  • 日期:2021-02-14
  • 来源:上海论文网
本文是计算机论文,接下来,对BP神经网络的结构进行深度解析,分析算法的具体迭代过程。分析RankNet算法的优劣,并提出对损失函数的改进。最后,研究了LambdaMART算法是如何实现的,对LambdaMART算法仿真对比分析。本论文的主要研究了如下两个算法:(1)对Pairwise类的学习排序算法RankNet算法做了详细介绍和分析,RankNet算法使用交叉熵作为损失函数,该损失函数无法衡量单个文档的预测损失,故在RankNet算法的基础上对它的损失函数做出改进,即加入点级损失函数来表征单个文档的预测损失,以此弥补对级损失函数无法估计的真实损失。在RankNet算法的基础上分析原算法的不足之处,提出了一种改进的RankNet-L算法,该算法是将点级损失函数与对级损失函数线性组合成新损失函数,以此来丰富原损失函数的表征能力。再利用Pycharm仿真平台进行算法仿真,对比分析了RankNet算法和RankNet-L算法的排序精度,仿真结果表明RankNet-L算法具有更好的排序精度。

......

 

第一章绪论

 

本文主要研究基于机器学习的搜索排序算法及其改进,论文的主要工作如下:(1)对信息检索的概念做了基本了解,介绍了不同时期搜索排序算法的发展历程及将机器学习应用于信息检索领域后,学习排序算法的在国内外研究现状。(2)详细阐述了学习排序算法的概念和体系框架,包括特征、数据集、损失函数,介绍了学习排序算法的三个分类及其各自的特点,同时研究了对学习排序结果进行性能评价的指标。(3)研究了RankNet算法的训练模型,即使用Tensorflow实现的BP神经网络框架,介绍神经网络的输入层、隐藏层、输出层间的工作,并深入分析算法的具体迭代过程。(4)研究LambdaMART算法,LambdaMART算法指将LambdaRank算法中带有评价指标的Lambda与回归决策树MART算法相结合,这是一种ListWise类学习排序算法。并且本文研究了LambdaMART算法作为Listwise算法相比其他LTR算法的优势。本文利用Pycharm仿真平台进行算法仿真,分析了LambdaRank算法和LambdaMART算法的排序效果,结果表明LambdaMART算法具有更好的排序能力。

.......

 

第二章排序学习相关基础理论

 

2.1排序学习的基本介绍
LambdaMART算法在很多的排序场景中得以应用,在各类机器学习大赛中获得优异的成绩,在Yahoo!LearningtoRankChallenge大赛中,冠军队伍用的就是这个LambdaMART模型,搜索引擎公司Bing和社交服务网站Facebook也是使用的这个模型来解决排序任务,LambdaMART模型也可作为个性化排序模型。LambdaMART算法与RankNet算法是由微软研究院在不同时期提出并应用的,主要区别是属于不同类型的排序算法,LambdaMART算法是Listwise类型,RankNet算法是Pairwise类型,二者都适用于大多数的排序场景,LambdaMART算法应用的更加广泛且适用个性化。此类常用的学习排序算法有RankBoost、RankingSVM、IRSVM、RankNet等,RankBoost算法以AdaBoost算法为基础,构造排序模型时以提升方法来组合若干弱排序模型。

 

2.2排序学习算法的分类
RankingSVM算法是在构造训练集样本数据时,将有序数据对的排序问题转化为二分类问题,并利用应用支持向量机方法去解决。RankingSVM存在两个缺陷:一是检索结果列表对排名前几位的文档的正确性过于依赖;二是相关文档的数量变化随检索词的改变而呈现差别。IRSVM算法基于RankingSVM算法,采用梯度下降法和二次规划方法来优化RankingSVM中的HingeLoss以解决上述两个问题。RankNet算法利用梯度下降的原理,构造基于神经网络的模型,本文将在第三章详细介绍RankNet算法。总的来说,Pairwise方法是对Pointwise方法的改进,取消相关度的独立假设,而是对所有文档对进行分类,进而得到检索文档集的偏序关系。Pairwise类方法也存在一些缺陷:一是忽略了搜索列表中文档的位置信息,仅考虑两个文档的先后顺序;二是文档对数的数量依赖于查询词,导致检索结果偏向于拥有文档对数较多的查询。

 

第三章RankNet算法及其改进研究........................................................................................................................20
3.1引言.............................................................................................................................................................20
3.2RankNet算法基本介绍................................................................................................................................20
3.3RankNet算法的改进研究............................................................................................................................28
3.4本章小结.....................................................................................................................................................34
第四章LambdaMART算法的研究..........................................................................................................................35
4.1引言.............................................................................................................................................................35
4.2LambdaMART算法研究介绍.....................................................................................................................35
4.3LambdaMART算法的实现.........................................................................................................................44
4.4本章小结.....................................................................................................................................................46
第五章总结与展望..................................................................................................................................................47

 

第四章LambdaMART算法的研究

 

4.1引言
LambdaMART算法是一种Listwise类型的LTR算法,该类排序方法将每个查询词下面的相关文档看做一个集合整体输入排序模型,然后不断迭代优化这个文档列表。LambdaMART算法的特别之处在于它是基于LambdaRank算法和MART算法的,将搜索引擎的结果排序问题转换为回归决策树问题。MART算法实际就是梯度提升决策树算法,即GBDT算法。GBDT算法的核心思想是:在每一轮的迭代中,新一轮迭代产生的回归决策树模型拟合损失函数的梯度,最终将所有得到的回归决策树模型线性组合成最终的模型。LambdaMART算法使用一个特殊的Lambda值来替换上述梯度,也就是将LambdaRank算法与MART算法结合起来。在第三章详细介绍了以错误文档对最少为优化目标的RankNet算法,RankNet算法的不足之处在于没有直接对检索评价指标进行优化,而是间接的把交叉熵损失函数的梯度作为优化目标。
计算机论文怎么写

 

4.2LambdaMART算法研究介绍
所以当我们采用RankNet算法时,往往无法以这些评价指标作为优化目标进行迭代,而且像NDCG或者ERR等检索评价指标就只关注前k个检索结果的排序,无法在RankNet算法中引入,所以RankNet算法的优化目标和IR评价指标之间是存在一些障碍的。LambdaRank算法针对以上RankNet算法存在的问题,对梯度进行了重新定义,赋予了梯度新的物理意义,其排序思想图为:在图4.1中,每一条横线代表一个文档,虚线代表相关文档,实线代表不相关文档。RankNet算法以错误文档对数目的方式计算模型损失。对于左边的排序1,排序错误的文档对(pair)共有13对,故模型损失为13。对于右边的排序2,可以看出第一个相关文档下调3个位置,第二个相关文档上调5个位置,所以整个模型损失降为11,但是对于某些评价指标而言,并不希望相关文档的位置下调,因为他们只关注前k个文档。排序2中,左边箭头表示的是RankNet算法下一轮的迭代反向和强度,右边箭头表示我们所希望的迭代反向和强度,即用户可能只关注前k个相关文档。LambdaRank算法的出现就是为了解决这个问题,箭头代表的物理含义就是Lambda,即梯度。
计算机论文范文

....
 

第五章总结与展望
从造纸术的发明和改进,印刷术的广泛应用,再到互联网的出现和迅速发展均在改变信息传递的方式和速度,信息量也在爆炸式增长,快速掌握时下最新的资料和信息已经相当重要。而信息检索技术在时代背景下已经是不可或缺的一项技术了,而排序学习算法又是其中重要的一环。模型使用Tensorflow实现的BP神经网络建立框架,用梯度下降法来迭代模型,并将改进后的RankNet算法与原算法进行了实验比对分析,结果表明改进后RankNet算法具有更好的排序效果。(2)本文研究LambdaMART排序学习算法是典型的Listwise类,该算法是梯度提升决策树(GBDT)和LambdaRank算法中的梯度Lambda相结合的算法。它基于的Boosting决策树训练框架具有良好的性能,梯度Lambda中直接加入了信息检索的评价指标,每次迭代对该负梯度进行拟合,这使得算法表现优良,在仿真实验中证明了这一点。
参考文献(略)