基于机器学习的搜索排序算法的研究
发布时间:2021-02-17 05:23
近年来,随着计算机和互联网技术的迅猛发展,人类社会进入一个信息爆炸的年代,人们每天都要面对海量的信息,用户的需求也从获取信息变为高效的获取有效信息,在这种时代背景下,信息检索技术的不断优化也显得尤为重要。机器学习作为新兴技术已经广泛应用于生活的各个方面,将机器学习和信息检索技术结合是一种必然的趋势,二者结合产生的方法称为学习排序方法。传统的检索技术无法挖掘复杂信息情况下特征的关联性,而学习排序方法利用机器学习自主学习的特性,能够很好的表征复杂特征间的关联性。根据对文档的不同处理,学习排序算法主要可以分为三类:单文档方法、文档对方法、文档列表方法。本文旨在研究和改进后两类算法的代表算法,Rank Net算法和Lambda MART算法。损失函数一直是学习排序算法的关键,可以用来衡量模型预测值和真实值之间的不一致程度,其优劣直接影响算法的性能。论文的研究工作主要包括以下三个方面:(1)论文从整体研究了信息检索领域中搜索排序算法的发展历程和研究现状,对排序学习系统框架做了概要描述,其中对排序学习算法的分类和评价指标做了详细研究,为后面算法的研究改进做铺垫。(2)本文提出一种改进损失函数的Ra...
【文章来源】:南京邮电大学江苏省
【文章页数】:60 页
【学位级别】:硕士
【部分图文】:
排序学习系统框架
南京邮电大学专业学位硕士研究生学位论文第二章排序学习相关基础理论11图2.2损失函数分类1.交叉熵损失函数交叉熵损失函数一般应用于分类问题上,表示预测样本属于哪一类的概率,表达式如下:))(1(log)1()(log))(,(22_xfyxfyxfyLentropycross(2.1)其中,y是真实分布的概率,xf)(是模型的预测概率,减少交叉熵就是提高模型预测的准确率。2.平方损失函数平方损失函数也是一种常用的损失函数,由于曲线光滑,所以可以使用梯度下降法来优化。当预测值与真实值相差越大时,该损失函数的惩罚力度也越大,因此对于异常点比较敏感。表达式为:2yxfxfyL))(())(,(square(2.2)3.绝对值损失函数绝对值损失函数对预测值和真实值的差值取绝对值,差值不会被放大,所以绝对值损失函数对异常点具有更好的鲁棒性。但是,绝对损失函数不光滑,在)(yxf处无法求导。表达式为:yxfxfyLabsolute)())(,((2.3)4.Huber损失函数Huber损失函数在)(yxf较小时为平方损失,在)(yxf较大的时采用线性损失,处处可导,且对异常点鲁棒。表达式为:
南京邮电大学专业学位硕士研究生学位论文第二章排序学习相关基础理论13得到关于文档集的一个偏序关系,从而实现文档的排序。图2.3是这类算法的原理图。图2.3对级排序原理图此类常用的学习排序算法有RankBoost、RankingSVM、IRSVM、RankNet等,RankBoost算法以AdaBoost算法为基础,构造排序模型时以提升方法来组合若干弱排序模型。RankingSVM算法是在构造训练集样本数据时,将有序数据对的排序问题转化为二分类问题,并利用应用支持向量机方法去解决。RankingSVM存在两个缺陷:一是检索结果列表对排名前几位的文档的正确性过于依赖;二是相关文档的数量变化随检索词的改变而呈现差别。IRSVM算法基于RankingSVM算法,采用梯度下降法和二次规划方法来优化RankingSVM中的HingeLoss以解决上述两个问题。RankNet算法利用梯度下降的原理,构造基于神经网络的模型,本文将在第三章详细介绍RankNet算法。总的来说,Pairwise方法是对Pointwise方法的改进,取消相关度的独立假设,而是对所有文档对进行分类,进而得到检索文档集的偏序关系。Pairwise类方法也存在一些缺陷:一是忽略了搜索列表中文档的位置信息,仅考虑两个文档的先后顺序;二是文档对数的数量依赖于查询词,导致检索结果偏向于拥有文档对数较多的查询。2.2.3Listwise学习排序算法Listwise类[39]学习排序方法不同于上述的Pointwise方法以及Pairwise方法,直接对文档的排序结果进行优化,不再将排序问题化为分类或者回归问题。因此,该类方法的训练样例都是一个查询词所对应的全部搜索结果的列表。目前Listwise类方法主要有两种优化排序结果的方法:一是定义损失函数[40],损失函数的构造方法有很多种,如ListNet算法定义的损失函数为正确排序与预测排序的概率分布所存在的KL距离,即以交叉熵
【参考文献】:
期刊论文
[1]基于学习排序的多分类标签排序方法研究[J]. 贺成诚,汪海涛,姜瑛,陈星. 计算机应用与软件. 2019(02)
[2]一种基于向量空间模型的信息检索算法研究[J]. 毛轶绩. 通讯世界. 2018(09)
[3]排序学习研究进展与展望[J]. 李金忠,刘关俊,闫春钢,蒋昌俊. 自动化学报. 2018(08)
[4]基于主题与概率模型的非合作深网数据源选择[J]. 邓松,万常选. 软件学报. 2017 (12)
[5]基于ListMLE排序学习方法的机器译文自动评价研究[J]. 李茂西,江爱文,王明文. 中文信息学报. 2013(04)
[6]梯度理论综述[J]. 李国平,赵永超. 人文地理. 2008(01)
[7]布尔逻辑检索模型的分析探讨[J]. 刘红泉,张亮峰. 现代情报. 2004(09)
[8]激活函数对BP网络性能的影响及其仿真研究[J]. 王雪光,郭艳兵,齐占庆. 自动化技术与应用. 2002(04)
硕士论文
[1]基于半监督学习的网页搜索排序研究[D]. 李明琦.哈尔滨工业大学 2019
[2]支持复杂神经网络模型并行训练的资源分配算法优化[D]. 刘君楠.中国科学技术大学 2019
[3]基于短文本(句子级)的情感分类研究[D]. 张林.吉林大学 2019
[4]基于深度学习的脱落细胞分类识别应用[D]. 李振宇.山东师范大学 2019
[5]智能音箱中自然语言语义理解算法的研究[D]. 孙梦楠.湖南大学 2018
[6]基于RankBoost排序算法的表情程度估计与识别的研究[D]. 任悦.北京邮电大学 2018
[7]RankNet学习排序算法的一种改进[D]. 祁洋.吉林大学 2017
[8]基于机器学习的个性化信息检索的研究[D]. 金众威.吉林大学 2017
[9]基于spark的lambdaMart算法研究[D]. 梁江林.北京邮电大学 2017
[10]基于排序学习的多供应商组合选择研究[D]. 句晓东.燕山大学 2015
本文编号:3037493
【文章来源】:南京邮电大学江苏省
【文章页数】:60 页
【学位级别】:硕士
【部分图文】:
排序学习系统框架
南京邮电大学专业学位硕士研究生学位论文第二章排序学习相关基础理论11图2.2损失函数分类1.交叉熵损失函数交叉熵损失函数一般应用于分类问题上,表示预测样本属于哪一类的概率,表达式如下:))(1(log)1()(log))(,(22_xfyxfyxfyLentropycross(2.1)其中,y是真实分布的概率,xf)(是模型的预测概率,减少交叉熵就是提高模型预测的准确率。2.平方损失函数平方损失函数也是一种常用的损失函数,由于曲线光滑,所以可以使用梯度下降法来优化。当预测值与真实值相差越大时,该损失函数的惩罚力度也越大,因此对于异常点比较敏感。表达式为:2yxfxfyL))(())(,(square(2.2)3.绝对值损失函数绝对值损失函数对预测值和真实值的差值取绝对值,差值不会被放大,所以绝对值损失函数对异常点具有更好的鲁棒性。但是,绝对损失函数不光滑,在)(yxf处无法求导。表达式为:yxfxfyLabsolute)())(,((2.3)4.Huber损失函数Huber损失函数在)(yxf较小时为平方损失,在)(yxf较大的时采用线性损失,处处可导,且对异常点鲁棒。表达式为:
南京邮电大学专业学位硕士研究生学位论文第二章排序学习相关基础理论13得到关于文档集的一个偏序关系,从而实现文档的排序。图2.3是这类算法的原理图。图2.3对级排序原理图此类常用的学习排序算法有RankBoost、RankingSVM、IRSVM、RankNet等,RankBoost算法以AdaBoost算法为基础,构造排序模型时以提升方法来组合若干弱排序模型。RankingSVM算法是在构造训练集样本数据时,将有序数据对的排序问题转化为二分类问题,并利用应用支持向量机方法去解决。RankingSVM存在两个缺陷:一是检索结果列表对排名前几位的文档的正确性过于依赖;二是相关文档的数量变化随检索词的改变而呈现差别。IRSVM算法基于RankingSVM算法,采用梯度下降法和二次规划方法来优化RankingSVM中的HingeLoss以解决上述两个问题。RankNet算法利用梯度下降的原理,构造基于神经网络的模型,本文将在第三章详细介绍RankNet算法。总的来说,Pairwise方法是对Pointwise方法的改进,取消相关度的独立假设,而是对所有文档对进行分类,进而得到检索文档集的偏序关系。Pairwise类方法也存在一些缺陷:一是忽略了搜索列表中文档的位置信息,仅考虑两个文档的先后顺序;二是文档对数的数量依赖于查询词,导致检索结果偏向于拥有文档对数较多的查询。2.2.3Listwise学习排序算法Listwise类[39]学习排序方法不同于上述的Pointwise方法以及Pairwise方法,直接对文档的排序结果进行优化,不再将排序问题化为分类或者回归问题。因此,该类方法的训练样例都是一个查询词所对应的全部搜索结果的列表。目前Listwise类方法主要有两种优化排序结果的方法:一是定义损失函数[40],损失函数的构造方法有很多种,如ListNet算法定义的损失函数为正确排序与预测排序的概率分布所存在的KL距离,即以交叉熵
【参考文献】:
期刊论文
[1]基于学习排序的多分类标签排序方法研究[J]. 贺成诚,汪海涛,姜瑛,陈星. 计算机应用与软件. 2019(02)
[2]一种基于向量空间模型的信息检索算法研究[J]. 毛轶绩. 通讯世界. 2018(09)
[3]排序学习研究进展与展望[J]. 李金忠,刘关俊,闫春钢,蒋昌俊. 自动化学报. 2018(08)
[4]基于主题与概率模型的非合作深网数据源选择[J]. 邓松,万常选. 软件学报. 2017 (12)
[5]基于ListMLE排序学习方法的机器译文自动评价研究[J]. 李茂西,江爱文,王明文. 中文信息学报. 2013(04)
[6]梯度理论综述[J]. 李国平,赵永超. 人文地理. 2008(01)
[7]布尔逻辑检索模型的分析探讨[J]. 刘红泉,张亮峰. 现代情报. 2004(09)
[8]激活函数对BP网络性能的影响及其仿真研究[J]. 王雪光,郭艳兵,齐占庆. 自动化技术与应用. 2002(04)
硕士论文
[1]基于半监督学习的网页搜索排序研究[D]. 李明琦.哈尔滨工业大学 2019
[2]支持复杂神经网络模型并行训练的资源分配算法优化[D]. 刘君楠.中国科学技术大学 2019
[3]基于短文本(句子级)的情感分类研究[D]. 张林.吉林大学 2019
[4]基于深度学习的脱落细胞分类识别应用[D]. 李振宇.山东师范大学 2019
[5]智能音箱中自然语言语义理解算法的研究[D]. 孙梦楠.湖南大学 2018
[6]基于RankBoost排序算法的表情程度估计与识别的研究[D]. 任悦.北京邮电大学 2018
[7]RankNet学习排序算法的一种改进[D]. 祁洋.吉林大学 2017
[8]基于机器学习的个性化信息检索的研究[D]. 金众威.吉林大学 2017
[9]基于spark的lambdaMart算法研究[D]. 梁江林.北京邮电大学 2017
[10]基于排序学习的多供应商组合选择研究[D]. 句晓东.燕山大学 2015
本文编号:3037493
本文链接:https://www.wllwen.com/guanlilunwen/lindaojc/3037493.html