检测偏离分布样本的方法和系统与流程

文档序号:19117188发布日期:2019-11-13 01:17阅读:492来源:国知局
检测偏离分布样本的方法和系统与流程

本发明涉及异常样本的检测,特别地,本发明涉及一种用于检测偏离分布样本的方法、计算机系统以及计算机可读存储介质。



背景技术:

数据集偏离指的是训练数据集与测试数据集分布不一致。其中测试数据集中与训练数据分布差异较大的样本称为偏离分布样本。这些偏离分布样本导致了数据集偏离。在机器学习模型的实际应用中,数据集偏离会导致分类模型的准确率下降。为了解决这一问题,需要检测出测试数据集中的偏离分布样本,并通过对偏离分布样本的分析得到数据集偏离的原因,从而针对性地扩充训练数据以提高分类模型的有效性。

现有检测测试数据集中的偏离分布样本的技术分为两大类:检测置信度低的偏离分布样本方法和检测置信度高的偏离分布样本方法。检测置信度低的偏离分布样本方法能够较好地检测置信度低的偏离分布样本,但是在实际应用中,很多偏离分布样本往往有着较高的置信度。对于这类的样本,检测置信度低的偏离分布样本方法检测效果往往不佳。检测置信度高的偏离分布样本方法能同时检测出置信度较高和置信度较低的偏离分布样本,因此成为一个被广泛使用的技术。



技术实现要素:

以下描述包括体现本发明技术的示例性方法、系统、技术和指令序列。然而,应该理解,在一个或多个方面,可以在没有这些具体细节的情况下实践所描述的发明。在其他情况下,没有详细示出公知的协议、结构和技术,以免模糊本发明。本领域普通技术人员将理解,所描述的技术和机制可以应用于对值进行排序的各种体系结构。

根据本发明的一个方面,提出了一种用于检测偏离分布样本的方法,该方法包括:利用多个训练样本的原始特征,训练出多个神经网络分类器,其中所述多个训练样本的每一个训练样本都包含至少一个原始特征;从所述多个神经网络分类器中获得所述多个训练样本的高层语义特征,其中所述多个训练样本的每一个训练样本都包含至少一个高层语义特征;利用所述多个训练样本的至少一个高层语义特征和至少一个原始特征,使用多种训练模型,训练出多个分类器,其中所述训练出的多个分类器用于检测偏离分布样本;将所述多个训练样本的所述至少一个高层语义特征和所述至少一个原始特征作为输入,获得所述训练出的多个分类器对所述多个训练样本的多个综合分类结果;利用获得的所述训练出的多个分类器的分类结果,确定所述多个分类器的每个分类器的权重,从而得到多个加权分类器。

根据本发明的另一个方面,提出了一种用于检测偏离分布样本的计算机可读存储介质,所述计算机可读存储介质具有存储其中的程序指令,所述程序指令可由计算设备执行以使得计算设备执行如上所述的方法。

根据本发明的又一个方面,提出了一种用于检测偏离分布样本的系统,包括:存储器;以及至少一个处理器,可操作地耦合到存储器并配置用于执行如上所述的方法。

根据本发明的再一个方面,提出了一种用于检测偏离分布样本的计算机系统,所述系统包括分别用于执行如上所述的方法的各个步骤的模块。

附图说明

通过参照附图阅读下面对说明性实施例的详细说明可更好地理解发明本身以及其优选使用模式、目标、特征以及优点,在附图中:

图1示出了某主板厂商用于对主板缺陷进行分类的模型的示例;

图2示出了现有偏离样本检测方法的示例;

图3示出了根据本发明的一个或多个实施例的一种用于检测偏离分布样本的方法的流程图;

图4示出了步骤330过程的一个示例;

图5示出了根据本发明的一个或多个实施例的一种利用获得的训练出的多个分类器的分类结果,确定多个分类器的每个分类器的权重的方法的流程图;

图6示出了根据本发明的一个或多个实施例的另一种利用获得的训练出的多个分类器的分类结果,确定多个分类器的每个分类器的权重的方法的流程图;以及

图7示出了根据本发明的一个或多个实施例的一种使用获得的多个加权分类器检测测试样本中的偏离分布样本的方法的示例。

具体实施方式

下面参照附图来说明本发明的实施例。在下面的说明中,阐述了许多具体细节以便更全面地了解本发明。但是,对于本技术领域内的技术人员明显的是,本发明的实现可不具有这些具体细节中的一些。此外,应当理解的是,本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和要素的任意组合来实施本发明,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。

在大数据时代,机器学习方法已经成为处理大数据的一种有效手段。大多数机器学习方法涉及两个阶段,训练阶段和测试阶段。如果测试阶段所使用的数据与训练阶段所使用的数据的分布一致,训练得到的模型的效果较好。但是如果测试样本阶段所使用的数据与训练阶段所使用的数据的分布一致,训练得到的模型运用在测试样本上的效果会大大下降。

图1示出了某主板厂商用于对主板缺陷进行分类的模型的示例。该厂商开始使用的训练样本主要包含两种缺陷,一种是错焊缺陷101,一种是漏焊缺陷102。经过训练得到分类器104。随着生产规模的展开,测试样本中出现大量的包含第三种缺陷,即虚焊缺陷103的测试样本。这样的测试样本在测试中被误判成错焊缺陷101或漏焊缺陷102。这显然是不合适的。造成误判的原因是这样的测试样本遵循不同于包含错焊缺陷101或漏焊缺陷102的样本的分布。本领域技术人员认为其是偏离分布样本。获得偏离分布样本后,可以通过对其分析得到造成样本偏离分布的原因,从而针对性地扩充训练数据以提高分类模型的有效性。

现有技术中,检测置信度高的偏离分布样本方法由于效果更佳,在实际中应用更广。该类方法使用不同的高层语义特征与同一个算法结合,训练得到不同的分类器,然后使用不同分类器对一个测试样本得到分类结果。将不同分类器的分类结果的一致性作为衡量该测试样本是否为偏离分布样本的指标。图2示出了现有偏离样本检测方法的示例。其中使用高层语义特征201和高层语义特征202,以及唯一模型211。高层语义特征201与唯一模型211得到分类器221;高层语义特征202与唯一模型211得到分类器222。对一个测试样本,使用分类器221和分类器222得到该测试样本的两个分类类别。如果两个分类类别不一致,则确定该测试样本为偏离分布样本的样本。

但是该类方法存在两个问题,一是其仅使用高层语义特征,另一个是其仅使用一个分类算法。有限的特征和算法会导致模型容量下降。而根据现有技术,模型容量越高,检测方法的结果也会越好。为此,本发明提出了一种新的检测偏离分布样本的方法。

图3示出了根据本发明的一个或多个实施例的一种用于检测偏离分布样本的方法300的流程图。根据图3,在步骤310,利用多个训练样本的原始特征,训练出多个神经网络分类器,其中所述多个训练样本的每一个训练样本都包含至少一个原始特征。比如图1所示的例子中,焊点的厚度、宽度等均为训练样本的原始特征。神经网络分类器可以用现有的任何神经网络分类器。在一种实施方式中,可以使用深度神经网络分类器。

在步骤320,从所述多个神经网络分类器中获得所述多个训练样本的高层语义特征,其中所述多个训练样本的每一个训练样本都包含至少一个高层语义特征。高层语义特征包括神经网络分类器的中间层输出。

在步骤330,利用所述多个训练样本的至少一个高层语义特征和至少一个原始特征,使用多种训练模型,训练出多个分类器,其中所述训练出的多个分类器用于检测偏离分布样本。训练模型与训练算法是对应的。其中多种训练模型为以下模型至少之一:线性分类器、贝叶斯分类器、决策树、神经网络、bagging模型、随机深林、boosting模型、支持向量机。图4示出了步骤330过程的一个示例。其中使用高层语义特征401和原始特征411作为训练样本的第一组特征,使用高层语义特征401和原始特征411作为训练样本的第二组特征,以及模型421和模型422。第一组特征与模型421得到分类器431;第一组特征与模型422得到分类器432;第二组特征与模型421得到分类器433;第二组特征与模型422得到分类器434。这样使用更多的分类特征和分类模型,可以得到更多的分类器,从而得到更高的综合检测精度。

在步骤340,将所述多个训练样本的至少一个高层语义特征和至少一个原始特征作为输入,获得所述训练出的多个分类器的对所述多个训练样本的多个综合分类结果。例如对于三个类别的1000个训练样本,对应图4,将1000个训练样本的每一个使用分类器431-434分别进行分类,得到分类结果。例如对于样本1,分类器431对于样本1得到的分类结果包括第一类置信概率(假设为0.2),第二类置信概率(假设为0.7)和第三类置信概率(假设为0.1)。分类器431对样本1的分类结果的分类类别为第二类(第二类的置信概率最大)。同理,分类器432对样本1的分类结果的分类类别为第二类,分类器433对样本1的分类结果的分类类别为第一类,分类器434对样本1的分类结果的分类类别为第二类。由于4个分类器的分类结果中超过规定阈值的分类器的分类结果指示样本1为第二类,则4个分类器的综合分类结果的分类类别为第二类。

在步骤350,利用获得的所述训练出的多个分类器的分类结果,确定所述多个分类器的每个分类器的权重,从而得到多个加权分类器。

在一种实施方式中,该多个分类器的每个分类器的权重可以使用上述多个训练数据的分类结果来确定。图5示出了根据本发明的一个或多个实施例的一种利用获得的训练出的多个分类器的分类结果,确定多个分类器的每个分类器的权重的方法500的流程图。根据图5,将多个分类器的每个分类器作为特定分类器,对每一个特定分类器,在步骤510,初始化所述特定分类器的权重。可以初始化为0,也可以初始化为特定值。将多个训练样本的每个训练样本作为特定训练样本,对每一个特定训练样本,在步骤520,获得所述特定训练样本在所述特定分类器的分类结果中的分类类别。本领域技术人员知道,例如同样对于三个类别的分类器,假设分类器421的分类结果包括类别1的置信概率(假设为0.2),类别2的置信概率(假设为0.7)和类别3的置信概率(假设为0.1)。选择置信最高(0.7)的类别(类别2)为分类器421的分类结果的分类类别。在步骤530,将所述特定分类器对所述特定训练样本的分类结果中的分类类别与训练出的多个分类器对所述特定训练样本的综合分类结果中的分类类别进行比较。在步骤540,响应于比较结果指示两个分类类别一致,将所述特定分类器的权重加一。针对上述例子,分类器421与4个分类器的综合分类结果的分类类别一致,将分类器421的权重加一。在步骤550,判断是否还有训练样本。如果还有,回到步骤510。假设样本2仍然遵循这样的规律,分类器421的权重继续加一。否则,执行步骤560,直到所有训练样本执行完毕,此时获得该特定分类器的权重。在一种实施方式中,也可以对特定分类器的权重进行归一化处理。

在另一种实施方式中,该多个分类器的每个分类器的权重可以使用上述多个训练数据的分类结果来确定。图6示出了根据本发明的一个或多个实施例的另一种利用获得的训练出的多个分类器的分类结果,确定多个分类器的每个分类器的权重的方法600的流程图。根据图6,将多个分类器的每个分类器作为特定分类器,对每一个特定分类器,在步骤610,初始化所述特定分类器的权重。可以初始化为0,也可以初始化为特定值。将多个训练样本的每个训练样本作为特定训练样本,对每一个特定训练样本,在步骤620,获得所述特定训练样本在所述特定分类器的分类结果中的分类类别。本领域技术人员知道,例如同样对于三个类别的分类器,对该特定训练样本,假设分类器421的分类结果中包括类别1的置信概率(假设为0.2),类别2的置信概率(假设为0.7)和类别3的置信概率(假设为0.1)。选择置信最高(0.7)的类别(类别2)为分类器421对该特定训练样本的分类结果的分类类别。在步骤630,获得所述特定分类器对所述特定训练样本的分类结果中与所述训练出的多个分类器对所述特定训练样本的综合分类结果中的分类类别对应的该特定分类器的输出。在步骤640,将所述输出累加到所述特定分类器的权重。针对上述例子,训练出的多个分类器对所述特定训练样本的综合分类结果中的分类类别为2,分类器421中类别2的输出为0.7,其权重加0.7。在步骤650,判断是否还有训练样本。如果还有,回到步骤610。否则,执行步骤660,直到所有训练样本执行完毕,此时获得该特定分类器的权重。在一种实施方式中,也可以对特定分类器的权重进行归一化处理。

这样就获得了可用于检测偏离分布样本的多个加权分类器。图7示出了根据本发明的一个或多个实施例的一种使用获得的多个加权分类器检测测试样本中的偏离分布样本的方法700的示例。

根据图7,在步骤710,获得多个加权分类器的每个加权分类器对一测试样本的分类结果。如图4所示,假设对于三个类别,分类器431的权重为10,对三类分类结果的置信度为[0.6,0.3,0.1];分类器432的权重为5,对三类分类结果的置信度为[0.35,0.45,0.2];分类器433的权重为3,对三类分类结果的置信度为[0.65,0.2,0.15];分类器434的权重为6,对三类分类结果的置信度为[0.7,0.05,0.25]。

在步骤720,响应于所述多个加权分类器的每个加权分类器对所述测试样本的分类结果不一致,则确定所述测试样本为候选偏离分布样本。在一中实施方式中,对步骤710的例子,一种衡量一致性的方法为,计算每一类的加权置信度。例如,对于类别1,其加权置信度为0.6*10+0.35*5+0.65*3+0.7*6=13.9;对于类别2,其加权置信度为0.3*10+0.45*5+0.2*3+0.05*6=6.15;对于类别3,其加权置信度为0.1*10+0.2*5+0.15*3+0.25*6=3.95。第一类的加权置信度明显高于其他两类,该测试样本不是偏离分布样本。如果三类的每类的加权置信度的差异在规定的阈值之内,例如5%,也就是该测试样本使用训练出来的分类器分类类别不清晰,其为候选偏离分布样本。

在步骤730,判断是否还有测试样本。如果还有,回到步骤710。否则,执行步骤740。在步骤740,此时已经获得多个测试样本中的候选偏离分布样本,响应于确定多个测试样本为候选偏离分布样本,统计多个候选偏离分布样本的分布。在一种实施方式中,多个候选偏离分布样本的分布可以假设为正态分布,统计其分布,确定其特征值,例如均值和方差等。本领域技术人员知道,也可以假设为其他的分布,利于多项式分布,泊松分布等。在步骤750,响应于所述候选偏离分布样本的分布与所述多个训练样本的分布的差异超过预定阈值,确定所述候选偏离分布样本为偏离分布样本。在一种实施方式中,多个候选偏离分布样本的分布可以假设为正态分布,多个训练样本中的每一个类的训练样本也遵循正态分布。可以将候选偏离分布样本分布的特征值与多个训练样本中的每一个类的训练样本分布的特征值进行对比。如果差异超过规定的阈值,则认为多个候选偏离分布样本为偏离分布样本。本领域技术人员可以推断,该阈值根据不用的应用领域应该取不同的值。

利用本发明的检测偏离分布样本的方法,可以提高偏离分布样本检测的准确率。

本发明可以是系统、方法和/或计算机可读存储介质。计算机可读存储介质上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。本发明的方法可以在独立的计算机系统上执行,也可以在分布式计算系统上执行,甚至可以在云平台上执行。

这里参照根据本发明实施例的方法、装置(系统)和计算机可读存储介质的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机可读存储介质的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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