异构系统并行随机森林优化方法和系统的制作方法

文档序号:9327555阅读:502来源:国知局
异构系统并行随机森林优化方法和系统的制作方法
【技术领域】
[0001]本发明涉及机器学习领域,尤指一种异构系统并行随机森林优化系统和方法。
【背景技术】
[0002]近年来,随着当今社会经济科技日新月异的发展,许多应用领域在迅速积累着大量的数据,对这些数据进行分析以发掘数据蕴含的信息,成为几乎所有领域的共同需求,而在实际应用中,机器学习在数据挖掘分析技术的作用日渐重要,受到了广泛的关注。
[0003]现有技术中,机器学习中最常用的分类方法就是采用随机森林算法,随机森林是一种有监督的集成学习分类技术,是通过大量分类树的汇总来提高模型的预测精度。正是由于它的这种设计使得随机森林算法对样本数据中的不正常数据和噪声等有很好的容忍性,对于数据比较复杂的分类问题有着较好的并行性和扩展性。
[0004]但是,采用现有技术,数据优化过程中寻找最优解时间比较长,在当前这个数据量以指数级增长的时代,显然对于超大数据的处理显得力不从心。

【发明内容】

[0005]为了解决上述技术问题,本发明提供了一种异构系统并行随机森林优化系统和方法,能够通过多个从节点对数据分片并行计算,从而加快了寻找最优解的时间,使得整个系统效率大幅提升,不需受限于网络带宽不足、内存容量小等情况,满足了高性能应用对于大规模数据进行处理的要求。
[0006]第一方面,本发明提供了一种异构系统并行随机森林优化系统,应用于中央处理器与协处理器混合异构集群,包括:一个主节点和多个从节点;
[0007]所述主节点用于将待计算的数据文件划分成多个数据分片,分别发送数据分片给各所述从节点,接收各所述从节点构建好的决策树生成随机森林;
[0008]所述从节点用于接收所述主节点分配的所述数据分片进行计算,将计算后的最优解构建决策树发送到所述主节点。
[0009]第二方面,本发明提供了一种异构系统并行随机森林优化方法,应用于异构系统并行随机森林优化系统,其特征在于,所述系统包括:一个主节点和多个从节点;
[0010]所述主节点调用将待计算的数据文件划分成多个数据分片,分别发送数据分片给各所述从节点,接收各所述从节点构建好的决策树生成随机森林;
[0011]所述从节点接收所述主节点分配的所述数据分片进行计算,将计算后的最优解构建决策树发送到所述主节点。
[0012]与现有技术相比,本发明提供了一种异构系统并行随机森林优化系统和方法,包括:一个主节点和多个从节点;其中,主节点用于将待计算的数据文件划分成多个数据分片,分别发送数据分片给各从节点,各从节点用于接收主节点分配的数据分片进行计算,将计算后的最优解构建决策树发送到主节点,从而生成随机森林,通过多个从节点对数据分片并行计算,从而加快了寻找最优解的时间,使得整个系统效率大幅提升,不需受限于网络带宽不足、内存容量小等情况,满足了高性能应用对于大规模数据进行处理的要求。
[0013]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0014]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0015]图1为本发明实施例提供的异构系统并行随机森林优化系统实施例一的结构示意图;
[0016]图2为本发明实施例提供的异构系统并行随机森林优化方法实施例一的流程示意图。
【具体实施方式】
[0017]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0018]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0019]本发明实施例涉及的异构系统并行随机森林优化系统,应用于中央处理器与协处理器混合异构集群,具体可以是计算机集群或者服务器集群上,其中协处理器可以是图形处理器(Graphics Processing Unit,简称:GPU)或者众核处理器(Intel Many IntegratedCore,简称:MIC卡),但并不以此为限。
[0020]本发明实施例涉及的系统和方法,旨在解决现有技术中采用随机森林的分类方法数据在优化过程中寻找最优解时间比较长,无法满足超大规模数据处理的技术问题。
[0021]下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0022]图1为本发明实施例提供的异构系统并行随机森林优化系统实施例一的结构示意图,如图1所示,该异构系统并行随机森林优化系统应用于中央处理器与协处理器混合异构集群,包括:一个主节点10和多个从节点20 ;
[0023]其中,所述主节点10用于将待计算的数据文件划分成多个数据分片,分别发送数据分片给各所述从节点20,接收各所述从节点20构建好的决策树生成随机森林。
[0024]所述从节点20用于接收所述主节点分配的所述数据分片进行计算,将计算后的最优解构建决策树发送到所述主节点10。
[0025]具体的,主节点10将待计算的数据文件划分成多个数据分片,一般数据文件为指数级超大规模数据,可以调用库函数划分的数据分片大小为16M到64M,具体可以根据子节点20的计算能力来确定,可以对各数据分片进行编号,用广播的方式将划分好的数据分片按照编号顺序分发到各从节点20上,但并不限于此。
[0026]—般来说从节点20设置越多,则处理大规模数据更准确,具体的可以根据需要处理的数据文件的大小来设置从节点20的数量,各从节点20接收主节点10分配得对应的数据分片后,各从节点20可以通过Bagging集成学习技术并行计算分配的数据分片,选择计算后的结果中的最优解分别构建决策树,其中,该最优解可以是求最小值,根据该最小值对应的数据分片构建决策树,并发送给主节点10进行随机森林的整合。
[0027]本发明实施例提供的异构系统并行随机森林优化系统,应用于中央处理器与协处理器混合异构集群,包括至少一个主节点和多个从节点,其中,主节点用于将待计算的数据文件划分成多个数据分片,分别发送数据分片给各从节点,各从节点用于接收主节点分配的数据分片进行计算,将计算后的最优解构建决策树发送到主节点,从而生成随机森林,本发明实施例通过多个从节点对数据分片并行计算,从而加快了寻找最优解的时间,使得整个系统效率大幅提升,不需受限于网络带宽不足、内存容量小等情况,满足了高性能应用对于大规模数据进行处理的要求。
[0028]进一步地,从节点20包括至少一个中央处理器210 (Central Processing Unit,简称:CPU)和多个协处理器 220 (Many Integrated Core,简称:MIC),
[0029]所述从节点20用于接收所述主节点10分配的所述数据分片,包括:所述中央处理器210接收所述数据分片,将所述数据分片划分为多个数据分片子集,分配相应的所述数据分片子集给各所述线程,分发线程给各所述协处理器220 ;
[0030]具体的,为了更好地说明本实施例,假设该从节点20包括一个中央处理器210和4块协处理器220,该中央处理器210将接收的数据分片划分为多个数据分片子集,可以根据这4块协处理器220的计算能力进行划分,分配相应的数据分配子集给各线程,并分发线程给各协处理器220,线程与协处理器220是一一对应的,如果有4个线程,则分发I个线程给一个协处理器220。
[0031]所述从节点20用于计算所述数据分片并将计算后的最优解构建决策树发送到所述主节点10,包括:所述协处理器220接收对应的线程获取相应的所述数据分片子集和初始值进行计算,根据计算后的结果获取最优分裂属性构建决策树发送给所述主节点10。
[0032]具体的,协处理器220接收对应的线程获取相应的所述数据分片子集和初始值,该数据分片子集为需要进行计算处理的数据集合,该初始值是指构建初始决策树需要的数据,这些数据可以随机产生,也可以固定的,计算过程可以采用几何估算法、曲线拟合法和分布函数法获取基尼(Gini)值的测算,根据计算后的Gini值,一般选择Gini值最小的作为最优分裂属性构建决策树。
[0033]进一步地,所述协处理器220用于接收对应的线程获取相应的所述数据分片子集和初始值进行计算之前,还包括:
[0034]所述主节点10向各所述从节点20分配进程,所述进程向所述从节点内所有设备发送调用请求进行计算的线程,接收各所述设备返回的调用请求进行计算的线程;其中,一个中央处理器作为一个设备,一块协处理器作为一个设备。
[0035]具体的,在协处理器220获取对应线程的数据分片子集和初始值进行计算之前,主节点20向各从节点20分配进程,该进程会向从节点20内的所有设备发送调用请求的线程,该调用请求包括资源、地址等信息的请求,并接收各所述设备返回调用请求的线程,根据该调用请求的线程,所述协处理器220可以获取到数据分片和初始值。每一个设备对应一个线程,其中,一个中央处理器可以作为一个设备,一块协处理器可以作为一个设备,所有设备的数量即为所有处理器设备和协处理器设备的和。
[0036]进一步地,所述中央处理器210用于划分数据分片为多个数据分片子集,是指:
[0037]所述中央处理器210按照所述协处理器220的数量将数据分片平均划分成多个数据分片子集。
[0038]具体的,为了更好地说明本实施例,假设有M个线程,中央处理器210会将接收到主节点10分发的数据分片,将所述数据分片平均划分成数据分片子集,所述数据分片子集则为1/M的数据分片,把每个数据分片子集分别发送给从节点20内的各个协处理器220,这样为
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1