机器学习模型的局部修复方法与流程

文档序号:11520299阅读:212来源:国知局

本发明涉及一种机器学习模型的局部修复方法,属于互联网搜索领域。



背景技术:

随着互联网的快速发展,搜索引擎成为人们使用internet信息资源的重要工具。伴随google、yahoo!、bing、百度等搜索引擎的兴起和发展,查询结果的相关度越来越受到人们的关注。查询结果排序的优劣亦成为评价搜索引擎的主要指标。

随着信息技术快速发展和广泛应用,互联网得到了蓬勃发展,成为全球最大的信息资源,在人们的生活中已经占据了重要的位置。互联网也成为了人们进行信息共享和交互的重要平台。用户要在如此庞大杂乱的互联网资源中查找所需要的信息,就像大海捞针一样,而搜索引擎恰好解决了这一问题。搜索引擎是基于互联网平台,是提供网络信息检索服务的工具。搜索引擎也成为是互联网技术中最重要的应用。用户给出关键词作为查询请求,搜索引擎根据用户查询在自己的索引数据库中进行查询,并将排序和相关性分析的检索结果返回给用户,帮助人们拒绝和忽略大量无关信息,从而起到信息导航的作用。而海量的信息数据则意味着海量的搜索结果。在实际应用中,大多数索引擎的用户只对返回结果的前几页进行浏览,很少关心排名较后的网页。具有强相关性的搜索结果应该排在比较靠前的位置,而弱相关性的搜索结果则应该排在比较靠后的位置。因此根据其相关性对查询结果进行排序成为搜索引擎的核心问题之一。搜索结果的相关性排序也成为评价搜索引擎性能的重要指标。

在搜索引擎排序问题中,使用一个多维的特征向量表示每个数据对(用户查询-查询结果)的相关属性和信息。抽取数据集中的部分数据对,并人为的标识每个数据对中查询结果和用户查询的相关性。使用已经标识的数据作为训练数据集来训练机器学习模型,并使用得到的机器学习模型来预测未知查询和查询结果的相关度。然而无论一个机器学习模型的理论基础多么强大,总可以在应用过程中发现其不时出现的错误。很多原因可以导致机器学习模型在应用过程中的预测错误,比如带有噪音或是比较极端的训练数据,比如不稳定的数据分布以及机器学习模型本身的缺陷等等。

为了提高机器学习模型的性能,通常的做法是不断收集错误的用户反馈数据作为额外的训练数据来重新建立新的学习模型。然而原始的学习模型在大部分的测试数据集中已经达到良好的效果。因为少量的反馈数据就需要重新建立新学习模型。这样会大大降低搜索的效率。而学习模型一旦建立,模型的修改就变得比较困难。

对于机器学习模型的修复问题,许多研究人员已经提出很多解决方法。最直观的方法就是当获得用户反馈数据后,将用户反馈数据与原始的训练数据合并作为一个新的训练数据集重新学习训练后得到一个新的机器学习模型。然而这种方法主要存在两个问题:

1.反馈数据集的规模远远小于原始的训练数据。重新学习建立的学习模型主要还是由原始的训练数据集决定的,因此性能提升的空间非常有限。

2.每获得少量的用户反馈就需要重新学习建立新的机器学习模型,势必会大大降低搜索的效果。这也是用户不希望看到的。



技术实现要素:

鉴于上述现有技术的不足之处,本发明的目的在于提供一种机器学习模型的局部修复方法。

本发明的目的是为了从局部的视角修改原始的机器学习模型,弥补了重新训练模型、增量学习等方法的不足,提高机器学习模型的性能。为了达到上述目的,本发明采取了以下技术方案:

本发明提供了一种机器学习模型的局部修复方法,包括以下步骤:

步骤一、收集分析反馈数据:收集用户反馈数据,并抽取预测错误的数据样本;

步骤二、空间变换:通过尺度学习将原始数据空间转换到新的数据空间,在新的数据空间中,预测错误的数据样本之间距离尽可能减小,同时预测错误的数据样本与预测正确的数据样本之间的距离尽可能增大;

步骤三、在新的数据空间中,学习错误的数据样本建立补丁模型,并定义补丁模型的应用范围;

步骤四、在新的数据空间中,学习错误的数据样本建立补丁模型,并定义补丁模型的应用范围。

优选的,上述步骤一中根据用户反馈数据是系列的数据对组成,通过建立机器学习模型评价相关程度来评价结果。

优选的,上述步骤二中在新的特征空间中,预测错误的数据样本之间的空间距离尽可能的缩小,而预测错误的数据样本与预测正确的数据样本之间的距离则尽可能的增大。

优选的,上述步骤三中在将预测错误的数据集映射到新的特征空间后,对学习数据样本建立补丁模型。

优选的,上述步骤三中建立补丁模型的过程为有监督的机器学习模型的训练过程。

优选的,上述步骤四中当获得n个补丁模型,并定义补丁模型的作用域之后,使用机器学习模型来预测查询结果的排序。

相比现有技术,本发明提供的机器学习模型的局部修复方法,不改变原始的学习模型,而只是根据用户反馈的预测错误数据学习模型局部补丁的子空间以及补丁模型,原始学习模型和生成的补丁模型组成一个新的学习模型,从局部的视角修改原始的机器学习模型,弥补了重新训练、增量等方法的不足,提高机器学习模型的性能。

具体实施方式

本发明提供一种机器学习模型的局部修复方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

在处理海量信息的过程中,机器学习模型以其自动,快速的优势已经广泛应用于各种问题中并发挥了巨大的作用。机器学习模型,尤其是有监督的机器学习模型,在大量的训练数据的支持下,达到了越来越高的预测准确度。然而,机器学习模型存在一些缺陷。机器学习模型一旦建立,就像一个黑盒子,可见的只有输入、输出。即使发现预测错误的数据,仍无法对原始的机器学习模型进行调整。而且,无论一个机器学习模型多么强大,都不能保证其预测准确率达到百分之百。这就需要不断根据用户的反馈数据对原始的机器学习模型进行调整,不断提高预测准确率。

本实施例针对的机器学习模型是多个决策树的集合。一个决策树表示一个子模型。所有子模型预测结果的加权和即为最终的预测结果。对于每个用户查询,对应一个查询结果的集合。在该机器学习模型中,使用一个特征向量来表示每一个查询结果。在决策树中,非叶子节点将会对查询结果的某些属性进行计算,并根据设定的阈值来决定该查询结果在当前决策树上的路径,当到达叶子节点时,即可得到该查询结果的分类结果。分类结果是由一个分数来表示。该查询结果的最终结果是由该查询结果在每个决策树上的分类结果进行加权求和得到的。分数的高低决定该查询结果与用户查询的相关程度。分数越高,则具有强相关性;分数越低,则具有弱相关性。

本发明提供的机器学习模型的局部修复方法

本实施例提供的局部修复方法中,首先收集用户的反馈数据信息,并抽取其中的预测错误样本。对预测错误样本进行学习训练,建立补丁模型,以弥补原始模型存在的缺陷。在修正预测错误样本的同时,必须保证对预测正确数据不会造成消极的影响。因此在局部修复方法中,不仅仅需要建立补丁模型,同时需要定义补丁模型应用的范围。

在用户反馈数据中,关注的只是预测错误的数据,而预测错误的数据与预测正确的数据的分布是错综复杂的,当建立补丁模型,纠正错误的同时,同时会对预测正确的数据带来消极的影响。因此在本方法中,首先通过尺度学习的方法将预测失败的数据样本空间进行空间转换映射到新的空间,并在新的数据空间中,使预测失败的数据样本尽可能的聚集,并远离预测正确的数据样本。增量学习完成之后,建立补丁模型。补丁模型是对预测失败的数据样本进行学习训练得到的。补丁模型建立完成之后,同时还需要定义补丁模型所作用的区域。

具体的,本实施例提供的局部修复方法主要分为以下四个步骤:

1.收集用户反馈数据,并抽取预测错误的数据样本;

2.空间变换:通过尺度学习将原始数据空间转换到新的数据空间,在新的数据空间中,预测错误的数据样本之间距离尽可能减小,同时预测错误的数据样本与预测正确的数据样本之间的距离尽可能增大;

3.在新的数据空间中,学习错误的数据样本建立补丁模型,并定义补丁模型的应用范围;

4.在新的数据空间中,学习错误的数据样本建立补丁模型,并定义补丁模型的应用范围。

首先,分析反馈数据。用户反馈数据df是由一系列的数据对组成,数学定义可表示为{(df=<q,di>,ri)|i=1,2,...},q表示用户查询,di表示一个用户查询结果,0≤ri≤5表示查询结果di和用户查询q之间的相关程度。ri=5表示相关程度最强,ri=0表示相关程度最弱。则表示di与q之间的相关度小于dj与q之间的相关度,则对于任意数据对<q,di>,ri),单独评价其预测错误或预测正确是没有意义的。假设机器学习模型为f(·),机器学习模型对查询结果d评价结果可用f(d)表示。对于任意两个数据对(<q,di>,ri),(<q,dj>,rj)若ri<rj而f(di)>f(dj),则认为(<q,di>,ri),(<q,dj>,rj)是一对预测错误的数据对。

其次,学习空间变换矩阵。为了避免建立的补丁模型对预测正确的数据样本集合产生影响时,需要对原始数据的特征空间进行变换。空间变换的目的是使在新的特征空间中,预测错误的数据样本之间的空间距离尽可能的缩小,而预测错误的数据样本与预测正确的数据样本之间的距离则尽可能的增大。这样就可以尽可能的降低补丁模型对预测正确数据产生的影响,从而保证新的机器学习模型的预测准确率。

再次,学习补丁模型。在将预测错误的数据集映射到新的特征空间后,接下来需要学习数据样本建立补丁模型。建立补丁模型的过程其实就是一个有监督的机器学习模型的训练过程。

考虑同一个用户查询下的两个不同查询结果,这两个查询结果与用户查询具有不同的相关度,并通过分析这两个查询结果来不断更新补丁模型。假设,对于用户查询q,抽取任意两个具有不同相关度的查询结果,di,dj,与用户查询的相关度分别为,ri,rj。定义gi=g(<q,di>),gj=g(<q,dj>)为机器学习模型的评价分数,设di的评定分数gi大于di的评定分数gj的概率为pij。定义pij的计算公式如(1)所示:

sigm(·)表示sigmoid函数。定义概率pij的理想分布如(2)所示:

在上述的概率函数的基础上,构造交叉熵损失函数如(3)所示:

c=-p′ijlogpij-(1-p′ij)log(1-pij)(3)

通过上式可得到当样本数据与补丁模型中心点的距离很远时,这样该样本对补丁模型的参数不会产生影响。这就保证补丁模型主要作用于预测错误的样本数据,而不会对预测正确的数据样本产生影响。

最后,应用补丁模型。当获得n个补丁模型,并定义补丁模型的作用域之后,使用新的机器学习模型来预测查询结果的排序。对于用户查询,假设其中一个用户查询结果为di,对应的空间特征向量为xi,则需要首先进行空间转换得到新的空间特征向量axi,然后使用新的机器学习模型对axi进行学习预测,得到最后的评价分数。当获得所有查询结果的评价分数后,根据分数,对查询结果进行排序。加入补丁模型,可以有效的修复在用户反馈数据中发现的错误样本,并进行局部修复,而且在修复过程中,不会对正确样本产生影响,从而提高机器学习模型的性能和预测准确率。

本实施例使用尺度学习的方法将原始数据映射到一个新的特征空间中。目标函数只考虑数据空间中的预测错误的数据样本。这是因为模型修复算法主要用于修复预测错误的数据样本,而对于预测正确的数据样本,则不需要进行处理。而且在用户反馈数据集中,预测错误的数据样本规模远远小于预测正确的数据样本规模。只考虑预测错误的数据样本将会大大提高算法的效率。

相比现有技术,本发明提供的机器学习模型的局部修复方法,不改变原始的学习模型,而只是根据用户反馈的预测错误数据学习模型局部补丁的子空间以及补丁模型,原始学习模型和生成的补丁模型组成一个新的学习模型,从局部的视角修改原始的机器学习模型,弥补了重新训练、增量等方法的不足,提高机器学习模型的性能。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1