用于识别对预测器具有不利影响的数据漂移的方法和装置与流程

文档序号:22739579发布日期:2020-10-31 09:21阅读:133来源:国知局
用于识别对预测器具有不利影响的数据漂移的方法和装置与流程

本公开一般地涉及机器学习,更具体地说,涉及识别数据质量的下降。



背景技术:

机器学习(ml)算法处于学术研究以及商业化服务和产品的前沿。当寻找预测模型的问题已基本解决时,又出现了新问题。一个问题是实验室之外的预测模型的鲁棒性。

诸如实施机器学习技术之类的预测模型取决于数据。预测模型可以与用于训练模型的数据一样好。如果训练数据提供了现实世界数据的充分表示,则预测模型很可能在用于生产时提供相对好的预测。一旦模型被训练并被用于在现实生活场景中做出实际预测,模型就可能遇到与用于训练模型的数据显著不同的数据,结果,模型可能提供不可靠的预测,并且在执行上通常会低于标准。



技术实现要素:

所公开的主题的一个示例性实施例是一种方法,所述方法包括:获得基线数据集,其中,所述基线数据集包括第一组实例,每个实例包括在特征空间中的特征值,其中,所述第一组实例中的每个实例与标签相关联;基于所述第一组实例的所述特征值,在所述特征空间中确定一组集群;确定在所述一组集群上的实例的基线分布,其中,所述确定所述基线分布是基于所述基线数据集;针对每个集群,计算所述每个集群的预测器的性能度量,其中,所述预测器被配置为估计实例的估计标签,其中,所述性能度量指示所述预测器对所述每个集群所包括的所述第一组实例的一部分的成功估计;获得第二数据集,其中,所述第二数据集包括第二组实例,其中,每个所述实例包括在所述特征空间中的特征值;确定在所述一组集群上的实例的第二分布,其中,所述确定所述第二分布是基于所述第二数据集;以及基于所述第二分布和所述基线分布,并且基于所述一组集群中的至少一个集群的至少一个性能度量,识别所述第二数据集相对于所述基线数据集的数据漂移。

所公开的主题的另一示例性实施例是一种具有处理器和相耦接的存储器的计算机化装置,所述处理器适于执行以下步骤:获得基线数据集,其中,所述基线数据集包括第一组实例,每个实例包括在特征空间中的特征值,其中,所述第一组实例中的每个实例与标签相关联;基于所述第一组实例的所述特征值,在所述特征空间中确定一组集群;确定在所述一组集群上的实例的基线分布,其中,所述确定所述基线分布是基于所述基线数据集;针对每个集群,计算所述每个集群的预测器的性能度量,其中,所述预测器被配置为估计实例的估计标签,其中,所述性能度量指示所述预测器对所述每个集群所包括的所述第一组实例的一部分的成功估计;获得第二数据集,其中,所述第二数据集包括第二组实例,其中,每个所述实例包括在所述特征空间中的特征值;确定在所述一组集群上的实例的第二分布,其中,所述确定所述第二分布是基于所述第二数据集;以及基于所述第二分布和所述基线分布,并且基于所述一组集群中的至少一个集群的至少一个性能度量,识别所述第二数据集相对于所述基线数据集的数据漂移。

所公开的主题的又一示例性实施例是一种保存程序指令的非暂时性计算机可读介质,所述程序指令在由处理器读取时使得所述处理器执行:获得基线数据集,其中,所述基线数据集包括第一组实例,每个实例包括在特征空间中的特征值,其中,所述第一组实例中的每个实例与标签相关联;基于所述第一组实例的所述特征值,在所述特征空间中确定一组集群;确定在所述一组集群上的实例的基线分布,其中,所述确定所述基线分布是基于所述基线数据集;针对每个集群,计算所述每个集群的预测器的性能度量,其中,所述预测器被配置为估计实例的估计标签,其中,所述性能度量指示所述预测器对所述每个集群所包括的所述第一组实例的一部分的成功估计;获得第二数据集,其中,所述第二数据集包括第二组实例,其中,每个所述实例包括在所述特征空间中的特征值;确定在所述一组集群上的实例的第二分布,其中,所述确定所述第二分布是基于所述第二数据集;以及基于所述第二分布和所述基线分布,并且基于所述一组集群中的至少一个集群的至少一个性能度量,识别所述第二数据集相对于所述基线数据集的数据漂移。

附图说明

当结合附图阅读以下详细描述时,将更充分地理解和了解本公开的主题,在附图中,对应或相似的数字或字符指示对应或相似的组件。除非另有指示,否则附图提供本公开的示例性实施例或方面,并且不限制本公开的范围,在附图中:

图1a和1b示出了根据所公开的主题的一些示例性实施例的方法的流程图;

图2示出了根据所公开主题的一些示例性实施例的装置的框图;

图3a和3b示出了根据所公开的主题的一些示例性实施例的实例聚类的示意图;以及

图4示出了根据所公开主题的一些示例性实施例的表。

具体实施方式

所公开的主题所处理的一个技术问题是确定两个数据集是否在统计上不同。这种问题的一个显著示例是确定生产数据集是否在统计上与基线数据集不同。在一些示例性实施例中,机器学习(ml)模型可能已经使用训练数据集进行了训练,并且可能已经使用基线数据集进行了测试和验证。附加地或备选地,一旦模型处于使用中,生产数据集与初始数据集相比就可能在统计上不同。在一些示例性实施例中,用于获得生产数据集的硬件可能不同于用于获得初始数据集的硬件,数据源可能已经改变,等等。作为示例,可以使用ml模型,以便基于乳腺x射线摄影图像来确定人们是否患有癌症。在x射线扫描仪的使用寿命中,灯丝可能烧坏,管可能开始泄漏等。结果,在x射线扫描仪的使用寿命期间,由x射线扫描仪获取的图像可能不同。附加地或备选地,在x射线扫描仪的使用寿命期间,扫描质量可能下降。不同的质量可能导致ml模型提供错误的结果,因为它是使用统计上不同的数据集进行训练的。作为另一示例,可以训练ml模型以便读取路标。ml模型可能在路标已褪色的区域中使用。如果未使用褪色的路标来训练ml模型,则ml模型可能无法读取褪色的路标。

在一些示例性实施例中,被比较的两个数据集可以是任意两个数据集。仅出于清楚的目的,本公开使用基线数据集和生产数据集例示了所公开的主题。然而,所公开的主题不限于这样的实施例,并且能够分析任何第一和第二数据集。

所公开的主题所处理的另一技术问题是确定生产数据集是否在统计上不同于基线数据集,以使得可能导致在基线数据集上训练的预测器表现不佳。作为示例,预测器可以被配置为基于儿童的体重和当前身高来预测儿童的身高。可以基于在美国获得的基线数据集对预测器进行训练。基线数据集中显示的儿童的平均身高可能是1.6米。附加地或备选地,预测器可能被应用于在日本获得的生产数据集,其中平均儿童身高为1.5米。通过使用所公开的主题,能够在预测器被应用于生产数据集时确定预测器表现不佳、表现超预期等。

所公开的主题所处理的另一技术问题是识别尽可能多的数据漂移。附加地或备选地,希望尽快识别不利的数据漂移。作为示例,在使用ml模型来识别ct扫描中的病状的情况下,可能希望识别尽可能多的不利数据漂移以避免误诊。

需要注意,尽管关于不利数据漂移的识别描述了所公开的主题,但是这种公开仅出于清楚的目的,而不是限制所公开的主题的范围。特别地,所公开的主题能够用于识别不一定是不利数据漂移的数据漂移。

所公开的主题所处理的又一技术问题是以相对高的置信度来识别不利的数据漂移。作为示例,在使用ml算法来翻译文本(诸如在googletranslatetm中)的情况下,可能存在大量用户。在这样的实施例中,与上述ct示例相反,不尽可能快地识别不利数据漂移的影响可能很小。在这样的实施例中,优选地避免数据漂移的假阳性指示,并且仅报告具有相对高置信度的指示并对该指示做出响应。

一种技术解决方案是获得基线数据集。在一些示例性实施例中,基线数据集可以包括基线实例。每个基线实例可以包括在特征空间中的特征值。在一些示例性实施例中,特征空间可以是n维空间,其中n是用于表示实例的特征的数量。需要注意,一些特征可以直接从原始数据中获得,一些特征可以是基于原始数据计算的工程设计特征等。每个基线实例可以与标签相关联。在一些示例性实施例中,在获得基线数据集之前,可以获得训练数据集。使用训练数据集,可以训练预测器以确定特征的值。在一些示例性实施例中,预测器可以被配置为基于生产实例的特征值来预测生产实例的标签。

在一些示例性实施例中,可以确定在特征空间中的一组集群。附加地或备选地,基线实例可以被布置在n维空间中,并且可以在n维空间中确定集群。在一些示例性实施例中,该确定可以基于基线实例的特征的值。在一些示例性实施例中,可以通过诸如k均值、均值移位聚类、聚集分层聚类之类的算法来执行确定上述一组集群。

在一些示例性实施例中,可以确定在一组集群上的实例的基线分布。该确定可以基于基线数据集。确定基线分布可以包括确定每个集群中的基线数据集的分布。在一些示例性实施例中,基线分布可以是集群中的基线实例的预期分布,并且可以指示一组集群上的生产数据的实际分布。

在一些示例性实施例中,可以计算每个集群的性能度量。针对每个集群,性能度量可以指示将预测器应用于该集群所包括的实例时的成功率。附加地或备选地,性能度量可以是指示预测器能够预测该集群内实例的标签的良好程度的度量。在一些示例性实施例中,当将预测器应用于该集群所包括的生产数据集中的实例时,可以将性能度量用作预测器的估计成功率。

在一些示例性实施例中,预测器可以被配置为估计实例的标签。实例可以是生产数据集、训练数据集、测试数据集等所包括的实例。在一些示例性实施例中,硬件处理器可以被配置为执行预测器,以便预测、估计、计算每个实例的估计标签,以及执行类似的操作。附加地或备选地,预测器可以在预测的标签中提供置信度。

在一些示例性实施例中,可以获得包括生产实例的生产数据集。可以确定实际分布。实际分布可以是一组集群上的生产数据集的分布。在一些示例性实施例中,确定实际分布可以包括确定每个集群上的生产数据集的分布。针对每个集群,可以确定该集群中的生产实例的分布。该确定可以产生集群上的生产实例的实际分布。

在一些示例性实施例中,基于实际分布和基线分布,并且基于至少一个集群的至少一个性能度量,能够识别不利的数据漂移。数据漂移可以是数据分布相对于基线数据集的变化。在一些示例性实施例中,数据漂移可以是实例分布在统计上的显著变化。不利的数据漂移可以是预期导致预测器提供正确预测的能力降低的数据漂移。在一些示例性实施例中,不利的数据漂移可指示预测器所利用的ml模型的性能下降。

在一些示例性实施例中,当具有相对低的性能度量值的集群(也称为预测不佳的集群)的相对比例增大时,可以识别到不利的数据漂移。预测不佳的集群的相对比例的增大以与相对高的性能度量值相关联的另一集群的减少为代价。结果,模型的总体性能低于基于基线数据集所展现的性能。附加地或备选地,可以基于模型的性能测量的减小来确定不利的数据漂移。在一些示例性实施例中,模型可以具有基线性能测量。可以基于基线分布以及基于根据基线数据集展示的每个集群的性能度量来确定模型的基线性能测量。每个集群可以与性能度量的值相关联。在一些示例性实施例中,在给定集群中的实例的分布的情况下,可以将模型的基线性能测量计算为集群的性能度量值的加权平均值。模型可以具有实际的性能测量。使用生产数据集,可以类似于基线性能测量来计算实际的性能测量。如果实际的性能测量低于基线性能测量,则可以识别到不利的数据漂移。附加地或备选地,可以基于高于预定阈值的减小来识别不利的数据漂移,例如性能测量值的绝对值减小至少0.5,性能测量减小10%或更多等。

另一技术解决方案是确定第二组集群,诸如使用不同的聚类算法。可以基于所识别的关于第一组集群和第二组集群两者的性能降低来识别不利的数据漂移。在一些示例性实施例中,在性能测量相对于一组集群减小并且第二性能测量相对于第二组集群减小的情况下,可能发生不利的数据漂移。因此,该不利的数据漂移的存在置信度与基于单组集群确定的不利数据漂移的存在置信度相比可以更高。

又一技术解决方案是基于单组集群来识别不利的数据漂移。因此,如果在第一或第二组集群中出现不利的数据漂移,则将识别出该不利的数据漂移。

利用所公开的主题的一个技术效果是提供一种指示不利地影响生产数据集的捕获的硬件故障的自动化方式。作为示例,在生产数据集是乳腺x射线摄影图像的情况下,并且在识别出数据漂移的情况下,这可以指示管可能需要被更换。在某些情况下,数据漂移的形式可以指示特定的硬件故障。例如,如果硬件故障与接收到暗黑图像有关,则数据漂移可能朝向集群的特定子集(例如,与暗黑图像相关联的一个或多个集群)。

利用所公开的主题的另一技术效果是在使用生产数据集时提供模型质量的指示。在一些示例性实施例中,预测模型可以相对于训练数据集并且相对于生产数据集的一部分有效。但是,生产数据集的某些变化可能尚未表示在训练数据集中。再次参考上述路标示例,识别不利的数据漂移可以指示引起不利的数据漂移的路标可能尚未被训练数据集、基线数据集等充分地表现。可以通过将来自生产数据集的数据添加到训练数据集,手动向训练数据集提供标签(或以其它方式获得训练数据集的正确标签)并重新训练模型来完成补救措施。

利用所公开的主题的另一技术效果是与仅使用一组集群的方法相比,使用两组集群之一识别出更多数据漂移的方法。附加地或备选地,使用所公开的主题,仅识别在一组集群和第二组集群两者中出现的不利数据漂移。

又一技术效果是与仅使用一个数据漂移的方法相比,减少了不利的数据漂移的假阳性识别的数量。当需要手动干预时,假阳性指示将成为一个问题。在存在许多假阳性指示的情况下,用户可能基于这些指示而停止对警报和通知做出响应。增大正确识别不利的数据漂移的概率能够有助于减少假阳性指示并避免此类不利情况。

又一技术效果是减少识别不利的数据漂移所需的生产实例的数量。通过增大正在被监视的集群组的数量并报告在这些集群组中的任一者中出现的不利数据漂移,能够实现使用相对较少数量的实例的快速识别。

所公开的主题能够提供对任何现有技术以及本领域中先前已成为常规或传统技术的任何技术的改进。

根据本公开,其它技术问题、解决方案和效果对于本领域普通技术人员而言能够是显而易见的。

现在参考图1a,示出了根据所公开的主题的一些示例性实施例的方法的流程图。

在步骤100,获得训练数据集。训练数据集可以包括实例。每个实例可以包括特征值。特征值可以包括在特征空间中。在一些示例性实施例中,特征空间可以是n维空间,其中n可以是特征的数量。

在步骤110,训练预测器。可以使用诸如但不限于线性回归、逻辑回归、分类和回归树(cart)、朴素贝叶斯、k最近邻近节点(knn)、apriori、k均值、主成分分析(pca)之类的算法基于训练数据集来训练预测器。

在步骤120,可以获得测试数据集。测试数据集可以用作基线数据集。在一些示例性实施例中,基线数据集可以是包括尚未用于在步骤110中训练预测器的实例和实例的标签的数据集。在一些示例性实施例中,训练数据集和测试数据集可以从同一来源获得,并基于所需比例(例如80:20;50:50)等例如自动地被划分为不同的数据集。

在步骤130,测试预测器。在一些示例性实施例中,测试预测器可以包括将预测器应用于实例,并确定预测器是否提供了正确的结果。在一些示例性实施例中,可以使用步骤120的测试数据集来执行测试,并且可以将实际标签与由预测器所预测的预测标签进行比较。在一些示例性实施例中,基于提供正确预测的成功率,能够计算预测器的性能度量。

现在参考图1b,示出了根据所公开的主题的一些示例性实施例的方法的流程图。

在步骤140,可以确定在特征空间中的一组集群。可以通过将基线实例进行聚类来确定该组集群。在一些示例性实施例中,可以在修改原始数据并将其转换到特征空间中之后执行将基线实例聚类到特征空间中的集群。附加地或备选地,特征空间可以是学习的特征空间。基于学习的特征空间的聚类可以表示优化的集群空间。需要注意,预测可以基于也基于聚类的机器学习模型。步骤140的聚类可以是独立的,并且与用作预测器所利用的ml技术的一部分的聚类不同。它可以是不同的聚类算法,可以独立或单独地执行等。

在步骤150,可以确定在集群上的基线实例的基线分布。可以通过针对每个集群确定作为集群成员的基线实例的一部分来计算分布。在一些示例性实施例中,基线实例可以是仅一个集群的成员。附加地或备选地,基线实例可以是一个或多个集群的成员。附加地或备选地,某些基线实例可以不是任何集群的成员。在一些示例性实施例中,基线分布可以是集群所包括的基线实例的数量与基线实例的总数之间的比率。例如,一个集群可以包括10%的基线实例,第二集群可以包括80%的基线实例,而第三集群可以包括25%的基线实例。可以理解,在本示例中,由于某些集群之间的重叠,实例总数超过100%,因为某些实例包括在两个或更多个集群中。

图4中的表400示出了4个集群(集群a、b、c、d)的示例。在说明性示例中,集群不重叠,并且包括基线实例中的每个基线实例。集群中的基线实例的分布在集群a中占20%,在集群b中占40%,在集群c中占30%,在集群d中占10%。

在步骤160,针对每个集群,可以确定性能度量的值。在一些示例性实施例中,性能度量可以指示标签对该集群所包括的基线实例的成功估计。在一些示例性实施例中,性能度量可以衡量预测器使用其预测模型来预测正确标签的良好程度。在一些示例性实施例中,对于集群中的每个基线实例,使用预测器来预测标签。可以将所预测的标签与实际的标签进行比较,以确定预测是否正确。可以基于实例的数量,基于被正确预测的实例的数量等来计算性能度量。在一些示例性实施例中,性能度量可以例如是f1评分度量、准确性度量、r平方度量,均方根误差(rsme)度量等。在一些示例性实施例中,不同的集群可以具有显著不同的性能度量值。例如,预测器可以在一个集群中提供准确的预测,以及可能在另一集群中提供不太可靠的预测。图4中的表400还示出了每个集群的性能度量值。在说明性示例中,性能度量是集群中正确预测的百分比。对于集群a中90%的基线实例,集群b中95%的基线实例,集群c中80%的基线实例以及集群d中仅75%的基线实例,预测器是正确的。

附加地或备选地,可以利用几个不同的性能度量,并且可以确定每个性能度量的值。例如,f1评分度量可以用作第一性能度量,而rmse度量可以用作第二性能度量。可以使用两个度量,并且针对每个集群,可以计算每个度量的值。

在步骤170,获得生产数据集。生产数据集可以包括生产实例,每个生产实例可以包括在特征空间中的特征值。生产数据集可以包括预测器可用于为其预测标签的实例。生产数据集可能不包括每个实例的关联的正确标签。

在步骤180,可以确定在集群上的生产实例的实际分布。在一些示例性实施例中,一旦生产数据集的大小高于预定阈值,就可以计算实际分布。可以在通过步骤150获得基线分布时获得实际分布。应该注意,实际分布是使用基线实例相对于在步骤140中确定的相同集群来计算的。

在步骤190,可以确定是否发生数据漂移。在一些示例性实施例中,可以基于(步骤180的)实际分布自(步骤150的)基线分布的显著变化来识别数据漂移。例如,如果任何集群的一部分中存在超过阈值百分点数(例如,一个百分点、两个百分点)的变化,则可以识别出显著变化。例如,如图4的表400所示,集群a的基线分布变化为20%,实际分布变化为30%,从而表示更改了10个百分点。作为另一示例,显著变化可以是超过预定阈值(诸如超过10%、15%、20%等)的相对变化。再次参考表400中集群a的示例,从20%到30%的相对变化是50%的比例变化。

在一些示例性实施例中,可以识别不利的数据漂移。在一些示例性实施例中,不利的数据漂移可以是降低预测器提供正确预测的可能性的数据漂移。在一些示例性实施例中,预测器可以与用于测量正确预测的可能性的性能度量值相关联。不利的数据漂移可以是降低性能度量值的数据漂移。在一些示例性实施例中,可以基于性能度量(如相对于基线数据集确定的)相对低的集群的比例的增加来识别不利的数据漂移。附加地或备选地,当生产数据集包括的未由任何集群包括的部分超过预定阈值(例如,超过5%、超过10%等)时,可以识别出不利的数据漂移。附加地或备选地,可以将预测器的估计性能测量计算为每个集群的性能度量值的加权平均值。可以使用基线分布来计算预测器的基线性能测量。可以使用实际分布来计算预测器的实际性能测量。在一些示例性实施例中,如果基线性能测量与实际性能测量之间的差为正,高于预定阈值(诸如绝对阈值、相对阈值等),则可以识别出不利的数据漂移。

在一些示例性实施例中,如果识别出数据漂移,则可以执行步骤192。否则,如果未识别出数据漂移,则可以再次执行步骤170-190,以及可以获得额外的生产数据并将其用于分析。

在步骤192,可以执行缓解动作。缓解动作可以是旨在缓解所识别的数据漂移的不利影响的动作。在某些情况下,生产数据集可以包括低质量的实例,而缓解动作可能旨在提高所获得的实例的质量。例如,用于获得实例的硬件可能出现故障、劣化、磨损等。在这种情况下,可以更换硬件(步骤194)。附加地或备选地,缓解动作可以被配置为修改预测器,以便预测器能够在生产期间观察的数据集中提供正确预测。在一些示例性实施例中,可以重新训练预测器(步骤196)。

在步骤194,可以更换用于获得生产数据的硬件。在一些示例性实施例中,不利的数据漂移可以指示低质量的生产数据。作为示例,可以使用预测模型以便确定手写的原稿是由亚里斯多德还是柏拉图书写的。不利的数据漂移可以指示扫描仪出现故障,从而提供有问题的图像,例如太亮、太暗等。作为另一示例,可能已经训练预测器以便诊断x射线图像中的癌症。不利的数据漂移可以指示导致所产生的x射线图像中断的硬件故障,例如x射线扫描仪中泄漏的管、烧坏的灯丝等。

在步骤196,可以重新训练预测器。在一些示例性实施例中,尽管无硬件故障,但仍可能发生不利的数据漂移。导致数据漂移的生产数据可能是正确的数据。但是,一部分生产数据可能尚未表示在训练数据中。附加地或备选地,由于其它原因,例如现实世界中发生的变化,生产数据可能不同于基线数据。例如,可以使用新标志的图像来训练交通标志分析。如果在现实世界中,现有的标志褪色,则生产数据集可能会有所不同,并且预测器的表现可能相对较差。作为又一示例,法律变更可能导致出现新的标志。由于此类标志当时不存在,因此可能未表示在基线数据中。

在一些示例性实施例中,可以使用新的训练数据来训练预测器。新的训练数据可以包括生产数据或生产数据的一部分。如果获得了生产数据的正确标签(例如使用人工标记,基于外部源等),则可以在新的训练数据中使用生产数据。在一些示例性实施例中,新的训练数据可以包括(旧的)训练数据或(旧的)训练数据的一部分。在一些示例性实施例中,可以从其它源获得新的训练数据而与生产数据无关。在一些示例性实施例中,可以使用新的训练数据来重新训练预测器。在一些示例性实施例中,在训练期间,可以检验新的训练数据未表现出相对于步骤170(在步骤170中,识别出自步骤120的基线数据的数据漂移)的生产数据的数据漂移。

现在参考图2,示出了根据所公开的主题的一些示例性实施例的装置的框图。

装置200可以包括一个或多个处理器202。处理器202可以是中央处理单元(cpu)、微处理器、电子电路、集成电路(ic)等。处理器202可用于执行装置200或其任何子组件所需的计算。

在所公开的主题的一些示例性实施例中,装置200可以包括输入/输出(i/o)模块205。i/o模块205可以由数据获得器210用于获得诸如基线实例、生产实例等之类的数据。附加地或备选地,i/o模块205可以由数据漂移识别器260使用。在识别出不利的数据漂移的情况下,可以利用i/o模块205来提供信息。该信息可以传递给人类用户,从而指示预测器可能失败。在一些示例性实施例中,i/o模块205可用于向用户发送通知或警报。附加地或备选地,i/o模块205可以被配置为调用另一自动化装置以执行自动维护活动等。

在一些示例性实施例中,装置200可以包括存储单元207。存储单元207可以是硬盘驱动器、闪存盘、随机存取存储器(ram)、存储芯片等。在一些示例性实施例中,存储单元207可以保存可操作以使处理器202执行与装置200的任何子组件相关联的动作的程序代码。在一些示例性实施例中,存储单元207可以存储其它模块的输出。存储单元207可以存储由集群确定器220确定的集群。附加地或备选地,存储单元207可以存储由分布确定器230确定的分布。附加地或备选地,存储单元207可以存储由性能度量确定器240确定的性能度量。

存储单元207可以包括以下详细描述的一个或多个组件,这些组件被实现为可执行文件、库、静态库、函数或任何其它可执行组件。

在一些示例性实施例中,数据获得器210可以被配置为获得训练数据集、基线数据集、生产数据集等。可以从诸如存档、服务器等之类的存储库获得数据集。附加地或备选地,可以使用诸如相机、麦克风、x射线照相机之类的传感器来获得数据集。包括数据集的数据可以是未分类的、已分类的等。在一些示例性实施例中,数据获得器210可以获得诸如用于训练和测试预测器250的标记数据、诸如在生产中应用预测器250的非标记数据等。

在一些示例性实施例中,集群确定器220可以被配置为基于数据集来确定聚类。附加地或备选地,集群确定器220可以被配置为将特征空间中的实例聚类到集群。附加地或备选地,集群确定器220可以被配置为确定在基线数据集上的集群。附加地或备选地,集群确定器220可以被配置为基于基线数据集来确定集群。基于基线数据集确定的集群也可以相对于生产数据集被装置200利用。在一些示例性实施例中,集群确定器220可以利用诸如k均值、均值移位聚类、聚集分层聚类之类的算法。在一些示例性实施例中,集群确定器220可以确定多组集群,诸如使用不同的算法来确定每组集群。

在一些示例性实施例中,分布确定器230可以被配置为确定在一组集群上的数据集的分布。在一些示例性实施例中,分布确定器230可以确定每个集群中的数据集的相对部分。在一些示例性实施例中,分布确定器230可以确定实例是否为集群的成员。通过在实例上枚举,可以计算每个集群的成员数,并且可以计算它们在实例总数中的比例。在一些示例性实施例中,分布确定器230可以被配置为确定在基线数据集上的集群的基线分布,例如在图1b的步骤150中确定的基线分布。附加地或备选地,分布确定器230可以被配置为确定在生产数据集上的集群的实际分布,例如在图1b的步骤180中确定的实际分布。

在一些示例性实施例中,性能度量确定器240可以被配置为计算预测器250的性能度量的测量。在一些示例性实施例中,性能度量确定器240可以被配置为针对每个集群计算测量。在一些示例性实施例中,可以基于集群中的实例的实际标签与由预测器250提供的实例的预测标签之间的差来计算测量。在一些示例性实施例中,性能度量确定器240可以被配置为使用基线数据集来计算测量。在一些示例性实施例中,性能度量确定器240可以利用诸如f1评分、准确性、r平方、均方根误差(rsme)之类的算法。在一些示例性实施例中,可以利用一个以上的性能度量,并且性能度量确定器240可以被配置为计算每个度量的测量。

预测器250可以被配置为估计实例的标签。在一些示例性实施例中,基于实例被聚类到的集群,预测器250可以估计实例的标签。在一些示例性实施例中,预测器250可以包括使用实例及其标签的训练数据集来训练的预测模型。在一些示例性实施例中,预测器250可以实施监督学习技术,例如但不限于支持向量机、线性回归、逻辑回归、朴素贝叶斯、线性判别分析、决策树,k最近邻近节点算法、神经网络、相似度学习等。

在一些示例性实施例中,数据漂移识别器260可以被配置为识别数据漂移、不利的数据漂移等。在一些示例性实施例中,数据漂移识别器260可以基于实际分布,基于基线分布,基于集群的性能度量测量等来识别不利的数据漂移。作为示例,考虑一种用于预测图像显示的是儿童还是成人的ml算法。对基线数据集进行聚类可产生两个集群:a和b。集群a的性能度量测量可以是90%,集群b的性能度量测量可以是95%。40%的基线实例可以聚类到集群a,45%的基线实例可以聚类到集群b。15%的基线可能尚未聚类。当获得生产数据集时,生产数据的实际分布可能导致41%的生产实例位于集群b中。由于集群b是模式集群(最常见的集群),因此其比例的降低可以指示数据漂移。附加地或备选地,由于集群b是表现最佳的集群,因此鉴于性能度量测量,其比例的降低可以指示预测器的总体性能度量测量的劣化。附加地或备选地,当获得生产数据集时,集群a的实际分布可以是60%,集群b的实际分布可以是25%,而15%的生产数据集不是任何集群的成员。结果,所估计的加权性能度量测量可以为约77.75%,而不是为78.75%的原始估计的加权性能度量测量。作为另一示例,如果不是集群的生产数据集的比例从15%增加到例如20%、25%、30%等,则可以识别数据漂移。附加地或备选地,可以基于具有相对低的性能度量测量的集群的比例增加(这种增加以具有相对高的性能度量测量的集群减少为代价)来识别不利的数据漂移。

现在参考图3a和3b,示出了根据所公开的主题的一些示例性实施例的数据和集群的图示。

图3a示出了2d特征空间。图3a所示的点表示基线实例。基于基线实例,确定集群310、集群320、集群330和集群340。基于集群中的实例的成员资格,可以计算分布。如实例345所例示的,某些实例可能不是任何集群的成员。在该示例中,只有一个这样的实例。

图3b示出了在同一2d特征空间中的生产实例。使用基于基线数据集确定的集群310、320、330、340。每个实例可以是一个或多个集群的成员。附加地或备选地,诸如360、370之类的实例可能不是任何集群的成员。如图所示,生产实例的实际分布与基线实例的分布(如图3a所示)显著地不同。在一些示例性实施例中,图3b可以示出相对于图3a所示的基线数据集的数据漂移。在一些示例性实施例中,鉴于不是任何集群的成员的实例的增加,数据漂移可以是不利的数据漂移。附加地或备选地,基于集群的性能度量测量,可以将数据漂移识别为不利的数据漂移。

现在参考图4,示出了根据所公开的主题的关于集群的信息。表400示出了预测模型的性能度量。表400示出了与4个集群a、b、c、d有关的信息。可以看出,20%的基线实例在集群a中,针对集群a计算了为90%的性能度量。类似地,集群b包括40%的基线实例,并且具有为95%的性能度量测量;集群c包括30%的基线实例,并且具有为80%的性能度量测量;集群d包括10%的基线实例,并且具有为75%的性能度量测量。可以基于表400(诸如通过计算这些集群的性能度量测量的加权平均值)来计算预测器的总体性能度量测量。在本示例中,相对于总体基线性能度量测量,加权平均值可以计算为90%·20%+95%·40%+80%·30%+75%·10%=87.5%。使用相对于生产数据集测量的集群的实际分布(即,集群a占30%,集群b占30%,集群c占20%和集群d占20%),可以计算实际的总体性能度量测量。在本示例中,加权平均值可以是90%·30%+95%·30%+80%·20%+75%·20%=86.5%。在一些示例性实施例中,超过预定阈值的减小可以被认为是不利的数据漂移。例如,超过0.5个百分点的减小可被视为不利的数据漂移。在本示例中,减小量为1个百分点,因此可被视为不利的数据漂移。附加地或备选地,阈值可以是相对阈值,诸如减小超过1%。在本示例中,减少量约为1.15%,因此可被视为不利的数据漂移。附加地或备选地,可以基于表现最佳的集群的比例减少来确定不利的数据漂移。在本示例中,集群b是表现最佳的集群,并且其中展示了从40%到30%的减少。超过预定阈值(例如,相对阈值或绝对阈值)的减少可被视为不利的数据漂移。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

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

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

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

本文使用的术语只是为了描述特定的实施例并且并非旨在限制本发明。如本文所使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定存在所声明的特征、整数、步骤、操作、元素和/或组件,但是并不排除存在或增加一个或多个其它特征、整数、步骤、操作、元素、组件和/或它们的组合。

以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的一个或多个方面的描述是示例性和描述性的,并非穷尽性的,并且也不限于所公开的发明形式。在不偏离本发明的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。

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