CN107203467A - 一种分布式环境下监督学习算法的基准测试方法和装置 - Google Patents
一种分布式环境下监督学习算法的基准测试方法和装置 Download PDFInfo
- Publication number
- CN107203467A CN107203467A CN201610158881.9A CN201610158881A CN107203467A CN 107203467 A CN107203467 A CN 107203467A CN 201610158881 A CN201610158881 A CN 201610158881A CN 107203467 A CN107203467 A CN 107203467A
- Authority
- CN
- China
- Prior art keywords
- data
- supervised learning
- learning algorithm
- benchmark
- benchmark test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 217
- 238000010998 test method Methods 0.000 title claims abstract description 7
- 238000012360 testing method Methods 0.000 claims abstract description 398
- 238000000034 method Methods 0.000 claims abstract description 73
- 238000012549 training Methods 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 39
- 238000002790 cross-validation Methods 0.000 claims description 29
- 238000009826 distribution Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 26
- 238000011156 evaluation Methods 0.000 claims description 24
- 238000013210 evaluation model Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 108091028043 Nucleic acid sequence Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3428—Benchmarking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种分布式环境下监督学习算法的基准测试方法和装置,其中的方法包括:获取根据基准测试中的输出数据所确定的第一基准测试结果;获取所述基准测试中的分布式性能指标,将所述分布式性能指标确定为第二基准测试结果;将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。本申请实施例提供了一种完善的、用于解决分布式环境下监督学习算法的基准测试问题的方案,可以协助技术人员对监督学习算法的性能进行准确、快速的评估。
Description
技术领域
本申请涉及机器学习技术领域,特别是涉及一种分布式环境下监督学习算法的基准测试方法和一种分布式环境下监督学习算法的基准测试装置。
背景技术
机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。
目前,机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。
在机器学习领域,监督学习、非监督学习以及半监督学习是三类研究比较多、应用比较广的机器学习技术,上述三种学习的简单描述如下:
监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。
非监督学习:直接对输入数据集进行建模,例如聚类。
半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。
按照部署结构的不同,监督学习被分为单机环境下的监督学习和分布式环境下的监督学习,分布式环境下的监督学习是指由处于不同物理位置的多个具备不同和/或相同物理结构的设备执行监督学习算法的一种监督学习解决方案。
由于分布式环境下的监督学习在设备部署上的复杂性,其在资源协调通信和消耗因素较多,这使得对于分布式环境下的监督学习算法的基准测试(benchmark),也就是,对分布式环境下的监督学习算法的性能进行评估的难度更大。
目前,针对分布式环境下监督学习算法的基准测试问题,还没有完整、有效的方案被提出。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种分布式环境下监督学习算法的基准测试方法和相应的一种分布式环境下监督学习算法的基准测试装置。
为了解决上述问题,本申请公开了一种分布式环境下监督学习算法的基准测试方法,所述方法包括:
获取根据基准测试中的输出数据所确定的第一基准测试结果;
获取所述基准测试中的分布式性能指标,将所述分布式性能指标确定为第二基准测试结果;
将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。
优选地,所述获取根据基准测试中的输出数据所确定第一基准测试结果之前,所述方法还包括:
确定待测试监督学习算法;
按照评估模型对所述待测试监督学习算法进行基准测试得到输出数据;
根据基准测试中的输出数据确定第一基准测试结果。
优选地,所述按照评估模型对所述待测试监督学习算法进行基准测试得到输出数据,包括:
按照交叉验证模型对所述待测监督学习算法进行基准测试得到输出数据;或者,
按照标记Label按比例分配模型对所述待测监督学习算法进行基准测试得到输出数据;或者,
按照交叉验证模型和Label按比例分配模型分别对所述待测监督学习算法进行基准测试得到输出数据。
优选地,所述按照交叉验证模型对所述待测试监督学习算法进行基准测试得到输出数据,包括:
取一测试数据样本;
将所述测试数据样本中的数据等分为N份;
对所述N份数据执行M轮基准测试;其中,
在每一轮基准测试中,包括以下步骤:
将所述N份数据中的N-1份确定为训练数据,其余一份确定为预测数据,其中,M轮基准测试中,每一份数据仅有一次被确定为预测数据的机会,其中,所述M、N为正整数;
将所确定的N-1份训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
将所确定的一份预测数据中的输入数据提供给所述函数,得出输出数据。
优选地,所述按照Label按比例分配模型对所述待测试监督学习算法进行基准测试得到输出数据,包括:
取一测试数据样本,所述测试数据样本包括:具备第一标记的数据和具备第二标记的数据;
分别将所述测试数据样本中具备第一标记的数据和具备第二标记的数据等分为N份;
对所述等分后得到的2N份数据执行M轮基准测试;其中,
在每一轮基准测试中包括以下步骤:
将所述N份具备第一标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,同时,将所述N份具备第二标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,其中,所述M、N为正整数;
将所确定的具备第一标记和第二标记的训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
将所确定的具备第一标记和第二标记的预测数据中的输入数据提供给所述函数,得到输出数据。
优选地,所述第一基准测试结果包括以下指标至少其中之一:判断为真的正确率TP、判断为假的正确率TN、误报率FP及漏报率FN、精度Precision、召回率Recall及准确度Accuracy;
所述第二基准测试结果包括以下指标至少其中之一:待测试监督学习算法对处理器的使用情况CPU、待测试监督学习算法对内存的使用情况MEM、待测试监督学习算法的迭代次数Iterate及待测试监督学习算法的使用时间Duration。
优选地,所述得到基准测试总结果后,所述方法还包括:
根据所述第一基准测试结果确定F1得分;以及,通过以下方式对所述待测试监督学习算法进行性能评估:
当F1得分相同或者接近时,待测试监督学习算法的Iterate值越小则确定待测试监督学习算法性能越好;或者,
当F1指标相同时,待测试监督学习算法的CPU、MEM、Iterate及Duration值越小,则确定待测试监督学习算法性能越好。
为了解决上述问题,本申请还公开了一种分布式环境下监督学习算法的基准测试装置,所述装置包括:第一基准测试结果获取模块、指标获取模块、第二基准测试结果确定模块及基准测试总结果确定模块;其中,
所述第一基准测试结果获取模块,用于获取根据基准测试中的输出数据所确定的第一基准测试结果;
所述指标获取模块,用于获取所述基准测试中的分布式性能指标;
所述第二基准测试结果确定模块,用于将所述分布式性能指标确定为第二基准测试结果;
所述基准测试总结果确定模块,用于将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。
优选地,所述装置还包括:
确定模块,用于在所述第一基准测试结果获取模块获取根据基准测试中的输出数据所确定第一基准测试结果之前,确定待测试监督学习算法;
所述基准测试模块,用于按照评估模型对所述待测试监督学习算法进行基准测试得到输出数据;
所述第一基准测试结果确定模块,用于根据基准测试中的输出数据确定第一基准测试结果。
优选地,所述基准测试模块,用于按照交叉验证模型对所述待测监督学习算法进行基准测试;或者,按照标记Label按比例分配模型对所述待测监督学习算法进行基准测试;或者,按照交叉验证模型和Label按比例分配模型分别对所述待测监督学习算法进行基准测试得到输出数据;其中,
所述基准测试模块,包括:第一基准测试子模块和第二基准测试子模块;其中,
所述第一基准测试子模块,用于按照交叉验证模型或标记Label按比例分配模型对所述待测监督学习算法进行基准测试;
所述第二基准测试子模块,用于按照交叉验证模型或标记Label按比例分配模型对所述待测监督学习算法进行基准测试。
优选地,所述第一基准测试子模块,包括:
第一取数据单元,用于取一测试数据样本;
第一等分单元,用于将所述测试数据样本中的数据等分为N份;
第一确定单元,用于在每一轮基准测试中,将所述N份数据中的N-1份确定为训练数据、其余一份确定为预测数据,其中,M轮基准测试中,每一份数据仅有一次被确定为预测数据的机会,M、N为正整数;
第一提供单元,用于在每一轮基准测试中,将所确定的N-1份训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
第二提供单元,用于在每一轮基准测试中,将所确定的一份预测数据中的输入数据提供给所述函数,得出输出数据。
优选地,所述第二基准测试子模块,包括:
第二取数据单元,用于取一测试数据样本,所述测试数据样本包括:具备第一标记的数据和具备第二标记的数据;
第二等分单元,用于分别将所述测试数据样本中具备第一标记的数据和具备第二标记的数据等分为N份;
第二确定单元,用于在每一轮基准测试中,将所述N份具备第一标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,同时,将所述N份具备第二标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,其中,M、N为正整数;
第三提供单元,用于在每一轮基准测试中,将所确定的具备第一标记和第二标记的训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
第四提供单元,用于在每一轮基准测试中,将所确定的具备第一标记和第二标记的预测数据中的输入数据提供给所述函数,得出输出数据。
优选地,所述第一基准测试结果包括以下指标至少其中之一:
判断为真的正确率TP、判断为假的正确率TN、误报率FP、漏报率FN、精度Precision、召回率Recall及准确度Accuracy;
所述第二基准测试结果包括以下指标至少其中之一:待测试监督学习算法对处理器的使用情况CPU、待测试监督学习算法对内存的使用情况MEM、待测试监督学习算法的迭代次数Iterate及待测试监督学习算法的使用时间Duration。
优选地,所述装置还包括:
性能评估模块,用于根据所述第一基准测试结果确定F1得分;以及,通过以下方式对所述待测试监督学习算法进行性能评估:
当F1得分相同或者接近时,待测试监督学习算法的迭代次数越小则确定待测试监督学习算法性能越好;或者,
当F1指标相同时,待测试监督学习算法的CPU、MEM、Iterate及Duration值越小,则确定待测试监督学习算法性能越好。
本申请实施例包括以下优点:
本申请实施例获取根据基准测试中的输出数据所确定的第一基准测试结果,以及,获取基准测试中的分布式性能指标得到第二基准测试结果,然后,通过合并所述第一基准测试结果和第二基准测试结果,使得合并后得到的基准测试总结果包含了不同维度的性能分析指标。由于多维度的性能指标能够最大程度地表现算法的运行性能,因此,本领域技术人员通过分析该不同维度的基准测试结果就能够对分布式环境下的监督学习算法进行全面、准确地性能评估,避免了性能指标单一所带来的评估误差。
进一步的,由于第二基准测试结果中包含了从分布式系统中所获取的分布式性能指标,而这些分布式性能指标能够准确反映分布式系统在运行监督学习算法时系统当前的硬件消耗信息,因此,通过对这些分布式性能指标和第一基准测试结果进行综合分析,即可对当前分布式系统运行算法时的性能状况进行准确、快速地判断,克服了现有技术中,由于不具备对分布式环境下的监督学习算法进行基准测试的完整方案而无法对分布式环境下的监督学习算法进行基准测试的问题。
附图说明
图1是根据本申请一个方法实施例提供的一种分布式环境下监督学习算法的基准测试方法实施例的步骤流程图;
图2是根据本申请一个方法实施例提供的一种分布式环境下监督学习算法的基准测试方法实施例的步骤流程图;
图3是根据本申请一个装置实施例提供的一种分布式环境下监督学习算法的基准测试装置实施例的结构框图;
图4是根据本申请一个装置实施例提供的一种分布式环境下监督学习算法的基准测试装置实施例的结构框图;
图5是根据本申请一个装置实施例提供的一种分布式环境下监督学习算法的基准测试装置实施例的结构框图;
图6是根据本申请一个示例提供的一种分布式环境下监督学习算法的基准测试方法实施例的对每一轮基准测试过程中数据类型划分的逻辑顺序示意图;
图7是根据本申请一个示例提供的一种分布式环境下监督学习算法的基准测试系统的结构图;
图8是本申请一个实施例提供的一种采用交叉验证模型和Label按比例分配模型进行进行Benchmark基准测试实施例的业务流程图;
图9是根据本申请一个示例提供的一种分布式环境下监督学习算法的处理流程图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在资源使用方面,分布式环境下的监督学习和传统的单机环境下的监督学习的区别在于分布式环境下监督学习的资源不易被计算统计,以一份128M的训练数据为例,在单机环境下计算执行监督学习算法过程中cpu和内存的消耗很容易,然而,在分布式环境下执行监督学习算法时,所有计算资源由若干台机器上所产生的数据结果组成。
以5台2核4G内存的机器集群为例,其总资源为10核、20G。假设一个监督学习算法的训练数据为128M,这128M的训练数据在训练阶段会发生数据膨胀,分布式环境下可以根据数据大小对数据进行切片从而进行资源的申请,比如,训练数据膨胀到了1G,以256M数据一个实例(instance)来计算,则需要4个instance来完成这个算法任务。假设,为每个instance去动态申请CPU和内存,在分布式环境下4个instance同时运行,加上分布式情况下各种资源间相互协调,最终,该任务消耗的cpu、内存需要同时计算4个instance下的资源消耗,而各个instance下的资源消耗是不容易被统计的。
针对分布式环境下资源消耗不易统计的这一问题,本申请实施例的核心构思之一在于,获取根据基准测试中的输出数据所确定的第一基准测试结果;获取所述基准测试中的分布式性能指标,将所述分布式性能指标确定为第二基准测试结果;将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。
方法实施例一
参照图1,示出了本申请的一种分布式环境下监督学习算法的基准测试(benchmark)方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101、获取根据基准测试中的输出数据所确定的第一基准测试结果;
基于基准测试过程中所获得的输出数据,可以确定第一基准测试结果,该第一基准测试结果是对所述输出数据进行分析而获得的分析结果。
具体应用中,所述第一基准测试结果可以包括以下性能指标至少其中之一:判断为真的正确率(True Positives,TP)、判断为假的正确率(TrueNegative,TN)、误报率(False Positives,FP)、漏报率(False Negative,FN)、精度Precision、召回率Recall、准确率Accuracy。
步骤102、获取所述基准测试中的分布式性能指标,将所述分布式性能指标确定为第二基准测试结果;
具体的,在分布式环境下的监督学习算法基准测试过程中,所需要获取的分布式性能指标为对监督学习算法基准测试过程中所产生的硬件消耗信息,如,处理器使用情况CPU、内存使用情况MEM、算法迭代次数Iterate及算法使用时间Duration等等。
需要说明的是,在具体应用时,本领域技术人员还可根据实际所选择的不同评估模型确定上述第一基准测试结果和第二基准测试结果中所包含的性能指标,本申请对性能指标的内容不作限制。
步骤103、将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。
具体应用时,可将第一基准测试结果和第二基准测试结果中的各个性能指标数据以表格、图形、曲线等多种方式进行合并展示,例如,参见表1所示,是以评估维度表的形式对所述合并得到的基准测试总结果进行展示:
TP | FP | TN | FN | CPU | MEM | Iterate | Duration |
表1
容易理解的是,基准测试总结果无论以何种形式展现,其都能够从多个维度反映算法的性能指标信息,基于这些信息,具备专业知识的技术人员可以对这些信息进行分析,从而对待测试监督学习算法的性能进行评估。也就是说,本申请实施例一所提供的方法能够协助技术人员完成对监督学习算法的性能评估。
综上,本申请实施例获取根据基准测试中的输出数据所确定的第一基准测试结果,以及获取基准测试中的分布式性能指标得到第二基准测试结果,然后,通过合并所述第一基准测试结果和第二基准测试结果,使得合并后得到的基准测试总结果包含了不同维度的性能分析指标,由于多维度的性能指标能够最大程度地表现算法的运行性能,因此,本领域技术人员通过分析该不同维度的基准测试结果就能够对分布式环境下的监督学习算法进行全面、准确地性能评估,避免了性能指标单一所带来的评估误差。
进一步的,由于第二基准测试结果中包含了从分布式系统中所获取的分布式性能指标,而这些分布式性能指标能够准确反映当分布式系统运行监督学习算法时系统当前的硬件消耗信息,因此,通过对这些分布式性能指标和第一基准测试结果进行综合分析,即可对当前分布式系统运行算法时的性能状况进行准确、快速地判断,克服了现有技术中,由于不具备对分布式环境下的监督学习算法进行基准测试的完整方案而无法对分布式环境下的监督学习算法进行基准测试的问题。
另外,基于本申请实施例提供的一种基准测试方法可以构建基准测试平台,该基准测试方法或平台能够基于对分布式环境下监督学习算法执行过程中所获取的输出数据和分布式性能指标进行分析,从而对分布式环境下的监督学习算法进行全面、准确地性能评估。
方法实施例二
参照图2,示出了本申请的一种分布式环境下监督学习算法的基准测试方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201、确定待测试监督学习算法;
具体的,在该步骤中需要确定出一个待测试监督学习算法,之后,对该待测试监督学习算法进行基准测试,从而对该待测试监督学习算法的性能进行评估。
由于机器学习技术的广泛应用,不同领域针对不同应用场景会产生各种各样的学习算法,而对不同学习算法的性能进行评估就成为了一项重要内容。
本申请实施例二所提供的方法,主要对分布式环境下的监督学习算法进行基准测试。
该步骤可以由用户进行选择,实际实现中,用户可以直接将某一监督学习算法提交至基准测试系统,则基准测试系统将接收到的监督学习算法确定为待测试监督学习算法;或者,用户在基准测试系统中的选择界面中选择需要被测试的监督学习算法,则基准测试系统将用户所选择的监督学习算法确定为待测试监督学习算法。
步骤202、按照评估模型对所述待测试监督学习算法进行基准测试得到输出数据;
这一步骤之前,需要预先设置评估模型,该模型具备对待测试监督学习算法进行基准测试的功能。
具体的,在算法评估领域,交叉验证模型和标记Label按比例分配模型是被广泛应用的两种模型,具备较高的准确度和算法稳定性,因此,本申请实施例选择这两种模型作为评估模型示例对本申请提供的方法进行描述;
即,在步骤202中,所述评估模型包括:交叉验证模型和/或标记Label按比例分配模型。
因此,所述按照评估模型对所述待测试监督学习算法进行基准测试,包括:
按照交叉验证模型对所述待测监督学习算法进行基准测试;或者,
按照标记Label按比例分配模型对所述待测监督学习算法进行基准测试;或者,
按照交叉验证模型和Label按比例分配模型分别对所述待测监督学习算法进行基准测试。
参照图8,图8示出的是本申请一个采用交叉验证模型和Label按比例分配模型进行Benchmark基准测试实施例的业务流程图。具体实现时,用户可根据需要选择上述两种模型中其中任意一种模型运行任务并得到展示结果。
在本申请的一个可选实施例中,所述按照交叉验证模型对所述待测试监督学习算法进行基准测试得到输出数据,包括以下步骤:
步骤一、取一测试数据样本;
具体的,测试数据样本通常为一实测数据样本,该数据样本中包括多条数据,每一条数据均包括输入数据和输出数据,而每一条数据中的输入和输出的值通常都为实际的监测值,也可以分别称为标准输入数据和标准输出数据。例如,某一个对房价进行预测的数据样本中,每一条数据的输入为房子大小,对应的输出为均价,其具体取值均为获取的真实值。
步骤二、将所述测试数据样本中的数据等分为N份;
步骤三、对所述N份数据执行M轮基准测试;
其中,在每一轮基准测试中,包括以下步骤:
将所述N份数据中的N-1份确定为训练数据、其余一份确定为预测数据,其中,M轮基准测试中,每一份数据仅有一次被确定为预测数据的机会,M、N为正整数;将所确定的N-1份训练数据提供给所述待测试监督学习算法进行学习得到一个函数;将所确定的一份预测数据中的输入数据提供给所述函数,得出输出数据。
下面通过一个具体应用示例对上述按照交叉验证模型对所述待测试监督学习算法进行基准测试的方法进行详细介绍:
假设,取一个包含1000条数据的测试数据样本1,按照预设规则,N=5,因此,基准测试系统首先将所述测试数据样本1中的数据等分为5份,分别为数据1、数据2、数据3、数据4及数据5,这样,每份包含200条数据;M值也为5,这样基准测试系统对所述5份数据进行5轮基准测试。
每轮基准测试中,需要对数据类型进行划分,具体的,N-1=4,因此,选择4份作为训练数据,1份作为预测数据。
图6为一种数据类型划分方法的示意图,如图6所示,每一行示出的是5份数据在一轮基准测试中的数据划分方式,其中,每一行中从左至右依次为数据1至数据5的划分方式;第一行中,数据1至数据4被划分为训练数据,数据5为预测数据;第二行中,数据1至数据3及数据5被划分为训练数据,数据4为预测数据;第三行中,数据1、数据2、数据4至数据5为训练数据,而数据3为预测数据;依次类推,第四行中,数据2为预测数据,其余为训练数据;第五行中,数据1为预测数据,其余为训练数据;对数据划分完成之后,需要对数据进行五轮基准测试,在每一轮基准测试中,将所确定的4份训练数据提供给待测试监督学习算法进行学习,得到一个函数(或者,也可称为模型),接下来,将剩余的一份预测数据中的输入数据提供给所述函数,就可以得到输出数据,该输出数据是使用所述函数对输入数据进行预测后得到的预测值;这样,五轮基准测试完成后,可以得到5组输出数据。
需要说明的是,五轮基准测试中,可以按照图6给出的方式中的逻辑顺序对每一轮基准测试过程中的数据类型进行划分,也可以按照其它逻辑顺序对基准测试过程中的数据类型进行划分,例如,将图6中自上至下的行与行之间的次序打乱,只要确保M轮基准测试中,每一份数据只有一次机会被确定为预测数据即可。
在本申请的另一可选实施例中,所述按照Label按比例分配模型对所述待测试监督学习算法进行基准测试得到输出数据,包括以下步骤:
步骤一、取一测试数据样本,所述测试数据样本包括:具备第一标记的数据和具备第二标记的数据;
需要说明的是,在该方案中,所述测试数据样本中包括且仅包括具备第一标记的数据和具备第二标记的数据,第一标记和第二标记是指基于某特定需要而用于对数据进行分类的标记,因此,该方案应用于包含两类数据的二分类场景下。
步骤二、分别将所述测试数据样本中具备第一标记的数据和具备第二标记的数据等分为N份;
步骤三、对所述N份数据执行M轮基准测试:
其中,在每一轮基准测试中,包括以下步骤:
将所述N份具备第一标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,同时,将所述N份具备第二标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,其中,M、N为正整数;将所确定的具备第一标记和第二标记的训练数据提供给所述待测试监督学习算法进行学习得到一个函数;将所确定的具备第一标记和第二标记的预测数据中的输入数据提供给所述函数,得出输出数据。
具体的,第一标记和第二标记只是用于对不同标记进行区分,并不用于限定。实际应用中,第一标记和第二标记可以使用不同的标记符号,例如,第一标记可以为1,第二标记为0;或者,第一标记为Y,第二标记为N等等。
下面通过一个应用示例对按照Label按比例分配模型对所述待测试监督学习算法进行基准测试的方法进行详细介绍:
Label按比例分配模型是根据label值进行分类,之后,对每个类型进行等比区分,然后再进行不同比例的组合去做训练。
假设,一个测试数据样本2包含1000条数据,其中,600条数据的label值为1、400条数据的label值为0。按照Label按比例分配模型可以把600条label值为1的数据分成10份,每份60个数据、将400条label为0的数据也分成10份,每份40个数据。所述测试数据样本2的划分方法如表2所示,其中,每一行代表一份数据,数据1至数据10代表10分Label值为1的数据,数据11至数据20代表10分Label值为0的数据。
表2
在进行基准测试时,基准测试系统可以将1份label值为1的数据和1份label值为0的数据确定为训练数据,将另外一份label值为1和label值为0的数据确定为预测数据、或者将一份以上label值为1和label值为0的数据确定为预测数据。
对数据划分完成之后,就可以对数据进行基准测试,假设M=4,则需要进四轮基准测试。在每一轮基准测试中,将所确定的训练数据提供给待测试监督学习算法进行学习,得到一个函数(或者,也可称为模型),接下来,将预测数据中的输入数据提供给所述函数,就可以得到输出数据,该输出数据是使用所述函数对输入数据进行预测后得到的预测值;这样,四轮基准测试完成后,可以得到四组输出数据。
相应的,所述按照交叉验证模型和Label按比例分配模型分别对所述待测监督学习算法进行基准测试,是指将测试数据样本分别按照交叉验证模型和Label按比例分配模型进行基准测试,这样,不同评估模型下,将得到一组输出数据,将这两组输出数据确定为整个基准测试过程的输出数据。
步骤203、获取根据基准测试中的输出数据所确定的第一基准测试结果;
具体的,通过基准测试获得输出数据以后,可以根据输出数据与标准输出数据,即,输入数据在测试数据样本中所对应的输出数据的偏差来确定多个参数指标,具体应用中,所述第一基准测试结果可以包括以下性能指标至少其中之一:TP、TN、FP、FN、Precision、Recall、Accuracy。
步骤204、获取所述基准测试中的分布式性能指标,将所述分布式性能指标确定为第二基准测试结果;
具体的,基准测试系统中的系统性能检测模块能够在基准测试过程中获得各种分布式性能指标,这些分布式性能指标即为第二基准测试结果,具体的,所述分布式性能指标,包括以下指标至少其中之一:待测试监督学习算法对处理器的使用情况CPU、待测试监督学习算法对内存的使用情况MEM、待测试监督学习算法的迭代次数Iterate及待测试监督学习算法的使用时间Duration。
步骤205、将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。
在对待测试监督学习算法进行基准测试(也就是性能评估)时,需要结合第一基准测试结果和第二基准测试结果来进行综合分析。
因此,可以在获得第一基准测试结果和第二基准测试结果之后,将这两种基准测试结果合并,生成这些结果所对应的列表,并将该列表通过显示屏显示给用户,当用户为具备算法评估分析能力的技术人员时,可以直接根据列表中所呈现的数据进行综合分析,从而对待测试监督学习算法的性能进行评估。
一个示例性的基准测试总结果列表如下:
TP | FP | TN | FN | Precision | Recall | Accuracy | CPU | MEM | Iterate | Duration |
表3
该列表可以包括一行或多行输出结果,每一行输出结果对应一轮基准测试所确定的第一基准测试结果和第二基准测试结果;或者,每一行输出结果对应对多轮基准测试综合分析后所确定的第一基准测试结果和第二基准测试结果。
步骤206、根据所述基准测试结果对所述待测试监督学习算法进行性能评估。
具体的,所述根据所述基准测试结果对所述待测试监督学习算法进行性能评估,包括:
根据所述第一基准测试结果确定F1得分;以及,通过以下方式对所述待测试监督学习算法进行性能评估:
当F1得分相同或者接近时,待测试监督学习算法的迭代次数越小则待测试监督学习算法性能越好。依据这种方式可以直接对待测试监督学习算法的性能进行评估,也就是,在F1得分相同和相近时,确定待测试监督学习算法的迭代次数,而迭代次数越小的待测试监督学习算法被确定为性能更好。
其中,F1得分,即,F1 score,可以看作是算法准确率和召回率的一种加权平均,是用于评估待测试监督学习算法好坏的一个重要指标,其计算公式如下:
其中,precision和recall均为第一基准测试结果中的指标,具体的,precision为精度,recall为召回率。
因此,在这种性能评估方式中,只需要确定precision、recall及待测试监督学习算法的迭代次数的取值,即可对待测试监督学习算法的性能进行评估。
另外,也可以通过以下方式对所述待测试监督学习算法进行性能评估:
当F1指标相同时,待测试监督学习算法的CPU、MEM、Iterate及Duration值越小,则确定待测试监督学习算法性能越好。
上述方案中,也可以将基准测试结果和F1得分同时列表输出,方便技术人员查看和分析。一个示例性的列表如下:
F1 | TP | FP | TN | FN | Precision | Recall | Accuracy | CPU | MEM | Iterate | Duration |
表4
在本申请的另一种可选实施例中,对待测试监督学习算法进行性能评估之后,可以将性能评估结果发送给用户,具体的,可以将性能评估结果展示于显示界面之上,供用户查看,从而辅助用户进行算法性能评估。
在本申请的另一种可选实施例中,所述方法还包括:
判断F1得分的偏差是否合理,如果合理,确定基准测试成功;如果不合理,确定基准测试不成功,且向用户发送报警指示信息。由于F1得分是用于判断待测试监督学习算法性能的一个重要指标,在实际应用中,用户可以针对不同待测试监督学习算法预先设置F1得分的一个标准值,并设置偏差范围,当F1得分的偏差在用户设置的范围内,则确定基准测试成功,如果F1得分的偏差超出用户设置的范围,则确定基准测试不成功,用户可以重新进行测试。
综上,本申请实施例二所提供的方法,通过对基准测试总结果作进一步性能分析确定F1值,然后,可基于该F1值直接对监督算法在分布式环境下的运行性能做出判断并将判断结果提供给用户,使得本领域技术人员能够从输出结果中直观地获知监督学习算法在分布式环境下的运行性能,与上述实施例一相比,由于用户无需重新计算分析指标,因此减少了用户分析判断所需的时间,进一步提高了分析效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
装置实施例
参照图3,示出了本申请的一种分布式环境下监督学习算法的基准测试装置实施例的结构框图,具体可以包括:第一基准测试结果获取模块31、指标获取模块32、第二基准测试结果确定模块33及基准测试总结果确定模块34;其中,
所述第一基准测试结果确定模块31,用于根据所述基准测试中的输出数据确定第一基准测试结果;
所述指标获取模块32,用于获取所述基准测试中的分布式性能指标;
所述第二基准测试结果确定模块33,用于将所述分布式性能指标确定为第二基准测试结果;
所述基准测试总结果确定模块34,用于将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。
在本申请的一种可选实施例中,如图4所示,所述装置还包括:
确定模块35,用于在所述第一基准测试结果获取模块获取根据基准测试中的输出数据所确定第一基准测试结果之前,确定待测试监督学习算法;
所述基准测试模块36,用于按照评估模型对所述待测试监督学习算法进行基准测试得到输出数据;
所述第一基准测试结果确定模块37,用于根据基准测试中的输出数据确定第一基准测试结果。
具体的,所述基准测试模块36,用于按照交叉验证模型对所述待测监督学习算法进行基准测试;或者,按照标记Label按比例分配模型对所述待测监督学习算法进行基准测试;或者,按照交叉验证模型和Label按比例分配模型分别对所述待测监督学习算法进行基准测试得到输出数据;其中,
所述基准测试模块36,包括:第一基准测试子模块和第二基准测试子模块;其中,
所述第一基准测试子模块,用于按照交叉验证模型或标记Label按比例分配模型对所述待测监督学习算法进行基准测试;
所述第二基准测试子模块,用于按照交叉验证模型或标记Label按比例分配模型对所述待测监督学习算法进行基准测试。
具体的,所述第一基准测试子模块,包括:
第一取数据单元,用于取一测试数据样本;
第一等分单元,用于将所述测试数据样本中的数据等分为N份;
第一确定单元,用于在每一轮基准测试中,将所述N份数据中的N-1份确定为训练数据、其余一份确定为预测数据,其中,M轮基准测试中,每一份数据仅有一次被确定为预测数据的机会,M、N为正整数;
第一提供单元,用于在每一轮基准测试中,将所确定的N-1份训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
第二提供单元,用于在每一轮基准测试中,将所确定的一份预测数据中的输入数据提供给所述函数,得出输出数据。
具体的,所述第二基准测试子模块,包括:
第二取数据单元,用于取一测试数据样本,所述测试数据样本包括:具备第一标记的数据和具备第二标记的数据;
第二等分单元,用于分别将所述测试数据样本中具备第一标记的数据和具备第二标记的数据等分为N份;
第二确定单元,用于在每一轮基准测试中,将所述N份具备第一标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,同时,将所述N份具备第二标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,其中,M、N为正整数;
第三提供单元,用于在每一轮基准测试中,将所确定的具备第一标记和第二标记的训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
第四提供单元,用于在每一轮基准测试中,将所确定的具备第一标记和第二标记的预测数据中的输入数据提供给所述函数,得出输出数据。
具体的,所述第一基准测试结果包括以下指标至少其中之一:
判断为真的正确率TP、判断为假的正确率TN、误报率FP、漏报率FN、精度Precision、召回率Recall及准确度Accuracy;
所述第二基准测试结果包括以下指标至少其中之一:待测试监督学习算法对处理器的使用情况CPU、待测试监督学习算法对内存的使用情况MEM、待测试监督学习算法的迭代次数Iterate及待测试监督学习算法的使用时间Duration。
在本申请的另一种可选实施例中,如图5所示,所述装置还包括:性能评估模块38,用于根据所述第一基准测试结果确定F1得分;以及,用于通过以下方式对所述待测试监督学习算法进行性能评估:
当F1得分相同或者接近时,待测试监督学习算法的迭代次数越小则确定待测试监督学习算法性能越好;或者,
当F1指标相同时,待测试监督学习算法的CPU、MEM、Iterate及Duration值越小,则确定待测试监督学习算法性能越好。
其中,F1得分,即,F1 score,可以看作是算法准确率和召回率的一种加权平均,是用于评估待测试监督学习算法好坏的一个重要指标,其计算公式如下:
其中,precision和recall均为第一基准测试结果中的指标,具体的,precision为精度,recall为召回率。
在具体实施过程中,上述第一基准测试结果获取模块31、指标获取模块32、第二基准测试结果确定模块33、基准测试总结果确定模块34、确定模块35、基准测试模块36、第一基准测试结果确定模块37及性能评估模块38可以由基准测试系统内的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processing Unit)、数字信号处理器(DSP,Digital SignalProcessor)或可编程逻辑阵列(FPGA,Field-Programmable Gate Array)来实现。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
应用实例
图7为一种示例性的基准测试系统的结构图,该基准测试系统包括:任务新建模块71、任务拆分模块72、任务执行模块73、数据统计模块74、分布式指标采集模块75及数据存储模块76;其中,
所述任务新建模块71,用于根据用户指示建立基准测试任务;
具体的,用户确定待测试监督学习算法,从而建立针对该待测试监督学习算法的基准测试任务。
所述任务拆分模块72,用于对用户指示建立的基准测试任务进行拆分;
当用户所设置的待测试监督学习算法包括一种以上时,将每一种待测试监督学习算法拆分为一个基准测试任务。
所述任务执行模块73,用于对所述基准测试任务进行基准测试并生成测试数据;
所述数据统计模块74,用于通过统计生成的基准测试结果;
具体的,将集中测试过程中生成的测试数据合并得到集中测试结果。
所述分布式指标采集模块75,用于采集基准测试过程中所产生的分布式指标;
所述数据存储模块76,用于对所述基准测试结果和分布式指标进行存储。
其中,所述任务执行模块73,进一步包括:训练模块731、预测模块732及分析模块733;其中,所述训练模块731,用于将训练数据提供给所述待测试监督学习算法进行学习得到一个函数;所述预测模块732,用于将预测数据提供给所述函数,得到输出数据。所述分析模块733,用于根据所述输出数据生成测试数据。
基于上述基准测试系统,一种示例性的基准测试方法的步骤流程图如图9所示,该方法包括以下步骤:
步骤901、新建任务;
具体的,用户根据需要新建一个任务,该任务针对一特定监督学习算法,因此用户需要设置待测试的监督学习算法;
步骤902、执行任务;
具体的,按照交叉验证模型或者按比例分配模型对所述监督学习算法进行基准测试。
步骤903、生成基准测试总结果;
这里的基准测试总结果包括:对所述监督学习算法进行基准测试时根据测试数据所确定的基准测试结果和基准测试执行过程中所获取的分布式指标。
步骤904、确定F1得分;
具体的,根据所述基准测试结果确定F1得分。
步骤905、判断F1得分是否合理;当F1得分合理时,转至步骤906;当F1得分不合理时,转至步骤907;
步骤906、指示用户新建基准测试任务;
同时,指示用户上一个基准测试任务测试成功。
步骤907、指示基准测试任务失败;
具体的,向用户发出基准测试任务失败的指示消息。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入数据/输出数据接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种分布式环境下监督学习算法的基准测试方法和一种分布式环境下监督学习算法的基准测试装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种分布式环境下监督学习算法的基准测试方法,其特征在于,所述方法包括:
获取根据基准测试中的输出数据所确定的第一基准测试结果;
获取所述基准测试中的分布式性能指标,将所述分布式性能指标确定为第二基准测试结果;
将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。
2.根据权利要求1所述的方法,其特征在于,所述获取根据基准测试中的输出数据所确定第一基准测试结果之前,所述方法还包括:
确定待测试监督学习算法;
按照评估模型对所述待测试监督学习算法进行基准测试得到输出数据;
根据基准测试中的输出数据确定第一基准测试结果。
3.根据权利要求2所述的方法,其特征在于,所述按照评估模型对所述待测试监督学习算法进行基准测试得到输出数据,包括:
按照交叉验证模型对所述待测监督学习算法进行基准测试得到输出数据;或者,
按照标记Label按比例分配模型对所述待测监督学习算法进行基准测试得到输出数据;或者,
按照交叉验证模型和Label按比例分配模型分别对所述待测监督学习算法进行基准测试得到输出数据。
4.根据权利要求3所述的方法,其特征在于,所述按照交叉验证模型对所述待测试监督学习算法进行基准测试得到输出数据,包括:
取一测试数据样本;
将所述测试数据样本中的数据等分为N份;
对所述N份数据执行M轮基准测试;其中,
在每一轮基准测试中,包括以下步骤:
将所述N份数据中的N-1份确定为训练数据,其余一份确定为预测数据,其中,M轮基准测试中,每一份数据仅有一次被确定为预测数据的机会,其中,所述M、N为正整数;
将所确定的N-1份训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
将所确定的一份预测数据中的输入数据提供给所述函数,得出输出数据。
5.根据权利要求3所述的方法,其特征在于,所述按照Label按比例分配模型对所述待测试监督学习算法进行基准测试得到输出数据,包括:
取一测试数据样本,所述测试数据样本包括:具备第一标记的数据和具备第二标记的数据;
分别将所述测试数据样本中具备第一标记的数据和具备第二标记的数据等分为N份;
对所述等分后得到的2N份数据执行M轮基准测试;其中,
在每一轮基准测试中包括以下步骤:
将所述N份具备第一标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,同时,将所述N份具备第二标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,其中,所述M、N为正整数;
将所确定的具备第一标记和第二标记的训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
将所确定的具备第一标记和第二标记的预测数据中的输入数据提供给所述函数,得到输出数据。
6.根据权利要求1至5其中任一项所述的方法,其特征在于,所述第一基准测试结果包括以下指标至少其中之一:判断为真的正确率TP、判断为假的正确率TN、误报率FP及漏报率FN、精度Precision、召回率Recall及准确度Accuracy;
所述第二基准测试结果包括以下指标至少其中之一:待测试监督学习算法对处理器的使用情况CPU、待测试监督学习算法对内存的使用情况MEM、待测试监督学习算法的迭代次数Iterate及待测试监督学习算法的使用时间Duration。
7.根据权利要求1至5其中任一项所述的方法,其特征在于,所述得到基准测试总结果后,所述方法还包括:
根据所述第一基准测试结果确定F1得分;以及,通过以下方式对所述待测试监督学习算法进行性能评估:
当F1得分相同或者接近时,待测试监督学习算法的Iterate值越小则确定待测试监督学习算法性能越好;或者,
当F1指标相同时,待测试监督学习算法的CPU、MEM、Iterate及Duration值越小,则确定待测试监督学习算法性能越好。
8.一种分布式环境下监督学习算法的基准测试装置,其特征在于,所述装置包括:第一基准测试结果获取模块、指标获取模块、第二基准测试结果确定模块及基准测试总结果确定模块;其中,
所述第一基准测试结果获取模块,用于获取根据基准测试中的输出数据所确定的第一基准测试结果;
所述指标获取模块,用于获取所述基准测试中的分布式性能指标;
所述第二基准测试结果确定模块,用于将所述分布式性能指标确定为第二基准测试结果;
所述基准测试总结果确定模块,用于将所述第一基准测试结果和第二基准测试结果合并得到基准测试总结果。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
确定模块,用于在所述第一基准测试结果获取模块获取根据基准测试中的输出数据所确定第一基准测试结果之前,确定待测试监督学习算法;
所述基准测试模块,用于按照评估模型对所述待测试监督学习算法进行基准测试得到输出数据;
所述第一基准测试结果确定模块,用于根据基准测试中的输出数据确定第一基准测试结果。
10.根据权利要求9所述的装置,其特征在于,所述基准测试模块,用于按照交叉验证模型对所述待测监督学习算法进行基准测试;或者,按照标记Label按比例分配模型对所述待测监督学习算法进行基准测试;或者,按照交叉验证模型和Label按比例分配模型分别对所述待测监督学习算法进行基准测试得到输出数据;其中,
所述基准测试模块,包括:第一基准测试子模块和第二基准测试子模块;其中,
所述第一基准测试子模块,用于按照交叉验证模型或标记Label按比例分配模型对所述待测监督学习算法进行基准测试;
所述第二基准测试子模块,用于按照交叉验证模型或标记Label按比例分配模型对所述待测监督学习算法进行基准测试。
11.根据权利要求10所述的装置,其特征在于,所述第一基准测试子模块,包括:
第一取数据单元,用于取一测试数据样本;
第一等分单元,用于将所述测试数据样本中的数据等分为N份;
第一确定单元,用于在每一轮基准测试中,将所述N份数据中的N-1份确定为训练数据、其余一份确定为预测数据,其中,M轮基准测试中,每一份数据仅有一次被确定为预测数据的机会,M、N为正整数;
第一提供单元,用于在每一轮基准测试中,将所确定的N-1份训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
第二提供单元,用于在每一轮基准测试中,将所确定的一份预测数据中的输入数据提供给所述函数,得出输出数据。
12.根据权利要求10所述的装置,其特征在于,所述第二基准测试子模块,包括:
第二取数据单元,用于取一测试数据样本,所述测试数据样本包括:具备第一标记的数据和具备第二标记的数据;
第二等分单元,用于分别将所述测试数据样本中具备第一标记的数据和具备第二标记的数据等分为N份;
第二确定单元,用于在每一轮基准测试中,将所述N份具备第一标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,同时,将所述N份具备第二标记的数据中的一份确定为训练数据、并将剩余数据中的一份或多份确定为预测数据,其中,M、N为正整数;
第三提供单元,用于在每一轮基准测试中,将所确定的具备第一标记和第二标记的训练数据提供给所述待测试监督学习算法进行学习得到一个函数;
第四提供单元,用于在每一轮基准测试中,将所确定的具备第一标记和第二标记的预测数据中的输入数据提供给所述函数,得出输出数据。
13.根据权利要求8至12其中任一项所述的装置,其特征在于,所述第一基准测试结果包括以下指标至少其中之一:
判断为真的正确率TP、判断为假的正确率TN、误报率FP、漏报率FN、精度Precision、召回率Recall及准确度Accuracy;
所述第二基准测试结果包括以下指标至少其中之一:待测试监督学习算法对处理器的使用情况CPU、待测试监督学习算法对内存的使用情况MEM、待测试监督学习算法的迭代次数Iterate及待测试监督学习算法的使用时间Duration。
14.根据权利要求8至12其中任一项所述的装置,其特征在于,所述装置还包括:
性能评估模块,用于根据所述第一基准测试结果确定F1得分;以及,通过以下方式对所述待测试监督学习算法进行性能评估:
当F1得分相同或者接近时,待测试监督学习算法的迭代次数越小则确定待测试监督学习算法性能越好;或者,
当F1指标相同时,待测试监督学习算法的CPU、MEM、Iterate及Duration值越小,则确定待测试监督学习算法性能越好。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610158881.9A CN107203467A (zh) | 2016-03-18 | 2016-03-18 | 一种分布式环境下监督学习算法的基准测试方法和装置 |
TW106104936A TWI742040B (zh) | 2016-03-18 | 2017-02-15 | 分布式環境下監督學習算法的基準測試方法和裝置 |
PCT/CN2017/075854 WO2017157203A1 (zh) | 2016-03-18 | 2017-03-07 | 一种分布式环境下监督学习算法的基准测试方法和装置 |
US16/134,939 US20190019111A1 (en) | 2016-03-18 | 2018-09-18 | Benchmark test method and device for supervised learning algorithm in distributed environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610158881.9A CN107203467A (zh) | 2016-03-18 | 2016-03-18 | 一种分布式环境下监督学习算法的基准测试方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107203467A true CN107203467A (zh) | 2017-09-26 |
Family
ID=59850091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610158881.9A Pending CN107203467A (zh) | 2016-03-18 | 2016-03-18 | 一种分布式环境下监督学习算法的基准测试方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190019111A1 (zh) |
CN (1) | CN107203467A (zh) |
TW (1) | TWI742040B (zh) |
WO (1) | WO2017157203A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362492A (zh) * | 2019-07-18 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 人工智能算法测试方法、装置、服务器、终端及存储介质 |
CN110516896A (zh) * | 2018-05-22 | 2019-11-29 | 国际商业机器公司 | 向服务指派偏见评级 |
CN113392976A (zh) * | 2021-06-05 | 2021-09-14 | 清远市天之衡传感科技有限公司 | 一种量子计算系统性能监测方法及装置 |
CN113419941A (zh) * | 2021-04-01 | 2021-09-21 | 阿里巴巴新加坡控股有限公司 | 评估方法及装置、电子设备和计算机可读存储介质 |
US11138088B2 (en) | 2019-01-31 | 2021-10-05 | Hewlett Packard Enterprise Development Lp | Automated identification of events associated with a performance degradation in a computer system |
US11906580B2 (en) | 2018-12-07 | 2024-02-20 | Hewlett-Packard Development Company, L.P. | Automated overclocking using a prediction model |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11704610B2 (en) * | 2017-08-31 | 2023-07-18 | Accenture Global Solutions Limited | Benchmarking for automated task management |
US10949252B1 (en) * | 2018-02-13 | 2021-03-16 | Amazon Technologies, Inc. | Benchmarking machine learning models via performance feedback |
US11263484B2 (en) * | 2018-09-20 | 2022-03-01 | Innoplexus Ag | System and method for supervised learning-based prediction and classification on blockchain |
US11275672B2 (en) | 2019-01-29 | 2022-03-15 | EMC IP Holding Company LLC | Run-time determination of application performance with low overhead impact on system performance |
CN110262939B (zh) * | 2019-05-14 | 2023-07-21 | 苏宁金融服务(上海)有限公司 | 算法模型运行监控方法、装置、计算机设备和存储介质 |
CN111242314B (zh) * | 2020-01-08 | 2023-03-21 | 中国信息通信研究院 | 深度学习加速器基准测试方法和装置 |
CN111274821B (zh) * | 2020-02-25 | 2024-04-26 | 北京明略软件系统有限公司 | 一种命名实体识别数据标注质量评估方法及装置 |
CN114328166A (zh) * | 2020-09-30 | 2022-04-12 | 阿里巴巴集团控股有限公司 | Ab测试算法的性能信息获取方法、装置和存储介质 |
WO2022136904A1 (en) * | 2020-12-23 | 2022-06-30 | Intel Corporation | An apparatus, a method and a computer program for benchmarking a computing system |
JP7176158B1 (ja) * | 2021-06-30 | 2022-11-21 | 楽天グループ株式会社 | 学習モデル評価システム、学習モデル評価方法、及びプログラム |
TWI817237B (zh) * | 2021-11-04 | 2023-10-01 | 關貿網路股份有限公司 | 風險預測方法、系統及其電腦可讀媒介 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559303A (zh) * | 2013-11-15 | 2014-02-05 | 南京大学 | 一种对数据挖掘算法的评估与选择方法 |
CN104077218A (zh) * | 2013-03-29 | 2014-10-01 | 百度在线网络技术(北京)有限公司 | MapReduce分布式系统的测试方法及设备 |
CN104809063A (zh) * | 2015-04-24 | 2015-07-29 | 百度在线网络技术(北京)有限公司 | 分布式系统的测试方法及装置 |
CN105068934A (zh) * | 2015-08-31 | 2015-11-18 | 浪潮集团有限公司 | 一种用于云平台的基准测试系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381558B1 (en) * | 1998-12-18 | 2002-04-30 | International Business Machines Corporation | Alternative profiling methodology and tool for analyzing competitive benchmarks |
US8566803B2 (en) * | 2007-09-20 | 2013-10-22 | International Business Machines Corporation | Benchmark profiling for distributed systems |
US8359463B2 (en) * | 2010-05-26 | 2013-01-22 | Hewlett-Packard Development Company, L.P. | Selecting a configuration for an application |
TWI519965B (zh) * | 2013-12-26 | 2016-02-01 | Flexible assembly system and method for cloud service service for telecommunication application |
-
2016
- 2016-03-18 CN CN201610158881.9A patent/CN107203467A/zh active Pending
-
2017
- 2017-02-15 TW TW106104936A patent/TWI742040B/zh active
- 2017-03-07 WO PCT/CN2017/075854 patent/WO2017157203A1/zh active Application Filing
-
2018
- 2018-09-18 US US16/134,939 patent/US20190019111A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077218A (zh) * | 2013-03-29 | 2014-10-01 | 百度在线网络技术(北京)有限公司 | MapReduce分布式系统的测试方法及设备 |
CN103559303A (zh) * | 2013-11-15 | 2014-02-05 | 南京大学 | 一种对数据挖掘算法的评估与选择方法 |
CN104809063A (zh) * | 2015-04-24 | 2015-07-29 | 百度在线网络技术(北京)有限公司 | 分布式系统的测试方法及装置 |
CN105068934A (zh) * | 2015-08-31 | 2015-11-18 | 浪潮集团有限公司 | 一种用于云平台的基准测试系统及方法 |
Non-Patent Citations (3)
Title |
---|
SIDDHA GANJU: "基于Apache Spark的CERN大数据分析框架的评估", 《HTTPS://ZENODO.ORG/RECORD/31861/FILES/SUMMERSTUDENTREPORT-SIDDHA_GANJU.PDF?DOWNLOAD=1》 * |
周志华: "《机器学习》", 31 January 2016, 清华大学出版社 * |
李玉丹: "并行BP神经网络多模式分类模型的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516896A (zh) * | 2018-05-22 | 2019-11-29 | 国际商业机器公司 | 向服务指派偏见评级 |
CN110516896B (zh) * | 2018-05-22 | 2023-06-13 | 国际商业机器公司 | 向服务指派偏见评级 |
US11906580B2 (en) | 2018-12-07 | 2024-02-20 | Hewlett-Packard Development Company, L.P. | Automated overclocking using a prediction model |
US11138088B2 (en) | 2019-01-31 | 2021-10-05 | Hewlett Packard Enterprise Development Lp | Automated identification of events associated with a performance degradation in a computer system |
CN110362492A (zh) * | 2019-07-18 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 人工智能算法测试方法、装置、服务器、终端及存储介质 |
CN110362492B (zh) * | 2019-07-18 | 2024-06-11 | 腾讯科技(深圳)有限公司 | 人工智能算法测试方法、装置、服务器、终端及存储介质 |
CN113419941A (zh) * | 2021-04-01 | 2021-09-21 | 阿里巴巴新加坡控股有限公司 | 评估方法及装置、电子设备和计算机可读存储介质 |
CN113392976A (zh) * | 2021-06-05 | 2021-09-14 | 清远市天之衡传感科技有限公司 | 一种量子计算系统性能监测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017157203A1 (zh) | 2017-09-21 |
TWI742040B (zh) | 2021-10-11 |
US20190019111A1 (en) | 2019-01-17 |
TW201734841A (zh) | 2017-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203467A (zh) | 一种分布式环境下监督学习算法的基准测试方法和装置 | |
US10671933B2 (en) | Method and apparatus for evaluating predictive model | |
CN113792825B (zh) | 一种用电信息采集设备故障分类模型训练方法及装置 | |
CN106201871B (zh) | 基于代价敏感半监督的软件缺陷预测方法 | |
CN109447156B (zh) | 用于生成模型的方法和装置 | |
CN110764993A (zh) | 自动化测试方法及终端设备 | |
CN108491302B (zh) | 一种检测spark集群节点状态的方法 | |
CN109587008A (zh) | 检测异常流量数据的方法、装置及存储介质 | |
CN113010389A (zh) | 一种训练方法、故障预测方法、相关装置及设备 | |
CN106651574A (zh) | 一种个人信用评估方法及装置 | |
CN113127342B (zh) | 基于电网信息系统特征选择的缺陷预测方法及装置 | |
CN112785194B (zh) | 工作流程的推荐方法、装置、可读存储介质及电子设备 | |
CN116414815A (zh) | 数据质量检测方法、装置、计算机设备和存储介质 | |
Pang et al. | Early identification of vulnerable software components via ensemble learning | |
Nikolikj et al. | Sensitivity Analysis of RF+ clust for Leave-one-problem-out Performance Prediction | |
Wirawan et al. | Application of data mining to prediction of timeliness graduation of students (a case study) | |
CN116049733A (zh) | 基于神经网络的效能评估方法、系统、设备与存储介质 | |
US11520831B2 (en) | Accuracy metric for regular expression | |
CN106909497B (zh) | 测试方法和装置 | |
CN114510405A (zh) | 指标数据评估方法、装置、设备、存储介质及程序产品 | |
CN110427330B (zh) | 一种代码分析的方法以及相关装置 | |
CN111367781A (zh) | 一种实例处理方法及其装置 | |
KR102153810B1 (ko) | 다수의 레포지토리를 운영하는 프로젝트에서의 적시 결함 예측 장치 및 방법 | |
CN116775495A (zh) | 基于时间序列的软件测试方法、系统、存储介质及设备 | |
CN118171197A (zh) | 多标签分类评估方法及装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170926 |