关键词:
信息检索
排序学习算法
支持向量机
极限学习机
深度学习
数据清洗
人脸识别
求解器选择
摘要:
排序学习(Learning to Rank)算法使用机器学习对信息检索的结果进行相关度预测和排序,在搜索引擎、多媒体检索、推荐系统中有着广泛的应用。然而,随着网络技术的发展,信息检索的数据变的更加多样化,包括文本、图片以及其他非结构化数据。不同类型的数据通常需要使用不同的排序学习算法。因此,如何有效地使用排序学习算法来对各类数据进行检索,是信息检索和机器学习领域研究的热点,同时也是一个具有挑战性的问题。本文针对信息检索应用中多种不同类型的数据,研究排序学习的算法模型、损失函数和优化求解等若干关键技术。本文的主要工作及创新点概括如下:(1)提出一种基于核近似的支持向量机的排序学习算法。针对文本检索中基于非线性核的支持向量机排序算法(RankSVM)中由于核矩阵计算所导致的训练时间过长的问题,本文采用Nystr?em方法和随机傅里叶特征方法对核矩阵进行近似,消除了核矩阵计算引入的巨大计算开销。同时采用原始截断牛顿法在近似后的特征空间中对排序模型的平方Hinge损失函数进行优化。实验结果表明,提出的算法能够在保证排序效果不变的情况下,将非线性RankSVM算法的训练时间从13个小时降到10秒左右。(2)提出一种基于查询归一化损失的极限学习机排序学习算法。针对文本检索中数据不平衡导致排序极限学习机(RankELM)模型偏差问题,提出查询级别归一化的损失函数来调整不同查询的权重,使得每个查询在损失函数中具有相同的影响。同时提出中心矩阵变换对该损失函数进行求解,并在此基础上将RankELM扩展为三种排序学习算法:1)正则RankELM,具有较高的排序性能;2)增量式RankELM,能够增量式改变网络结构;3)在线学习RankELM,能够在线更新训练好的模型。实验结果表明,与现有的排序学习算法相比,本文所提出的极限学习机排序学习算法具有更高的性能。(3)提出一种基于深度特征的数据清洗和排序学习算法。针对大规模人脸数据集噪声过多的的问题,提出基于深度特征和社区发现的人脸数据清洗方法,能够在保证较高干净度的同时最大限度地保留数据的多样性。通过对微软的MS-Celeb-1M数据集进行清洗,共得到9.2万个人600多万张人脸图片。同时,采用多尺度特征来提高网络的表达能力,并提出基于参考点的排序学习算法直接对深度网络的特征表示进行优化,使得图像的特征表示更具有区分性。实验结果表明,人脸识别模型在LFW数据集上达到了99.67%的1:1验证精度以及95.62%的1:N识别精度,取得了单个深度网络的最高人脸识别性能。(4)提出一种基于多输出极度随机树的排序学习算法。针对非结构化数据检索中求解器选择问题,采用排序学习算法来对求解器进行排序和选择,能够为不同的约束问题选择最合适的求解器。为了更好的利用求解器之间的关系,提出三种多输出的学习算法对求解器的性能进行预测和排序:1)多输出回归的栈式方法;2)多输出极度随机树;3)单输出与多输出混合模型。在11个SAT数据集和5个MaxSAT数据集的实验结果表明,提出的方法可以获得比其他求解器选择方法更好的性能。其中,混合模型由于能够平衡求解器之间的全局和局部信息,在所有数据集上的综合效果最好。