论文部分内容阅读
近年来,随着计算机和互联网技术的迅猛发展,人类社会进入一个信息爆炸的年代,人们每天都要面对海量的信息,用户的需求也从获取信息变为高效的获取有效信息,在这种时代背景下,信息检索技术的不断优化也显得尤为重要。机器学习作为新兴技术已经广泛应用于生活的各个方面,将机器学习和信息检索技术结合是一种必然的趋势,二者结合产生的方法称为学习排序方法。传统的检索技术无法挖掘复杂信息情况下特征的关联性,而学习排序方法利用机器学习自主学习的特性,能够很好的表征复杂特征间的关联性。根据对文档的不同处理,学习排序算法主要可以分为三类:单文档方法、文档对方法、文档列表方法。本文旨在研究和改进后两类算法的代表算法,Rank Net算法和Lambda MART算法。损失函数一直是学习排序算法的关键,可以用来衡量模型预测值和真实值之间的不一致程度,其优劣直接影响算法的性能。论文的研究工作主要包括以下三个方面:(1)论文从整体研究了信息检索领域中搜索排序算法的发展历程和研究现状,对排序学习系统框架做了概要描述,其中对排序学习算法的分类和评价指标做了详细研究,为后面算法的研究改进做铺垫。(2)本文提出一种改进损失函数的Rank Net算法,即将对级损失函数(交叉熵)与点级损失函数(Huber)线性组合成新损失函数来衡量模型预测的损失。原Rank Net算法以文档对为训练样本,只考虑文档对之间的偏序关系,忽略了文档本身与查询的相关性,对应到损失函数上是只使用了交叉熵损失函数。为了解决这个问题,在交叉熵损失函数上加入Huber损失函数来衡量单个文档本身的预测失误,改进后的损失函数可以使模型的预测效果更好。接着,本文利用BP神经网络搭建仿真平台,使用梯度下降法进行训练,仿真结果表明改进后的Rank Net算法比原算法具有更高的正确率。(3)本文研究了Lambda MART算法的基本原理,首先详细介绍了该算法的两个组成部分:Lambda Rank算法中的梯度Lambda和MART算法。其次阐述了Lambda MART算法作为文档列表方法的优势在于,它以带评价指标的负梯度作为每次迭代拟合的对象。本文随后对Lambda MART算法进行仿真实验并与Lambda Rank算法进行了对比实验,实验的仿真结果表明,Lambda MART算法在不同数量的决策树下有不同效果,过多数量的决策树会导致过拟合现象,且算法关注的前K位越多,NDCG@K值越大,即排序效果越好。对比试验表明Lambda MART算法相较于Lambda Rank算法在NDCG@10(归一化折损累积增益)评价指标下具有更优良的排序效果。