当前位置: 首页 > 专利查询>伊姆西公司专利>正文

确定涉及大数据分析的随机性应用的正确性的方法和系统技术方案

技术编号:10416974 阅读:139 留言:0更新日期:2014-09-12 09:50
本发明专利技术提供一种确定应用正确性的方法,包括:获取用于所述应用的数据集和参考运行结果;基于所述数据集在所述应用上的实际运行结果与所述参考运行结果的比较,确定所述应用的正确性。通过该方法,使得QA人员能够连接到标准任务工具库,从而采用数据驱动的测试方法作为对现有质量保证架构的补充。

【技术实现步骤摘要】
用于确定应用正确性的方法和系统
本专利技术的实施方式一般地涉及质量保证领域,更具体地,涉及一种用于确定应用的正确性的方法和系统。
技术介绍
数据挖掘(Data Mining,DM)又称数据库中的知识发现(Knowledge Discovery inDatabase, KDD),是目前人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。随着数据挖掘技术的不断发展,涉及大数据分析(Big Data Analytics)的各种应用不断浮出水面。大数据分析为数据挖掘技术提供了基于诸如分类/集群分析、流送数据挖掘和文本挖掘的能力,因此,如何为涉及大数据分析的各种应用提供质量保证成为推进数据挖掘技术的关键技术之一。对于企业级产品/应用而言,可以通过功能测试和单元测试二者来确保产品/应用的质量。其一般方法是QA(品质保证)人员首先为待测试的功能或代码块设计(输入,输出)对,继而运行程序,并且最终验证实际输出和预期输出的一致性。然而,当应用涉及到与随机性有关的方法时,这一过程可能并不适合用于确定大数据分析中的一些复杂的应用的质量(正确性)确定。这是因为向算法馈送某些特定的输入时,并不存在确定的输出,相反,而是存在多个有可能但无法枚举的近似的输出。QA人员面临的问题可能包括:(I)如何生成大型的用于测试的数据;(2)如何定义/计算预期输出;以及(3)如何度量/定义成功。
技术实现思路
为了解决现有技术中存在的上述问题,本说明书提出如下方案。根据本专利技术的一个方面,提出一种确定应用正确性的方法,包括:获取用于所述应用的数据集和参考运行结果;以及基于所述数据集在所述应用上的实际运行结果与所述参考运行结果的比较,确定所述应用的正确性。在本专利技术的可选实现中,参考运行结果包括该数据集在与该应用针对相同问题的另一应用上的运行结果。在本专利技术的可选实现中,该数据集包括真实数据集。在本专利技术的可选实现中,该数据集和该参考运行结果从公共平台中获得。在本专利技术的可选实现中,该应用包括与随机性有关的应用。[0011 ] 在本专利技术的可选实现中,该比较以图形化方式输出。根据本专利技术的另一方面,提出一种确定应用正确性的装置,包括:获取装置,被配置为获取用于所述应用的数据集和参考运行结果;以及确定装置,被配置为基于所述数据集在所述应用上的实际运行结果与所述参考运行结果的比较,确定所述应用的正确性。在本专利技术的可选实现中,该参考运行结果包括该数据集在与该应用针对相同问题的另一应用上的运行结果。在本专利技术的可选实现中,该数据集包括真实数据集。在本专利技术的可选实现中,该数据集和该参考运行结果从公共平台中获得。在本专利技术的可选实现中,该应用包括与随机性有关的应用。在本专利技术的可选实现中,该比较以图形化方式输出。通过本专利技术的上述各种实现,可以对一些数据挖掘任务评估诸如分类准确性之类的模型性能。通过将应用的执行性能与在公开发布的可用数据集上的其它已证实现的执行性能之间的比较,可以保证应用的质量。【附图说明】通过参考附图阅读下文的详细描述,本专利技术实施方式的上述以及其他目的、特征和优点将变得明显。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中相同的参考标号表示相同或相似的元素。图1示出了涉及随机性方法的应用的示例;图2示出了根据本专利技术示例性实施方式的用于确定应用正确性的方法200的流程图;图3示出了根据本专利技术示例性实施方式的基于标准任务池的、确定应用正确性的系统的不意图300 ;图4示出了 了根据本专利技术示例性实施方式的用于确定应用正确性的装置图400。图5示出了适于用来实现本专利技术实施方式的示例性计算系统500的框图。【具体实施方式】下面将参考附图中示出的若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。如前所述,大数据分析是将海量规模的数据转换成可操作的洞察(insight)的过程。这与传统的诸如OLAP之类的商业智能的不同之处在于:后者仅关注于自主sql和报告。然而,大数据分析主张与复杂数据挖掘方法一起的深度分析。这些方法的复杂度源自于许多源,在这些源中,随机性是非常特别的一个。涉及随机性的方法具有这样的属性:即使对于固定输入,它们的不同运行也可能给出不同的输出。为了确保与大数据分析有关的技术应用的正确性,非常重要的一个方面是确保该应用所涉及的随机性方法的正确性。涉及随机性的方法(例如但不限于算法)大致可以包括如下几类:基于取样类的方法,例如MCMC(马可夫链蒙特卡罗)算法,以及LDA(Latent Dirichlet Allocation)算法;流化DM类的方法,例如滑动窗口算法;优化类的方法,例如EM算法和遗传算法;以及集成学习类的方法,例如随机森林算法和Bagging算法。如前所述,由于这些方法的随机性,难以保证涉及到这些方法的应用的质量。在针对传统软件系统的性能和特点来测试它们时,QA人员通常生成(输入,输出)形式的测试用例,其中,输出是给定输入的预期输出。如果实际输出等于预期输出,则宣称这些系统通过一个测试用例。如果考虑涉及随机化的数据挖掘方法时,则往往出现如下问题:首先,难以找到用于确定方法正确性的大型数据集。为了测试某一方法,需要生成/找到数据集。手动地生成大数据集是耗时的,并且有些手动生成的数据集太有规律性。真实的大数据集难以获得。其次,有时难以定义期望的输出。以涉及随机森林算法的应用为例(下文详细描述),其中随机森林算法的输出是大量(假定为100个)决策树。在一次运行中的这些树是不同的,并且由于随机性,一次运行也不同于另一次运行。因此QA人员不能提前预测期望的输出。第三,实际输出不可能与预期的期望输出相同。因此难以定义/度量测试的成功。以最大期望算法(Expection-Maximization algorithm, EM算法)为例,EM被用于在给定所观察的数据的情况下针对一些概率模型追寻最大似然性估计(maximum likelihoodestimation, MLE)。有可能受困于局部极值的是类登山算法(hi I lclimbing-1 ikealgorithm)。换言之,存在不止一个的有效输出。因此即使在实际输出不等于预期输出时,QA人员也不能宣称方法在这一测试用例中失败。实际上,在数据挖掘技术中存在大量涉及随机性的方法。例如K-Means和EM算法随机地选择初始的起始点,以便缓解局部极值的问题。遗传算法(Genetic algorithms)始于随机生成的个体种群,并且通过修改(重新组合或随机变异)当前一代的个体来生成下一代。在LDA的训练过程中,基于取样的方法一般在值根据某些分布而随机生成时使用。以随机森林为例来说明这类应用,随机森林是包括多个决策树的集成模型。图1示出了涉及随机森林的应用示例。该随机森林方法(算法)开始之后,对于每棵要构造的树(步骤S102),选择训练数据子集(即bootstrap取样,步骤S104)。在每个节点处停止条件满足时(步骤S106,是)计算预测的误差;而在停止条件不满足时(步骤S106,否)构建下一个分割本文档来自技高网...

【技术保护点】
一种确定应用正确性的方法,包括:获取用于所述应用的数据集和参考运行结果;以及基于所述数据集在所述应用上的实际运行结果与所述参考运行结果的比较,确定所述应用的正确性。

【技术特征摘要】
1.一种确定应用正确性的方法,包括: 获取用于所述应用的数据集和参考运行结果;以及 基于所述数据集在所述应用上的实际运行结果与所述参考运行结果的比较,确定所述应用的正确性。2.根据权利要求1所述的方法,其中,所述参考运行结果包括所述数据集在与所述应用针对相同问题的另一应用上的运行结果。3.根据权利要求1所述的方法,其中,所述数据集包括真实数据集。4.根据权利要求1所述的方法,其中,所述数据集和所述参考运行结果从公共平台中获得。5.根据权利要求1所述的方法,其中,所述应用包括与随机性有关的应用。6.根据权利要求1所述的方法,其中,所述比较以图形化方式输出。7.一种确定应用正...

【专利技术属性】
技术研发人员:周宝曜陈弢王天青陶隽向东曹逾
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1