CN113609361A - 一种基于Gaia系统的数据分类方法 - Google Patents
一种基于Gaia系统的数据分类方法 Download PDFInfo
- Publication number
- CN113609361A CN113609361A CN202110961564.1A CN202110961564A CN113609361A CN 113609361 A CN113609361 A CN 113609361A CN 202110961564 A CN202110961564 A CN 202110961564A CN 113609361 A CN113609361 A CN 113609361A
- Authority
- CN
- China
- Prior art keywords
- data
- matrix
- learning machine
- training sample
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- PFFIDZXUXFLSSR-UHFFFAOYSA-N 1-methyl-N-[2-(4-methylpentan-2-yl)-3-thienyl]-3-(trifluoromethyl)pyrazole-4-carboxamide Chemical compound S1C=CC(NC(=O)C=2C(=NN(C)C=2)C(F)(F)F)=C1C(C)CC(C)C PFFIDZXUXFLSSR-UHFFFAOYSA-N 0.000 title claims abstract description 64
- 230000008569 process Effects 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000012549 training Methods 0.000 claims description 92
- 239000011159 matrix material Substances 0.000 claims description 86
- 238000004364 calculation method Methods 0.000 claims description 53
- 230000006870 function Effects 0.000 claims description 42
- 238000006243 chemical reaction Methods 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 16
- 238000005096 rolling process Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 4
- 238000005457 optimization Methods 0.000 abstract description 12
- 238000005111 flow chemistry technique Methods 0.000 abstract description 6
- 230000004044 response Effects 0.000 abstract description 4
- 238000013528 artificial neural network Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000004927 fusion Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于Gaia系统的数据分类方法,所述方法基于超限学习机实现,Gaia系统由于其更新的底层流处理计算架构和多种全局优化与执行优化技术,相比于其他分布式计算系统具有更好的执行效率。在批处理模式下可实现海量吞吐,在流处理模式下可实现极速响应;另外,由于超限学习机是一种单隐层前馈神经网络,相比于其他的学习机具有更快的学习速度;将上述两种优势进行结合,可使得本发明实现更高效率的数据分类。再者通过构建的初始数据集UCollection自行判断判定启动批处理环境或流处理环境,用户在使用该学习机进行数据分类时可不用关心数据的类型与来源,只需关注对数据的处理过程即可,为用户的使用带来了极大的便利。
Description
技术领域
本发明属于分布式大数据计算系统及机器学习技术领域,具体涉及一种基于Gaia系统的数据分类方法。
背景技术
Gaia是一个面向多计算模型混合并存的高时效、可扩展的新一代大数据计算系统。该新型大数据计算系统针对批流混合任务具有全周期多尺度优化技术和统一计算引擎。现有大数据计算系统或依托自身计算引擎模拟另一类框架的行为,或定义一套通用接口屏蔽底层计算引擎的差异,对批流融合支持较弱。同时,其优化大多位于执行的特定时期或特定层级,且针对高复杂性任务的优化能力不足。针对以上问题,创新性地开发了基于统一计算引擎和全周期多尺度优化的高性能批流融合大数据计算引擎。该引擎为批流融合处理提供统一表达逻辑支持,通过统一表达建模融合批流处理的计算模型、数据模型、变换模型和动作模型,实现批、流处理的真正融合。针对作业的多样性、持久性、迭代性等特点,提供面向多作业、多任务、迭代计算、持久计算等优化策略,优化针对性更强。同时,提供执行前和执行中的全周期优化,并细分为作业级、任务级、变换级等多个尺度,以实现极速响应和海量吞吐。
超限学习机(简称ELM)是一种基于单隐层前馈神经网络的机器学习算法,具有超快的学习速度,同时又因其不存在大量迭代计算而具有很好的泛化能力。在当今数据量爆发的时代,将大量机器学习算法实现于分布式计算引擎之上也是一种必然的趋势,因此也诞生了大量基于Hadoop和Spark的ELM算法,使其能够支持对海量数据的学习。
虽然上述面向海量数据的分布式离线ELM算法对于图像识别、自动驾驶等新一代智能应用起到了巨大的贡献,然而现实的世界是一个不断变化的世界,海量数据也在不断地增加和更迭,因此对海量数据的在线学习也是同样重要的任务。然而,在目前的大数据计算引擎中,Hadoop主要针对大数据批处理,对于实时计算的性能较差;Spark引入了SparkStreaming支持流计算,但其本质是一种微批处理,实时计算性能也不是很好,尤其表现在延时方面;Storm是一种原生流计算系统,不支持大数据批处理;Flink虽然是目前新一代的“批流融合”计算系统,但对于批处理和流计算也分别需要定义两套接口,大大增加了开发的难度。综上所述,需要找到一套具有“高吞吐、低延时”的,从上层开发接口到底层计算引擎都支持“批流计算融合”的分布式计算系统来开发一套同时支持离线学习与在线学习功能的ELM框架,实现高精度、高效率的数据分类。
发明内容
基于上述问题,本发明提出一种基于Gaia系统的数据分类方法,包括:
步骤一:通过Gaia系统读取数据源构建初始数据集UCollection,所述数据源包括带有属性的训练样本矩阵x、T以及初始的随机赋值权重向量w;
步骤二:基于Gaia系统构建分布式超限学习机并利用初始数据集UCollection进行训练;
步骤三:通过Gaia系统读取用户输入的待分类数据集,利用训练后的分布式超限学习机输出数据的分类结果。
所述步骤二包括:
步骤1:对构建的初始数据集UCollection进行判断,如果初始数据集UCollection是有界的且只有一个来源,则一次性读取全部数据作为训练数据,并启动批数据处理环境进行训练;
步骤2:如果初始数据集是有界的且有多个来源,一次性读取全部增量训练样本矩阵(x1,x2…,xk)、(t1,t2…,tk),并启动批数据处理环境进行训练;
步骤3:如果初始数据集UCollection是无界的且有多个来源,在线持续输入增量训练样本矩阵,启动流数据处理环境,根据一定数量的增量训练样本进行训练;
步骤4:如果初始数据集UCollection是无界的且有多个来源,在线持续输入增量训练样本矩阵,启动流数据处理环境,根据一定的增量训练样本输入时间间隔进行训练。
所述步骤1包括:
步骤1.1:利用Gaia系统中的ParDo并行转换操作进行内积计算的第一步运算过程;
步骤1.2:利用Gaia系统中的GroupByKey转换操作进行内积计算的第二步运算过程,即将得到的每个乘积值发送到主节点中并进行求和操作,得到矩阵x与向量w进行内积运算的最终结果;
步骤1.3:利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,并得到矩阵H的转置矩阵HT;所述超限学习机的非线性映射函数表示为:
hi(x)=g(wi·x+bi) (1)
式中,wi表示第i个随机赋值权重向量,i=1,2,…,L,L为隐藏层的结点个数,bi表示偏移量,g(·)表示非线性映射函数;
步骤1.4:继续使用ParDo并行转换操作进行HTH内积计算和HTT内积计算的第一步运算过程,然后使用GroupByKey转换操作进行HTH内积计算和HTT内积计算的第二步运算过程,得到HTH内积和HTT内积计算的结果;
步骤1.5:利用公式(2)得到分布式超限学习机的输出权重β;
式中,I为单位矩阵,λ为根据岭回归理论引入的正值。
所述步骤2包括:
步骤2.1:使用ParDo并行转换操作,按照预设的并行度值n将一次性给定的增量训练样本矩阵(x1,x2…,xk)进行分组;
步骤2.2:对于分组后的矩阵,利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤2.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤2.4:根据H1,H2…,Hn,利用公式(3)、(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;
所述步骤3包括:
步骤3.1:使用ParDo并行转换操作,根据预设的并行度值n将持续输入的增量训练样本矩阵(x1,x2…,xk)进行分组,每组数据量的最大值标记为groupSize,其大小等于滚动窗口的大小;
步骤3.2:数据被分发至每个组后,利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤3.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤3.4:当n的值达到countSize后,使用Trigger操作对计算输出权重进行触发,读取H1,H2…,Hn;
步骤3.5:根据公式(3)、公式(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;
步骤3.6:重复步骤3.2~步骤3.5,计算每个增量训练样本产生的矩阵H,每当矩阵H的数量达到countSize后,都触发一次更新输出权重的过程。
所述步骤4包括:
步骤4.1:使用ParDo并行转换操作,根据预设的并行度值n将持续输入的增量训练样本矩阵(x1,x2…,xk)进行分组;
步骤4.2:当数据被分发至每个组后,利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤4.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤4.4:当时间达到预设时间间隔timeSize后,使用Trigger操作对计算输出权重进行触发,读取(H1,H2…,Hn);
步骤4.5:根据公式(3)、公式(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;
步骤4.6:重复步骤4.2~步骤4.5,计算每个增量训练样本产生的矩阵H,每当时间达到达到timeSize后,都触发一次更新输出权重的过程。
所述步骤1.1包括:
步骤1.1.1:将数据源表示为三元组形式,元素分别为行id、列id以及元素值;
步骤1.1.2:计算矩阵x与向量w中对应元素的乘积,得到内积计算的第一步运算结果。
本发明的有益效果是:
本发明提出了一种基于Gaia系统的数据分类方法,所述方法基于超限学习机实现,Gaia系统由于其更新的底层流处理计算架构和多种全局优化与执行优化技术,相比于其他分布式计算系统(如Hadoop、Spark、Flink等)具有更好的执行效率。在批处理模式下可实现海量吞吐,在流处理模式下可实现极速响应;另外,由于超限学习机是一种单隐层前馈神经网络,相比于其他的学习机(如SVM等)具有更快的学习速度;将上述两种优势进行结合,可使得本发明实现更高效率的数据分类。再者,由于Gaia系统是一种“批流融合”分布式计算系统,可通过构建的初始数据集UCollection自行判断判定启动批处理环境或流处理环境,因此用户在使用该学习机进行数据分类时可不用关心数据的类型与来源,只需关注对数据的处理过程即可,为用户的使用带来了极大的便利。
附图说明
图1为本发明中基于Gaia系统的数据分类方法流程图;
图2为本发明中基于Gaia系统的分布式超限学习机框图;其中,(a)为基于Gaia系统的分布式离线超限学习机整体框架;(b)为基于Gaia系统的分布式在线超限学习机整体框架;
图3为本发明中Gaia系统执行分布式离线超限学习机的过程;
图4为本发明中Gaia系统执行一次性输入全部增量训练数据的分布式在线超限学习机的过程;
图5为本发明中Gaia系统执行按一定的增量数据量输出更新后的输出权重的分布式在线超限学习机的过程;
图6为本发明中Gaia系统执行按一定的时间间隔输出更新后的输出权重的分布式在线超限学习机的过程。
具体实施方式
下面结合附图和具体实施实例对发明做进一步说明。针对现有分布式超限学习机框架的不足,提供一种基于Gaia系统的分布式超限学习机,能够有效支持分布式离线学习与在线学习,并使其中的算法具有较高的效率,利用该分布式超限学习机实现数据的分类。
本发明提出一种基于Gaia系统的数据分类方法,所述方法基于超限学习机实现,使用Gaia系统中的Unified API开发该框架,主要有以下两方面优势。第一,使用传统分布式计算系统开发融合离线学习与在线学习的框架时,往往需要两种计算引擎或两套接口(批处理接口、流计算接口),而Gaia系统中的Unified API是一种“批流融合”的开发接口,可以使开发人员在编写代码时无需关注被处理数据来源(离线、在线),极大简化了开发难度;第二,用户使用该框架时开发上层应用时,也只需关注对数据的处理过程,无需定义两套接口。
该框架由两部分组成,分别是面向海量离线大数据的分布式离线超限学习机,以及面向海量在线大数据的分布式在线超限学习机,分别适用于不同的训练数据输入方式。由于Gaia系统的底层为分布式流计算引擎,并将大数据批处理当作流处理的一种特殊情况,因此基于Gaia系统的分布式离线超限学习机将输入的训练数据当成一种有限的流数据进行处理,而基于Gaia系统的分布式在线超限学习机将输入的训练数据当成一种原生的流数据进行处理。
基于Gaia系统的分布式离线超限学习机整体框架如图2(a)所示。由于输入数据为海量离线数据,因此该学习机的计算过程可以转化为超大矩阵的分布式计算过程。其中,超大矩阵元素的乘积由Gaia系统的任务管理节点(TaskManager)进行分布式计算,元素乘积后的加和以及激活函数的计算过程由Gaia系统的作业管理节点(JobManager)进行计算。传统离线超限学习机的计算过程如下所示:
其中,x=[x1,x2,…xN]T和β=[β1,β2,…βL]T分别表示输入向量与输出权重向量,N为样本个数,L为隐藏层的结点个数,hi(x)=g(wi·x+bi)是超限学习机的非线性映射函数,也叫做激活函数。在本发明中,激活函数取Sigmoid函数。而传统离线超限学习机的目的就是求出最优的β值,使得||Hβ-T||=0,也就是Hβ=T。由于L值的大小远小于N,因此β的求值过程可以转化为其中为H的伪逆矩阵。为了使算法更加适用于分布式计算并提高其泛化能力,可以被更改为并引入值1/λ。因此,基于Gaia系统的分布式离线超限学习机的计算过程如下所示,其中I为单位矩阵:
基于Gaia系统的分布式在线超限学习机整体框架如图2(b)所示。其主要分为两个阶段,第一阶段为计算初始权重,其过程与传统离线超限学习机的计算过程相同,第二阶段为输出权重的更新过程,上述两种过程在分布式环境下均为超大矩阵计算过程。传统在线超限学习机的计算过程如公式3和公式4所示:
其中,H0可根据传统离线超限学习机的计算过程得到。这样,每次被更新的权重可根据上述两个公式得到。在分布式计算过程中,每个分组产生的H值由Gaia系统的任务管理节点(TaskManager)进行分布式计算,上述两个公式的计算过程由Gaia系统的作业管理节点(JobManager)进行计算。
基于上述原理,一种基于Gaia系统的数据分类方法,所述方法基于超限学习机实现,如图1所示,包括:
步骤一:Gaia系统对学习机作业进行管道Pipeline创建,读取数据源构建初始数据集Ucollection,所述数据源包括带有属性的训练样本矩阵x、T以及初始的随机赋值权重向量w;
步骤二:基于Gaia系统构建分布式超限学习机并利用初始数据集进行训练;包括:
步骤1:对构建的初始数据集UCollection进行判断,如果初始数据集UCollection是有界的且只有一个来源,则一次性读取全部数据作为训练数据,并启动批数据处理环境进行训练;学习机将按照公式(2)进行函数调用,计算输出权重,Gaia系统对上述计算的具体执行过程如图3所示,包括:
步骤1.1:利用Gaia系统中的ParDo并行转换操作进行内积计算的第一步运算过程;包括:
步骤1.1.1:将数据源表示为三元组形式,元素分别为行id、列id以及元素值;
步骤1.1.2:计算矩阵x与向量w中对应元素的乘积,得到内积计算的第一步运算结果,此过程是一个并行计算的过程,且矩阵w与矩阵x是分布式存储,因此矩阵的元素乘积是在不同的节点中进行;
步骤1.2:利用Gaia系统中的GroupByKey转换操作进行内积计算的第二步运算过程,即将得到的每个乘积值发送到主节点中并进行求和操作,得到矩阵x与向量w进行内积运算的最终结果,由于此步骤的计算量较少,因此无需进行并行计算操作;
步骤1.3:利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,并得到矩阵H的转置矩阵HT;所述超限学习机的非线性映射函数表示为:
hi(x)=g(wi·x+bi) (1)
式中,wi表示第i个随机赋值权重向量,i=1,2,…,L,L为隐藏层的结点个数,bi表示偏移量,g(·)表示非线性映射函数,在本发明中,激活函数取Sigmoid函数,即g(x)=1/(1+e-x);
步骤1.4:继续使用ParDo并行转换操作进行HTH内积计算和HTT内积计算的第一步运算过程,然后使用GroupByKey转换操作进行HTH内积计算和HTT内积计算的第二步运算过程,得到HTH内积和HTT内积计算的结果;
步骤1.5:利用公式(2)得到分布式超限学习机的输出权重β,将输出的权重值写入文件,最后将该文件保存至本地或HDFS中;
式中,I为单位矩阵,λ为根据岭回归理论引入的正值。
在图3中,每一个圆形代表一个操作,除了初始的读取数据Source外,均属于转换操作UTransform;每一个矩形代表一个数据集,在Gaia系统中被统称为UCollection;图中的箭头表示数据的流动过程。
基于Gaia系统的分布式在线超限学习机主要由步骤2-步骤4所示。其中,步骤2描述了增量训练样本数据一次性全部给入的情况。这些增量训练样本数据可以是多个数据源,且每个数据源中的数据量大小不同:通过Source API读取数据源,该数据源可以是本地数据,也可以是存储在Hadoop分布式文件系统HDFS中。构建初始数据集UCollection,启动批处理环境;所述的被读取的数据源分别是通过初始训练样本矩阵x、T、初始的随机赋值权重向量w计算出的中间结果M0、初始输出权重值β0,以及一次性给定的增量训练样本矩阵(x1,x2…,xk)、(t1,t2…,tk);
步骤2:如果初始数据集UCollection是有界的且有多个来源,则说明已有初始的输出权重,一次性读取全部增量训练样本矩阵(x1,x2…,xk)、(t1,t2…,tk),并启动批数据处理环境进行训练;学习机将按照公式(3)和公式(4)进行函数调用,计算更新的输出权重,Gaia系统对上述计算的具体执行过程如图4所示;包括:
步骤2.1:使用ParDo并行转换操作,按照预设的并行度值n将一次性给定的增量训练样本矩阵(x1,x2…,xk)进行分组;由于(x1,x2…,xk)本身以分布式的方式进行存储,因此直接使用公式hi(x)=g(wi·x+bi)得到存储在每个节点中的H值,标记为(H1,H2…,Hn)。其中,n的值等同于分布式计算设置的并行度的值;由于(x1,x2…,xk)中的每一个增量样本的数据量较小,计算w与x的内积的过程不使用分布式计算过程;
步骤2.2:对于分组后的矩阵,利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤2.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤2.4:根据H1,H2…,Hn,利用公式(3)、(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;最后,将输出的权重值写入文件,将该文件保存至本地或HDFS中;
这里要说明的是,虽然步骤1描述的过程属于离线学习过程,步骤2描述的过程属于在线学习过程,但在Gaia系统中均属于大数据批处理的过程。因为即使步骤2描述的过程引入了增量学习样本,但在数据输入的层面也属于离线数据。而接下来描述的步骤3与步骤4的计算过程属于大数据流计算的过程,因为增量训练数据样本是持续给入,且输入的结束时间未知,用户可以根据不同的方式得到最后的输出权重。另外,图4中每一个形状所表示的内容与图3描述的一致。
如果初始数据集是无界的且有多个来源,则说明是给定初始输出权重与增量训练数据的在线学习,且输入增量数据的结束时间未知。学习机将启动流数据处理环境,并按照公式(3)和公式(4)进行函数调用,计算输出权重;
继续判断用户想要得到被更新的输出权重的方式,如果用户想根据输入增量训练数据的数量更新输出权重,学习机将按照滚动窗口模式,依据用户设定的增量训练数据的数量更新输出的权重值。Gaia系统将根据用户设定的增量数据数量对执行公式(3)和公式(4)进行触发,其具体执行过程如图5所示;如果用户想根据输入增量训练数据的时间更新输出权重,学习机将按照时间窗口模式,依据用户设定的时间间隔更新输出的权重值。Gaia系统将根据用户设定的时间间隔对执行公式(3)和公式(4)进行触发,其具体执行过程如图6所示。
步骤3:如果初始数据集UCollection是无界的且有多个来源,则说明是给定初始输出权重与增量训练数据的在线学习,且输入增量数据的结束时间未知,在线持续输入增量训练样本矩阵,启动流数据处理环境,根据一定数量的增量训练样本进行训练,并按照公式(3)和公式(4)进行函数调用,计算输出权重;该步骤描述的是增量训练样本数据持续给入,且用户希望通过根据一定的增量训练样本数据量来更新输出权重的情况;通过SourceAPI读取数据源,所述的数据源包括与步骤2相同的数据,以及滚动窗口的大小,标记为countSize。构建初始数据集UCollection,启动流处理环境;所述的中间结果M0,以及初始输出权重值β0可以是本地数据,也可以是存储在Hadoop分布式文件系统HDFS中。由于增量训练样本的输入结束时间未知,因此所述的给定增量训练样本矩阵(x1,x2…,xk),以及(t1,t2…,tk)通过Apache Kafka输入;包括:
步骤3.1:使用ParDo并行转换操作,根据预设的并行度值n将持续输入的增量训练样本矩阵(x1,x2…,xk)进行分组,每组数据量的最大值标记为groupSize,其大小等于滚动窗口的大小/分布式计算设置的并行度的值;
步骤3.2:数据被分发至每个组后,利用超限学习机的非线性映射函数hi(x)=g(wi·x+bi)计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤3.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤3.4:当n的值达到countSize后,使用Trigger操作对计算输出权重进行触发,读取H1,H2…,Hn;
步骤3.5:根据公式(3)、公式(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;最后,将输出的权重值写入文件,将该文件保存至本地或HDFS中,删除已经得到的(H1,H2…,Hn);
步骤3.6:重复步骤3.2~步骤3.5,计算每个增量训练样本产生的矩阵H,每当矩阵H的数量达到countSize后,都触发一次更新输出权重的过程,即每当增量数据达到countSize,系统都会将更新后的输出权重值反馈给用户。
步骤4:如果初始数据集UCollection是无界的且有多个来源,在线持续输入增量训练样本矩阵,启动流数据处理环境,根据一定的增量训练样本输入时间间隔进行训练;该步骤描述的是增量训练样本数据持续给入,且用户希望通过根据一定的增量训练样本数据输入时间间隔来更新输出权重的情况;通过Source API读取数据源,所述的数据源包括与步骤2相同的数据,以及时间窗口的大小,标记为timeSize。构建初始数据集UCollection,启动流处理环境;所述的中间结果M0,以及初始输出权重值β0可以是本地数据,也可以是存储在Hadoop分布式文件系统HDFS中,由于增量训练样本的输入结束时间未知,因此所述的给定增量训练样本矩阵(x1,x2…,xk),以及(t1,t2…,tk)通过Apache Kafka输入;包括:
步骤4.1:使用ParDo并行转换操作,根据预设的并行度值n将持续输入的增量训练样本矩阵(x1,x2…,xk)进行分组;
步骤4.2:当数据被分发至每个组后,利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤4.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤4.4:当时间达到预设时间间隔timeSize后,使用Trigger操作对计算输出权重进行触发,读取(H1,H2…,Hn);
步骤4.5:根据公式(3)、公式(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;最后,将输出的权重值写入文件,将该文件保存至本地或HDFS中,删除已经得到的(H1,H2…,Hn);
步骤4.6:重复步骤4.2~步骤4.5,计算每个增量训练样本产生的矩阵H,每当时间达到达到timeSize后,都触发一次更新输出权重的过程,即每当时间间隔为timeSize时,系统都会将更新后的输出权重值反馈给用户。
步骤三:通过Gaia系统读取用户输入的待分类数据集,利用训练后的分布式超限学习机输出数据的分类结果。
使用Gaia系统中的Unified API开发本发明框架,通过仿真实验得出如下结论,本发明方法比于其他分布式计算系统(如Hadoop、Spark、Flink等)具有更好的执行效率。在批处理模式下可实现海量吞吐,在流处理模式下可实现极速响应;再者,由于Gaia系统是一种“批流融合”分布式计算系统,可通过构建的初始数据集UCollection自行判断判定启动批处理环境或流处理环境,因此用户在使用该学习机进行数据分类时可不用关心数据的类型与来源,只需关注对数据的处理过程即可,为用户的使用带来了极大的便利。
Claims (7)
1.一种基于Gaia系统的数据分类方法,其特征在于,包括:
步骤一:通过Gaia系统读取数据源构建初始数据集UCollection,所述数据源包括带有属性的训练样本矩阵x、T以及初始的随机赋值权重向量w;
步骤二:基于Gaia系统构建分布式超限学习机并利用初始数据集UCollection进行训练;
步骤三:通过Gaia系统读取用户输入的待分类数据集,利用训练后的分布式超限学习机输出数据的分类结果。
2.根据权利要求1所述的一种基于Gaia系统的数据分类方法,其特征在于,所述步骤二包括:
步骤1:对构建的初始数据集UCollection进行判断,如果初始数据集UCollection是有界的且只有一个来源,则一次性读取全部数据作为训练数据,并启动批数据处理环境进行训练;
步骤2:如果初始数据集UCollection是有界的且有多个来源,一次性读取全部增量训练样本矩阵(x1,x2…,xk)、(t1,t2…,tk),并启动批数据处理环境进行训练;
步骤3:如果初始数据集UCollection是无界的且有多个来源,在线持续输入增量训练样本矩阵,启动流数据处理环境,根据一定数量的增量训练样本进行训练;
步骤4:如果初始数据集UCollection是无界的且有多个来源,在线持续输入增量训练样本矩阵,启动流数据处理环境,根据一定的增量训练样本输入时间间隔进行训练。
3.根据权利要求2所述的一种基于Gaia系统的数据分类方法,其特征在于,所述步骤1包括:
步骤1.1:利用Gaia系统中的ParDo并行转换操作进行内积计算的第一步运算过程;
步骤1.2:利用Gaia系统中的GroupByKey转换操作进行内积计算的第二步运算过程,即将得到的每个乘积值发送到主节点中并进行求和操作,得到矩阵x与向量w进行内积运算的最终结果;
步骤1.3:利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,并得到矩阵H的转置矩阵HT;所述超限学习机的非线性映射函数表示为:
hi(x)=g(wi·x+bi) (1)
式中,wi表示第i个随机赋值权重向量,i=1,2,…,L,L为隐藏层的结点个数,bi表示偏移量,g(·)表示非线性映射函数;
步骤1.4:继续使用ParDo并行转换操作进行HTH内积计算和HTT内积计算的第一步运算过程,然后使用GroupByKey转换操作进行HTH内积计算和HTT内积计算的第二步运算过程,得到HTH内积和HTT内积计算的结果;
步骤1.5:利用公式(2)得到分布式超限学习机的输出权重β;
式中,I为单位矩阵,λ为根据岭回归理论引入的正值。
4.根据权利要求2所述的一种基于Gaia系统的数据分类方法,其特征在于,所述步骤2包括:
步骤2.1:使用ParDo并行转换操作,按照预设的并行度值n将一次性给定的增量训练样本矩阵(x1,x2…,xk)进行分组;
步骤2.2:对于分组后的矩阵,利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤2.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤2.4:根据H1,H2…,Hn,利用公式(3)、(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;
5.根据权利要求2所述的一种基于Gaia系统的数据分类方法,其特征在于,所述步骤3包括:
步骤3.1:使用ParDo并行转换操作,根据预设的并行度值n将持续输入的增量训练样本矩阵(x1,x2…,xk)进行分组,每组数据量的最大值标记为groupSize,其大小等于滚动窗口的大小;
步骤3.2:数据被分发至每个组后,利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤3.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤3.4:当n的值达到countSize后,使用Trigger操作对计算输出权重进行触发,读取H1,H2…,Hn;
步骤3.5:根据公式(3)、公式(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;
步骤3.6:重复步骤3.2~步骤3.5,计算每个增量训练样本产生的矩阵H,每当矩阵H的数量达到countSize后,都触发一次更新输出权重的过程。
6.根据权利要求2所述的一种基于Gaia系统的数据分类方法,其特征在于,所述步骤4包括:
步骤4.1:使用ParDo并行转换操作,根据预设的并行度值n将持续输入的增量训练样本矩阵(x1,x2…,xk)进行分组;
步骤4.2:当数据被分发至每个组后,利用超限学习机的非线性映射函数计算矩阵x的激活函数值hi(x)得到矩阵H,则n个分组分别计算得到n个矩阵H,标记为H1,H2…,Hn;
步骤4.3:使用GroupByKey转换操作,将每个H1,H2…,Hn分别发送到主节点中;
步骤4.4:当时间达到预设时间间隔timeSize后,使用Trigger操作对计算输出权重进行触发,读取(H1,H2…,Hn);
步骤4.5:根据公式(3)、公式(4)得到每一个增量训练样本输入后的更新权重,直至输入最后的增量训练样本,得到最终更新的输出权重;
步骤4.6:重复步骤4.2~步骤4.5,计算每个增量训练样本产生的矩阵H,每当时间达到达到timeSize后,都触发一次更新输出权重的过程。
7.根据根据权利要求3所述的一种基于Gaia系统的数据分类方法,其特征在于,所述步骤1.1包括:
步骤1.1.1:将数据源表示为三元组形式,元素分别为行id、列id以及元素值;
步骤1.1.2:计算矩阵x与向量w中对应元素的乘积,得到内积计算的第一步运算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110961564.1A CN113609361B (zh) | 2021-08-20 | 2021-08-20 | 一种基于Gaia系统的数据分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110961564.1A CN113609361B (zh) | 2021-08-20 | 2021-08-20 | 一种基于Gaia系统的数据分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609361A true CN113609361A (zh) | 2021-11-05 |
CN113609361B CN113609361B (zh) | 2023-11-14 |
Family
ID=78309061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110961564.1A Active CN113609361B (zh) | 2021-08-20 | 2021-08-20 | 一种基于Gaia系统的数据分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609361B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729431A (zh) * | 2013-12-26 | 2014-04-16 | 东北大学 | 具有增减量功能的海量微博数据分布式分类装置及方法 |
CN105184368A (zh) * | 2015-09-07 | 2015-12-23 | 中国科学院深圳先进技术研究院 | 一种分布式极限学习机优化集成框架方法系统及方法 |
CN109582963A (zh) * | 2018-11-29 | 2019-04-05 | 福建南威软件有限公司 | 一种基于极限学习机的档案自动分类方法 |
US20190295440A1 (en) * | 2018-03-23 | 2019-09-26 | Nutrino Health Ltd. | Systems and methods for food analysis, personalized recommendations and health management |
CN110908796A (zh) * | 2019-11-04 | 2020-03-24 | 北京理工大学 | 一种Gaia系统中的多作业合并与优化系统及方法 |
CN111242201A (zh) * | 2020-01-07 | 2020-06-05 | 北京师范大学 | 基于对抗生成网络的恒星光谱小样本分类方法 |
-
2021
- 2021-08-20 CN CN202110961564.1A patent/CN113609361B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729431A (zh) * | 2013-12-26 | 2014-04-16 | 东北大学 | 具有增减量功能的海量微博数据分布式分类装置及方法 |
CN105184368A (zh) * | 2015-09-07 | 2015-12-23 | 中国科学院深圳先进技术研究院 | 一种分布式极限学习机优化集成框架方法系统及方法 |
US20190295440A1 (en) * | 2018-03-23 | 2019-09-26 | Nutrino Health Ltd. | Systems and methods for food analysis, personalized recommendations and health management |
CN109582963A (zh) * | 2018-11-29 | 2019-04-05 | 福建南威软件有限公司 | 一种基于极限学习机的档案自动分类方法 |
CN110908796A (zh) * | 2019-11-04 | 2020-03-24 | 北京理工大学 | 一种Gaia系统中的多作业合并与优化系统及方法 |
CN111242201A (zh) * | 2020-01-07 | 2020-06-05 | 北京师范大学 | 基于对抗生成网络的恒星光谱小样本分类方法 |
Non-Patent Citations (2)
Title |
---|
KAREEM EL-BADRY等: "Birth of the ELMs: a ZTF survey for evolved cataclysmic variables turning into extremely low-mass white dwarfs", 《MONTHLY NOTICES OF THE ROYAL ASTRONOMICAL SOCIETY》, vol. 508, no. 3, pages 4106 * |
易兴松 等: "基于ASD和GaiaSky-mini的农田土壤重金属污染监测", 《生态学杂志》, vol. 37, no. 6, pages 1781 - 1788 * |
Also Published As
Publication number | Publication date |
---|---|
CN113609361B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446761B (zh) | 一种神经网络加速器及数据处理方法 | |
Ribeiro et al. | Mlaas: Machine learning as a service | |
CN106022521B (zh) | 基于Hadoop架构的分布式BP神经网络的短期负荷预测方法 | |
CN111461286B (zh) | 基于进化神经网络的Spark参数自动优化系统和方法 | |
CN113434548B (zh) | 一种基于Spark的大规模数据流分析方法及系统 | |
CN112948123B (zh) | 一种基于Spark的网格水文模型分布式计算方法 | |
CN110705716A (zh) | 一种多模型并行训练方法 | |
CN109657794B (zh) | 一种基于指令队列的分布式深度神经网络性能建模方法 | |
Ying et al. | Bluefog: Make decentralized algorithms practical for optimization and deep learning | |
CN113379070A (zh) | 一种深度学习框架转换方法、系统、存储介质及设备 | |
Guo et al. | Applying gated recurrent units pproaches for workload prediction | |
CN106407379A (zh) | 一种基于Hadoop平台的电影推荐方法 | |
CN110633417A (zh) | 一种基于服务质量的web服务推荐的方法及系统 | |
Mironov et al. | Comparison of object-oriented programming and data-oriented design for implementing trading strategies backtester | |
CN113609361A (zh) | 一种基于Gaia系统的数据分类方法 | |
Lee et al. | Communication-efficient parallelization strategy for deep convolutional neural network training | |
WO2023125857A1 (zh) | 基于机器学习框架系统的模型训练方法及相关设备 | |
CN116911459A (zh) | 适应于虚拟电厂的多输入多输出超短期电力负荷预测方法 | |
CN107257307A (zh) | 一种基于Spark的并行化遗传算法求解多终端协同接入网络方法 | |
Zhao et al. | Achieving real-time lidar 3d object detection on a mobile device | |
CN111160535A (zh) | 基于Hadoop的DGCNN模型加速方法 | |
CN115794405A (zh) | 一种基于SSA-XGboost算法的大数据处理框架的动态资源分配方法 | |
CN112214668B (zh) | 一种基于大数据的个性化金融服务推荐装置和方法 | |
Hou et al. | A task scheduling approach based on particle swarm optimization for the production of remote sensing products | |
CN112149826A (zh) | 深度神经网络推理计算中一种基于Profile图的优化方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |