CN106874941A - 一种分布式数据识别方法及系统 - Google Patents
一种分布式数据识别方法及系统 Download PDFInfo
- Publication number
- CN106874941A CN106874941A CN201710044724.XA CN201710044724A CN106874941A CN 106874941 A CN106874941 A CN 106874941A CN 201710044724 A CN201710044724 A CN 201710044724A CN 106874941 A CN106874941 A CN 106874941A
- Authority
- CN
- China
- Prior art keywords
- data
- identified
- neuron
- network model
- neural network
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种分布式数据识别方法及系统,所述方法包括:对所有待识别数据进行分割以形成多个数据块,所述数据块中包括用于训练的待识别数据和用于检测的待识别数据;MapReduce架构中的各个Map Function计算单元以并行的方式分别获取不同的所述数据块;所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练;在训练过程结束后,所述各个Map Function计算单元分别利用经过训练的所述神经网络模型对获取到的数据块中的用于检测的待识别数据进行识别以得到识别结果;所述MapReduce架构中的Reduce Function单元获取所述各个Map Function计算单元的所述识别结果,并对所有识别结果进行筛选以得到一个识别结果。
Description
技术领域
本发明涉及数据识别领域,具体涉及一种分布式数据识别方法及系统。
背景技术
在现代数据识别应用中,例如图像识别、手写文字辨识、系统模式辨识中,神经元网络算法已经被大量应用。而在多种神经元网络算法中,反向传播神经元网络(BackPropagation Neural Network,BPNN)又是应用最为广泛的一种算法。目前已经有数学证明给出明确结论,在一定数量的神经元和一定数量网络层的支持下,通过每个神经元中的线性部分和非线性部分的组合,该神经元网络可以以任意精度逼近任何连续函数。以上特性为BPNN的广泛应用奠定了坚实的基础。因为任何一种数据辨识应用的本质即为函数拟合,而BPNN的特性可以良好的适用数据辨识应用的需求。
典型结构的BPNN中包括输入层和输出层,输入层包含多个输入端,输出层包含多个输出端,BPNN中还包括多个神经元,神经元处于隐层中。在执行数据辨识中,待辨识数据从输入层输入,辨识结果从输出层输出。
但是在当前大数据应用的背景下,BPNN的先天缺陷导致其在大数据处理中的效率极为低下,主要原因为:作为有监督的启发式机器学习算法,BPNN需要对算法进行训练。而伴随数据体量增大,训练时间将大大变长,严重影响算法效率。
发明内容
因此,本发明要解决的技术问题在于克服现有的数据识别方法效率低缺陷。
有鉴于此,本发明提供一种分布式数据识别方法,包括:
对所有待识别数据进行分割以形成多个数据块,所述数据块中包括用于训练的待识别数据和用于检测的待识别数据;
MapReduce架构中的各个Map Function计算单元分别获取不同的所述数据块;
所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练;
在训练过程结束后,所述各个Map Function计算单元分别利用经过训练的所述神经网络模型对获取到的数据块中的用于检测的待识别数据进行识别以得到识别结果;
所述MapReduce架构中的Reduce Function单元获取所述各个Map Function计算单元的所述识别结果,并对所有识别结果进行筛选以得到一个识别结果。
优选地,所述对所有待识别数据进行分割以形成多个数据块,包括:
采用自助算法对所有待识别数据进行有放回抽样,以形成多个子样本集合,所述自助算法中的有放回次数与所述Map Function计算单元的数量相同;
分别对所述子样本集合中的待识别数据进行归一化处理以得到归一化待识别数据sk;
采用数据结构<instancek,targetk,type>分别将sk存储在多个数据块中,其中,instancek为sk,targetk为sk的训练目标,type为待识别数据的用途,所述用途包括训练用途和检测用途;
将所有数据块存储至分布式文件系统中。
优选地,所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练,包括:
各个Map Function计算单元分别从所述分布式文件系统中读取不同的数据块;
各个Map Function计算单元中的神经网络模型分别根据字段type确定sk的用途,对于训练用途的sk,则神经网络模型从输入层输入sk,针对每一层的神经元执行正向传递;
当正向传递执行至输出层后,正向传递过程结束,神经网络模型对训练数据sk进行反向传递;
各个Map Function计算单元针对每一训练用途的sk执行预定次数的正向传递和反向传递,直至所有训练用途的sk均被处理完毕。
优选地,所述针对每一层的神经元执行正向传递,包括:
在所述神经网络模型的每一个神经元内,其线性部分执行:
Ij=∑iwijoj′+θj,
其中Ij为线性部分输出,wij为该神经元权值,θj为该神经元偏移量,oj′为上一层神经元非线性部分输出;
在每一个神经元非线性部分,执行:
oj为非线性部分输出(也即每一个神经元输出至下一层神经元的输出),Ij为该神经元内的线性部分输出;
所述神经网络模型对训练数据sk进行反向传递,包括:
在所述神经网络模型的输出层执行:
Errj=oj(1-oj)(tj-oj),
Errj为输出层误差敏感度,tj为sk所对应的targetk;
在所述神经网络模型的隐层执行:
Errj=oj(1-oj)∑kErrkwkj,
Errk为隐层中反向传递过程中上一层的误差敏感度,wkj为反向过程中上一层神经元权重;在反向传递过程中,每一个神经元通过误差敏感度调整自身权值w和偏移量θ:Δwij=Errjoj,wij=wij+Δwij,Δθj=Errj,θj=θj+Δθj。
优选地,所述神经网络模型为反向传播神经元网络模型,所述各个Map Function计算单元在执行所述利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练的步骤之前,分别独立初始化本地的神经网络模型的参数,所述参数包括每一个神经元的权值w和偏移量θ。
相应地,本发明还提供一种分布式数据识别系统,包括:管理终端和多个计算终端,其中
所述管理终端用于对所有待识别数据进行分割以形成多个数据块,所述数据块中包括用于训练的待识别数据和用于检测的待识别数据;
所述计算终端用于启动MapReduce架构中的各个Map Function计算单元分别获取不同的所述数据块;所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练;在训练过程结束后,所述各个MapFunction计算单元分别利用经过训练的所述神经网络模型对获取到的数据块中的用于检测的待识别数据进行识别以得到识别结果;
所述管理终端还用于启动所述MapReduce架构中的Reduce Function单元获取所述各个Map Function计算单元的所述识别结果,并对所有识别结果进行筛选以得到一个识别结果。
优选地,所述管理终端用于采用自助算法对所有待识别数据进行有放回抽样,以形成多个子样本集合,所述自助算法中的有放回次数与所述Map Function计算单元的数量相同;分别对所述子样本集合中的待识别数据进行归一化处理以得到归一化待识别数据sk;采用数据结构<instancek,targetk,type>分别将sk存储在多个数据块中,其中,instancek为sk,targetk为sk的训练目标,type为待识别数据的用途,所述用途包括训练用途和检测用途;将所有数据块存储至分布式文件系统中。
优选地,所述多个计算终端用于分别启动各个Map Function计算单元分别从所述分布式文件系统中读取不同的数据块;各个Map Function计算单元中的神经网络模型分别根据字段type确定sk的用途,对于训练用途的sk,则神经网络模型从输入层输入sk,针对每一层的神经元执行正向传递;当正向传递执行至输出层后,正向传递过程结束,神经网络模型对训练数据sk进行反向传递;各个Map Function计算单元针对每一训练用途的sk执行预定次数的正向传递和反向传递,直至所有训练用途的sk均被处理完毕。
优选地,所述计算终端在所述神经网络模型的每一个神经元内,其线性部分执行:
Ij=∑iwijoj′+θj,
其中Ij为线性部分输出,wij为该神经元权值,θj为该神经元偏移量,oj′为上一层神经元非线性部分输出;
在每一个神经元非线性部分,执行:
oj为非线性部分输出(也即每一个神经元输出至下一层神经元的输出),Ij为该神经元内的线性部分输出;
所述计算终端在所述神经网络模型的输出层执行:
Errj=oj(1-oj)(tj-oj),
Errj为输出层误差敏感度,tj为sk所对应的targetk;
在所述神经网络模型的隐层执行:
Errj=oj(1-oj)∑kErrkwkj,
Errk为隐层中反向传递过程中上一层的误差敏感度,wkj为反向过程中上一层神经元权重;在反向传递过程中,每一个神经元通过误差敏感度调整自身权值w和偏移量θ:Δwij=Errjoj,wij=wij+Δwij,Δθj=Errj,θj=θj+Δθj。
优选地,所述神经网络模型为反向传播神经元网络模型,所述各个Map Function计算单元在执行所述利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练的步骤之前,分别独立初始化本地的神经网络模型的参数,所述参数包括每一个神经元的权值w和偏移量θ。
根据本发明提供的分布式数据识别方法及系统,通过对所有待识别数据进行分割以形成多个数据块实现了基于数据切割,然后采用分布式计算框架的对分布式的神经网络模型进行训练,并利用训练后的神经网络模型分别输出识别结果,最终通过引入多数投票机制从各个识别结果中筛选识别结果,该分布式数据识别方案具有较高的识别效率,并且不会由于样本集合的切割导致辨识精度的下降。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的分布式数据识别方法的流程图;
图2为应用本发明和现有技术的数据辨识精度比对图;
图3为应用本发明和现有技术的数据辨识时间比对图;
图4为本发明提供的技术方案的伸缩性展示图;
图5为本发明实施例中的分布式数据识别系统的结构图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明的一个实施例提供了一种分布式数据识别方法,该方法可以基于现有的Hadoop技术(一种基于MapReduce计算模型的分布式计算框架)来实现。在执行分布式处理时,首先从HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)中,将数据以数据块的形式读出。然后,每一块数据都被送入一个Map Function(mapper)进行分布式处理。处理后的数据会以临时输出(intermediate output)的形式(具体为键-值形式),被Reduce Function(reducer)根据键的不同进行收集,并进行二次处理,最终处理后的结果被保存回HDFS中。
如图1所示,该方法具体包括如下步骤:
S1,对所有待识别数据进行分割以形成多个数据块,所述数据块中包括用于训练的待识别数据和用于检测的待识别数据,其中待识别数据可以是经过矢量化处理的图像、文字等各种形式的结构化或非结构化数据;
S2,MapReduce架构中的各个Map Function计算单元分别获取不同的所述数据块;
S3,所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练;
S4,在训练过程结束后,所述各个Map Function计算单元分别利用经过训练的所述神经网络模型对获取到的数据块中的用于检测的待识别数据进行识别以得到识别结果;
S5,所述MapReduce架构中的Reduce Function单元获取所述各个Map Function计算单元的所述识别结果,并对所有识别结果进行筛选以得到一个识别结果。例如可以利用多数投票算法筛选识别结果,具体地,多数投票算法是指参与投票实体对某一问题根据自身判断结果进行投票,如果某一结果得票数超过参与投票者总数的一半,则将该结果作为问题的解。本发明可以对现有的多数投票算法略作修改,即某一结果的得票数最多,则将其作为数据识别的最终结果。
根据本发明提供的分布式数据识别方法,通过对所有待识别数据进行分割以形成多个数据块实现了基于数据切割,然后采用分布式计算框架的对分布式的神经网络模型进行训练,并利用训练后的神经网络模型分别输出识别结果,最终通过引入多数投票机制从各个识别结果中筛选识别结果,该分布式数据识别方案具有较高的识别效率,并且不会由于样本集合的切割导致辨识精度的下降。
本发明的另一个实施例还提供了一种具体的分布式数据识别方法,该方法包括如下步骤:
步骤一:
首先采用“自助法”对海量训练样本进行有放回抽样。设分布式计算集群中有m个mapper(Map Function计算单元),自助次数为n。则算法将有放回次数设置为n,并经过采样后形成m个子样本集合。由此实现对原始训练数据集的切割,样本总体满足。在每一个样本中,针对每一条训练数据sk={a1,a2,a3,...,ain}进行归一化处理,其中,a1,a2,a3,…,ain为sk中的元素,in为向量长度。处理依据为:nai=(ai-amin))/(amax-amin)),nai为sk中某一元素ai归一化后的值,amin为sk中值最小的某一元素,amax为sk中值最大的某一元素。
步骤二:
对每一条训练数据sk,采用数据结构<instancek,targetk,type>存储于数据块中。其中,instancek为sk,targetk为sk的训练目标target为针对某一训练数据预先给定的辨识结果,type包含两种字符串值“train”或“test”,如果sk为训练数据,则字段type中被标注train,用以显式的告知算法该数据仅用以进行训练使用。最终,m个子样本集合中的所有数据都被处理好后,每一个子样本集合被存入一个数据块。最终,m个训练数据块被存储至HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)。
步骤三:
集群中每一个mapper实例化一个BPNN(反向传播神经元网络,Back PropagationNeural Network)实例,每一个BPNN独立初始化自身参数,主要包含每一个神经元的权值w和偏移量θ。然后,每一个mapper以并行的方式从HDFS中读取一个训练数据块,进而从每个数据块中依次输入每一条训练数据sk。
对每一条训练数据sk,mapper中的BPNN首先解析字段type中的值,如果值为train,则BPNN从输入层输入sk。针对神经元网络中每一层的神经元,算法执行“正向传递”,亦即在每一个神经元内,其线性部分执行:
Ij=∑iwijoj′+θj,
其中Ij为线性部分输出,wij为该神经元权值,θj为该神经元偏移量,oj′为上一层神经元非线性部分输出。
在每一个神经元非线性部分,执行:
oj为非线性部分输出(也即每一个神经元输出至下一层神经元的输出),Ij为该神经元内的线性部分输出。
当正向传递执行至输出层后,正向传递过程结束,BPNN启动针对训练数据sk的“反向传递”过程。反向传递从输出层开始执行,在输出层:
Errj=oj(1-oj)(tj-oj),
Errj为输出层误差敏感度,tj为sk所对应的targetk。在隐层则执行:
Errj=oj(1-oj)ΣkErrkwkj,
Errk为隐层中反向传递过程中上一层的误差敏感度,wkj为反向过程中上一层神经元权重。在反向传递过程中,每一个神经元通过误差敏感度调整自身权值w和偏移量θ:
Δwij=Errjoj,
wij=wij+Δwij,
Δθj=Errj,
θj=θj+Δθj,
执行一定次数的正向传递和反向传递,对sk的训练过程结束。该mapper启动对下一条训练数据sk+1的训练过程。直到所有被标注为“train”的数据都被处理,则训练过程结束。
步骤四:
算法开始数据辨识过程。在该过程中,集群中所有被训练完毕的数据同时输入一条待辨识数据,然后执行正向传递过程,并输出临时输出键值对:<instancek,ojm>,其中instancek为待辨识数据,同时也是该输出的“键”;ojm为在该mapper内正向传递后在BPNN输出层的输出结果,亦即辨识结果,同时也是该输出的“值”。由于集群中具有m个mapper,每一个mapper对instancek都有自己的辨识结论,因此集群中会有数个不同的ojm。
集群启动一个reducer(Reduce Function单元),对以上所有ojm进行收集。并且,在该reducer中执行二次计算,对收集到的所有辨识结果ojm进行“多数投票”得票最多的一个ojm值,作为对instancek的最终辨识结果,并以键值对<instancek,rk>的形式输出至HDFS,其中rk为最终辨识结果。
本发明实施例对标准BPNN算法进行了改进,通过Hadoop分布式计算架构,对BPNN方法进行了基于数据分割的解耦,并实现了其分布式训练过程,使BPNN可以有效应用于大数据辨识应用中。
为保证数据切割后的样本子集不会对数据辨识精度造成影响,本方法在mapper中引入自助法以实现对切割数据的采样,在数据样本子集中尽可能保留有原数据样本的样本分部特性,数据测试结果证明了该方法的有效性。
在数据最终辨识结果决定过程中,在分布式框架的reducer中引入多数投票规则,可以以较大的概率过滤掉错误辨识结果而保留正确结果,实现了通过一组弱分类器构建强分类器的方法。
本方法具有极好的可扩展性,集群中调用的mapper数量越多,算法辨识速度越快,同时也能够保证数据辨识的精确度。
在一个具体实施例中,可以采用符合MapReduce编程规范的Java开发环境来实现本发明提供的技术方案。算法运行硬件环境为包含五台计算机的具体集群,其中一台为管理节点,四台为实际计算节点。
本实施例采用的数据集为标准benchmark数据集鸢尾花数据集(Iris Dataset)。在算法性能测试中,采用“数据复制”方式将鸢尾花数据集进行扩充,生成包含有1000条训练数据和1000条测试数据(待辨识数据)的数据集合。集群中调用10个mapper,为观察不同数据数量对算法精确度的影响,每一个mapper依次输入从10至1000条训练数据,精确度测试结果如图2所示。
由图2可以看出,本发明所提方法非但精确度不会因样本切割导致辨识精度下降,反而由于采样和投票技术的引入,使其准确度较普通的BPNN有了一定程度的提升。
在效率测试中,依然采用数据复制方式,将鸢尾花数据集体积扩充到1MB至1GB,其中80%的数据为训练数据,剩余20%的数据为待辨识数据,测试结果如图3所示。
由图3可以看出,随着数据体积增大,本方法所需时间远远小于现有的利用BPNN识别数据的方法。
图4示出了弹性测试结果,由图4可以看出,随着集群内调用的mapper数量增加,本方法所需的数据辨识的执行时间可进一步下降,证明了算法的弹性(伸缩性)良好。
本发明的另一个实施例还提供了一种分布式数据识别系统,如图5所示该系统包括:管理终端51和多个计算终端52,其中
所述管理终端51用于对所有待识别数据进行分割以形成多个数据块,所述数据块中包括用于训练的待识别数据和用于检测的待识别数据;
所述计算终端52用于启动MapReduce架构中的各个Map Function计算单元分别获取不同的所述数据块;所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练;在训练过程结束后,所述各个MapFunction计算单元分别利用经过训练的所述神经网络模型对获取到的数据块中的用于检测的待识别数据进行识别以得到识别结果;
所述管理终端51还用于启动所述MapReduce架构中的Reduce Function单元获取所述各个Map Function计算单元的所述识别结果,并对所有识别结果进行筛选以得到一个识别结果。
根据本发明提供的分布式数据识别装置,通过对所有待识别数据进行分割以形成多个数据块实现了基于数据切割,然后采用分布式计算框架的对分布式的神经网络模型进行训练,并利用训练后的神经网络模型分别输出识别结果,最终通过引入多数投票机制从各个识别结果中筛选识别结果,该分布式数据识别方案具有较高的识别效率,并且不会由于样本集合的切割导致辨识精度的下降。
优选地,所述管理终端用于采用自助算法对所有待识别数据进行有放回抽样,以形成多个子样本集合,所述通过自助算法中形成的子样本个数与所述Map Function计算单元的数量相同;分别对所述子样本集合中的待识别数据进行归一化处理以得到归一化待识别数据sk;采用数据结构<instancek,targetk,type>分别将sk存储在多个数据块中,其中,instancek为sk,targetk为sk的训练目标,type为待识别数据的用途,所述用途包括训练用途和检测用途;将所有数据块存储至分布式文件系统中。
优选地,所述多个计算终端用于分别启动各个Map Function计算单元分别从所述分布式文件系统中读取不同的数据块;各个Map Function计算单元中的神经网络模型分别根据字段type确定sk的用途,对于训练用途的sk,则神经网络模型从输入层输入sk,针对每一层的神经元执行正向传递;当正向传递执行至输出层后,正向传递过程结束,神经网络模型对训练数据sk进行反向传递;各个Map Function计算单元针对每一训练用途的sk执行预定次数的正向传递和反向传递,直至所有训练用途的sk均被处理完毕。
优选地,所述计算终端在所述神经网络模型的每一个神经元内,其线性部分执行:
Ij=∑iwijoj′+θj,
其中Ij为线性部分输出,wij为该神经元权值,θj为该神经元偏移量,oj′为上一层神经元非线性部分输出;
在每一个神经元非线性部分,执行:
oj为非线性部分输出(也即每一个神经元输出至下一层神经元的输出),Ij为该神经元内的线性部分输出;
所述计算终端在所述神经网络模型的输出层执行:
Errj=oj(1-oj)(tj-oj),
Errj为输出层误差敏感度,tj为sk所对应的targetk;
在所述神经网络模型的隐层执行:
Errj=oj(1-oj)∑kErrkwkj,
Errk为隐层中反向传递过程中上一层的误差敏感度,wkj为反向过程中上一层神经元权重;在反向传递过程中,每一个神经元通过误差敏感度调整自身权值w和偏移量θ:Δwij=Errjoj,wij=wij+Δwij,Δθj=Errj,θj=θj+Δθj。
优选地,所述神经网络模型为反向传播神经元网络模型,所述各个Map Function计算单元在执行所述利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练的步骤之前,分别独立初始化本地的神经网络模型的参数,所述参数包括每一个神经元的权值w和偏移量θ。
本发明实施例对标准BPNN算法进行了改进,通过Hadoop分布式计算架构,对BPNN方法进行了基于数据分割的解耦,并实现了其分布式训练过程,使BPNN可以有效应用于大数据辨识应用中。
为保证数据切割后的样本子集不会对数据辨识精度造成影响,本系统在mapper中引入自助法以实现对切割数据的采样,在数据样本子集中尽可能保留有原数据样本的样本分部特性,数据测试结果证明了该系统的有效性。
在数据最终辨识结果决定过程中,在分布式框架的reducer中引入多数投票规则,可以以较大的概率过滤掉错误辨识结果而保留正确结果,实现了通过一组弱分类器构建强分类器的系统。
本系统具有极好的可扩展性,集群中调用的mapper数量越多,算法辨识速度越快,同时也能够保证数据辨识的精确度。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种分布式数据识别方法,其特征在于,包括:
对所有待识别数据进行分割以形成多个数据块,所述数据块中包括用于训练的待识别数据和用于检测的待识别数据;
MapReduce架构中的各个Map Function计算单元分别获取不同的所述数据块;
所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练;
在训练过程结束后,所述各个Map Function计算单元分别利用经过训练的所述神经网络模型对获取到的数据块中的用于检测的待识别数据进行识别以得到识别结果;
所述MapReduce架构中的Reduce Function单元获取所述各个Map Function计算单元的所述识别结果,并对所有识别结果进行筛选以得到一个识别结果。
2.根据权利要求1所述的方法,其特征在于,所述对所有待识别数据进行分割以形成多个数据块,包括:
采用自助算法对所有待识别数据进行有放回抽样,以形成多个子样本集合,所述自助算法中的有放回次数与所述Map Function计算单元的数量相同;
分别对所述子样本集合中的待识别数据进行归一化处理以得到归一化待识别数据sk;
采用数据结构<instancek,targetk,type>分别将sk存储在多个数据块中,其中,instancek为sk,targetk为sk的训练目标,type为待识别数据的用途,所述用途包括训练用途和检测用途;
将所有数据块存储至分布式文件系统中。
3.根据权利要求2所述的方法,其特征在于,所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练,包括:
各个Map Function计算单元分别从所述分布式文件系统中读取不同的数据块;
各个Map Function计算单元中的神经网络模型分别根据字段type确定sk的用途,对于训练用途的sk,则神经网络模型从输入层输入sk,针对每一层的神经元执行正向传递;
当正向传递执行至输出层后,正向传递过程结束,神经网络模型对训练数据sk进行反向传递;
各个Map Function计算单元针对每一训练用途的sk执行预定次数的正向传递和反向传递,直至所有训练用途的sk均被处理完毕。
4.根据权利要求3所述的方法,其特征在于,所述针对每一层的神经元执行正向传递,包括:
在所述神经网络模型的每一个神经元内,其线性部分执行:
Ij=∑iwijoj′+θj,
其中Ij为线性部分输出,wij为该神经元权值,θj为该神经元偏移量,oj′为上一层神经元非线性部分输出;
在每一个神经元非线性部分,执行:
oj为非线性部分输出(也即每一个神经元输出至下一层神经元的输出),Ij为该神经元内的线性部分输出;
所述神经网络模型对训练数据sk进行反向传递,包括:
在所述神经网络模型的输出层执行:
Errj=oj(1-oj)(tj-oj),
Errj为输出层误差敏感度,tj为sk所对应的targetk;
在所述神经网络模型的隐层执行:
Errj=oj(1-oj)∑kErrkwkj,
Errk为隐层中反向传递过程中上一层的误差敏感度,wkj为反向过程中上一层神经元权重;在反向传递过程中,每一个神经元通过误差敏感度调整自身权值w和偏移量θ:Δwij=Errjoj,wij=wij+Δwij,Δθj=Errj,θj=θj+Δθj。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述神经网络模型为反向传播神经元网络模型,所述各个Map Function计算单元在执行所述利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练的步骤之前,分别独立初始化本地的神经网络模型的参数,所述参数包括每一个神经元的权值w和偏移量θ。
6.一种分布式数据识别系统,其特征在于,包括:管理终端和多个计算终端,其中
所述管理终端用于对所有待识别数据进行分割以形成多个数据块,所述数据块中包括用于训练的待识别数据和用于检测的待识别数据;
所述计算终端用于启动MapReduce架构中的各个Map Function计算单元分别获取不同的所述数据块;所述各个Map Function计算单元分别利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练;在训练过程结束后,所述各个MapFunction计算单元分别利用经过训练的所述神经网络模型对获取到的数据块中的用于检测的待识别数据进行识别以得到识别结果;
所述管理终端还用于启动所述MapReduce架构中的Reduce Function单元获取所述各个Map Function计算单元的所述识别结果,并对所有识别结果进行筛选以得到一个识别结果。
7.根据权利要求6所述的系统,其特征在于,所述管理终端用于采用自助算法对所有待识别数据进行有放回抽样,以形成多个子样本集合,所述自助算法中的有放回次数与所述Map Function计算单元的数量相同;分别对所述子样本集合中的待识别数据进行归一化处理以得到归一化待识别数据sk;采用数据结构<instancek,targetk,type>分别将sk存储在多个数据块中,其中,instancek为sk,targetk为sk的训练目标,type为待识别数据的用途,所述用途包括训练用途和检测用途;将所有数据块存储至分布式文件系统中。
8.根据权利要求7所述的系统,其特征在于,所述多个计算终端用于分别启动各个MapFunction计算单元分别从所述分布式文件系统中读取不同的数据块;各个Map Function计算单元中的神经网络模型分别根据字段type确定sk的用途,对于训练用途的sk,则神经网络模型从输入层输入sk,针对每一层的神经元执行正向传递;当正向传递执行至输出层后,正向传递过程结束,神经网络模型对训练数据sk进行反向传递;各个Map Function计算单元针对每一训练用途的sk执行预定次数的正向传递和反向传递,直至所有训练用途的sk均被处理完毕。
9.根据权利要求8所述的系统,其特征在于,所述计算终端在所述神经网络模型的每一个神经元内,其线性部分执行:
Ij=∑iwijoj′+θj,
其中Ij为线性部分输出,wij为该神经元权值,θj为该神经元偏移量,oj′为上一层神经元非线性部分输出;
在每一个神经元非线性部分,执行:
oj为非线性部分输出(也即每一个神经元输出至下一层神经元的输出),Ij为该神经元内的线性部分输出;
所述计算终端在所述神经网络模型的输出层执行:
Errj=oj(1-oj)(tj-oj),
Errj为输出层误差敏感度,tj为sk所对应的targetk;
在所述神经网络模型的隐层执行:
Errj=oj(1-oj)∑kErrkwkj,
Errk为隐层中反向传递过程中上一层的误差敏感度,wkj为反向过程中上一层神经元权重;在反向传递过程中,每一个神经元通过误差敏感度调整自身权值w和偏移量θ:Δwij=Errjoj,wij=wij+Δwij,Δθj=Errj,θj=θj+Δθj。
10.根据权利要求6-9中任一项所述的系统,其特征在于,所述神经网络模型为反向传播神经元网络模型,所述各个Map Function计算单元在执行所述利用获取到的数据块中的用于训练的待识别数据对本地预设的神经网络模型进行训练的步骤之前,分别独立初始化本地的神经网络模型的参数,所述参数包括每一个神经元的权值w和偏移量θ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710044724.XA CN106874941A (zh) | 2017-01-19 | 2017-01-19 | 一种分布式数据识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710044724.XA CN106874941A (zh) | 2017-01-19 | 2017-01-19 | 一种分布式数据识别方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106874941A true CN106874941A (zh) | 2017-06-20 |
Family
ID=59158664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710044724.XA Pending CN106874941A (zh) | 2017-01-19 | 2017-01-19 | 一种分布式数据识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874941A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766798A (zh) * | 2017-09-28 | 2018-03-06 | 辽宁工程技术大学 | 一种基于云计算存储和深度学习的遥感图像目标检测方法 |
CN109597903A (zh) * | 2018-11-21 | 2019-04-09 | 北京市商汤科技开发有限公司 | 图像文件处理装置和方法、文件存储系统及存储介质 |
WO2019080908A1 (zh) * | 2017-10-25 | 2019-05-02 | 腾讯科技(深圳)有限公司 | 实现图像识别的图像处理方法及装置、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110150301A1 (en) * | 2009-12-17 | 2011-06-23 | Industrial Technology Research Institute | Face Identification Method and System Using Thereof |
TW201128542A (en) * | 2010-02-04 | 2011-08-16 | Univ Nat Taipei Technology | Parallel learning architecture of back propagation artificial neural networks and mthod thereof |
CN103544528A (zh) * | 2013-11-15 | 2014-01-29 | 南京大学 | 一种基于Hadoop的BP神经网络分类方法 |
CN104992147A (zh) * | 2015-06-09 | 2015-10-21 | 中国石油大学(华东) | 一种基于快慢结合云计算环境的深度学习的车牌识别方法 |
CN105825212A (zh) * | 2016-02-18 | 2016-08-03 | 江西洪都航空工业集团有限责任公司 | 一种基于Hadoop的分布式车牌识别方法 |
-
2017
- 2017-01-19 CN CN201710044724.XA patent/CN106874941A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110150301A1 (en) * | 2009-12-17 | 2011-06-23 | Industrial Technology Research Institute | Face Identification Method and System Using Thereof |
TW201128542A (en) * | 2010-02-04 | 2011-08-16 | Univ Nat Taipei Technology | Parallel learning architecture of back propagation artificial neural networks and mthod thereof |
CN103544528A (zh) * | 2013-11-15 | 2014-01-29 | 南京大学 | 一种基于Hadoop的BP神经网络分类方法 |
CN104992147A (zh) * | 2015-06-09 | 2015-10-21 | 中国石油大学(华东) | 一种基于快慢结合云计算环境的深度学习的车牌识别方法 |
CN105825212A (zh) * | 2016-02-18 | 2016-08-03 | 江西洪都航空工业集团有限责任公司 | 一种基于Hadoop的分布式车牌识别方法 |
Non-Patent Citations (1)
Title |
---|
LIU YANG ET AL.: "Parallelizing Backpropagation Neural Network Using MapReduce and Cascading Model", 《COMPUTATIONAL INTELLIGENCE AND NEUROSCIENCE》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766798A (zh) * | 2017-09-28 | 2018-03-06 | 辽宁工程技术大学 | 一种基于云计算存储和深度学习的遥感图像目标检测方法 |
WO2019080908A1 (zh) * | 2017-10-25 | 2019-05-02 | 腾讯科技(深圳)有限公司 | 实现图像识别的图像处理方法及装置、电子设备 |
CN109597903A (zh) * | 2018-11-21 | 2019-04-09 | 北京市商汤科技开发有限公司 | 图像文件处理装置和方法、文件存储系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210049473A1 (en) | Systems and Methods for Robust Federated Training of Neural Networks | |
CN106126732B (zh) | 基于兴趣相似模型的作者影响力传播能力预测方法 | |
CN100367300C (zh) | 一种基于人工神经网络的特征选择方法 | |
EP3540652A1 (en) | Method, device, chip and system for training neural network model | |
CN112101190A (zh) | 一种遥感图像分类方法、存储介质及计算设备 | |
CN113822139B (zh) | 一种基于改进1DCNN-BiLSTM的设备故障诊断方法 | |
CN109800789A (zh) | 基于图网络的糖尿病视网膜病变分类方法及装置 | |
CN110222171A (zh) | 一种分类模型应用、分类模型训练方法及装置 | |
Andrianakis et al. | Efficient history matching of a high dimensional individual-based HIV transmission model | |
CN106874963B (zh) | 一种基于大数据技术的配电网故障诊断方法及系统 | |
CN106874941A (zh) | 一种分布式数据识别方法及系统 | |
CN113469281A (zh) | 一种工业齿轮箱多源信息融合故障诊断方法 | |
CN113887342A (zh) | 基于多源信号和深度学习的设备故障诊断方法 | |
CN106997373A (zh) | 一种基于深度置信网络的链路预测方法 | |
CN115599799A (zh) | 面向医疗大数据的区块链与联邦学习融合方法 | |
WO2020198132A1 (en) | Residual semi-recurrent neural networks | |
Zou et al. | ID3 decision tree in fraud detection application | |
Tellez et al. | Gauging Biases in Various Deep Learning AI Models | |
Jiang et al. | MeCo: zero-shot NAS with one data and single forward pass via minimum eigenvalue of correlation | |
CN113392934A (zh) | 一种面向深度学习的偏见数据平衡方法及装置 | |
DE102018213044A1 (de) | Winkel-k-means zum textmining | |
CN117274754A (zh) | 梯度匀质化的点云多任务融合方法 | |
CN116779176A (zh) | 基于神经网络深度特征的移植术后慢性肾病样本增广方法 | |
CN116188834A (zh) | 基于自适应训练模型的全切片图像分类方法及装置 | |
CN110084109A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170620 |