CN107038244A - 一种数据挖掘方法和装置、一种可读介质和存储控制器 - Google Patents

一种数据挖掘方法和装置、一种可读介质和存储控制器 Download PDF

Info

Publication number
CN107038244A
CN107038244A CN201710273242.1A CN201710273242A CN107038244A CN 107038244 A CN107038244 A CN 107038244A CN 201710273242 A CN201710273242 A CN 201710273242A CN 107038244 A CN107038244 A CN 107038244A
Authority
CN
China
Prior art keywords
data
training
back end
subelement
disaggregated model
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
Application number
CN201710273242.1A
Other languages
English (en)
Inventor
高洪涛
胡建斌
白志凌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing VRV Software Corp Ltd
Original Assignee
Beijing VRV Software Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing VRV Software Corp Ltd filed Critical Beijing VRV Software Corp Ltd
Priority to CN201710273242.1A priority Critical patent/CN107038244A/zh
Publication of CN107038244A publication Critical patent/CN107038244A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/24569Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种数据挖掘方法和装置、一种可读介质和存储控制器,该数据挖掘方法包括:将原始数据存储于分布式文件***HDFS上,并分配到至少一个数据节点上;将具有M维特征向量的原始数据进行降维处理,形成具有m维特征向量的低维数据,其中M>m;按照预设比例,在每一个数据节点上将低维数据划分为训练数据和测试数据;在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型;利用上述的知器分类模型对测试数据进行预测,确定多层感知器分类模型的预测准确性并实现数据挖掘。该数据挖掘方法能够降低数据挖掘的成本以及提高数据挖掘的效率。

Description

一种数据挖掘方法和装置、一种可读介质和存储控制器
技术领域
本发明涉及数据分析及挖掘技术领域,特别涉及一种数据挖掘方法和装置、一种可读介质和存储控制器。
背景技术
随着信息技术的快速发展和互联网逐渐的被广泛应用,特别是云计算和大数据时代的来临,互联网上的数据正在呈指数级增长,而互联网同时成为了最重要的信息来源。但是,互联网的信息具有数据量大、维度高、结构复杂不规则,而且包含大量的噪声数据,于是面对如此庞大、复杂的信息,如何快速的组织、管理、利用、挖掘出有价值的信息是一些非常重大的挑战。
数据挖掘又称数据库中的知识发现,是指从大量的不完全的、有噪声的、模糊的数据中提取隐含的、未知的、非平凡的及有潜在应用价值的信息或模式。
传统的数据挖掘方法一般只适用于低维的小数据集,对于多维度的海量大数据时,由于运算时间和对计算资源的要求的不断提高,致使传统的数据挖掘方法在进行数据挖掘时成本过高并且效率较低。
发明内容
本发明实施例提供了一种数据挖掘方法和装置、一种可读介质和存储控制器,能够降低数据挖掘的成本以及提高数据挖掘的效率。
第一方面,本发明实施例提供了一种数据挖掘方法,该数据挖掘方法包括:
将原始数据存储于分布式文件***HDFS上,并分配到至少一个数据节点上;
将具有M维特征向量的原始数据进行降维处理,形成具有m维特征向量的低维数据,其中M>m;
按照预设比例,在每一个数据节点上将低维数据划分为训练数据和测试数据;
在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型;
利用上述的多层感知器分类模型对测试数据进行预测,确定多层感知器分类模型的预测准确性并实现数据挖掘。
优选地,在每一个数据节点上将低维数据划分为训练数据和测试数据之后,进一步包括:
在每一个数据节点上训练数据组成训练数据集,以及测试数据组成测试数据集;
在在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型之前,进一步包括:
通用并行框架Spark平台从HDFS中读取每一个数据节点上的训练数据集;
Spark平台将读取的每一个训练数据集转换为弹性分布式数据集RDD对象;
Spark平台将每一个RDD对象存储在内存中;
在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型,包括:
Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型。
优选地,Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型,包括:
通过Pipelining技术将训练执行流程分解为多个工作阶段;
将每一个工作阶段分配到数据节点上;
在数据节点上执行每一个工作阶段,获得多层感知器分类模型。
优选地,在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型,包括:
设定训练参数t,初始化权值ω(0),其中t=0,ω(0)为小的随机数;
对于训练数据执行下述训练:
S1:对训练数据进行计算,从输入层经过隐含层到达输出层获得各层输出值
S2:对输出层计算训练误差δ:
S3:从输出层向输入层计算隐含层的训练误差δ:
S4:计算并保存各个加权值的修正量其中,γ为动量项的学习率;
S5:修正加权值:ωij(t+1)=ωij(t)+Δωij
S6:判断当前训练数据t是否收敛性,若是,则结束训练,否则,将训练数据t+1作为当前训练数据,执行S1。
第二方面,本发明实施例提供了一种数据挖掘装置,该数据挖掘装置包括:分配单元、降维单元、划分单元、训练单元和挖掘单元,其中,
分配单元,用于将原始数据存储于分布式文件***HDFS上,并分配到至少一个数据节点上;
降维单元,用于将具有M维特征向量的原始数据进行降维处理,形成具有m维特征向量的低维数据,其中M>m;
划分单元,用于按照预设比例,在每一个数据节点上将低维数据划分为训练数据和测试数据;
训练单元,用于在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型;
挖掘单元,用于利用上述的多层感知器分类模型对测试数据进行预测,确定多层感知器分类模型的预测准确性并实现数据挖掘。
优选地,该数据挖掘装置进一步包括:集合单元和通用并行框架Spark平台,其中,
集合单元,用于在每一个数据节点上训练数据组成训练数据集,以及测试数据组成测试数据集;
Spark平台,用于从HDFS中读取每一个数据节点上的训练数据集、将读取的每一个训练数据集转换为弹性分布式数据集RDD对象以及将每一个RDD对象存储在内存中;
训练单元,具体用于通过Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型。
优选地,训练单元,包括:分解子单元、分配子单元和获得子单元,其中,
分解子单元,用于通过Pipelining技术将训练执行流程分解为多个工作阶段;
分配子单元,用于将每一个工作阶段分配到数据节点上;
获得子单元,用于在数据节点上执行每一个工作阶段,获得多层感知器分类模型。
优选地,训练单元,包括:预设子单元、输出子单元、第一误差子单元、第二误差子单元、修正量子单元、修正子单元和判断子单元,其中,
预设子单元,用于设定训练参数t,初始化权值ω(0),其中t=0,ω(0)为小的随机数;
输出子单元,用于对训练数据进行计算,从输入层经过隐含层到达输出层获得各层输出值
第一误差子单元,用于对输出层计算训练误差δ:
第二误差子单元,用于从输出层向输入层计算隐含层的训练误差δ:
修正量子单元,用于计算并保存各个加权值的修正量 其中,γ为动量项的学习率;
修正子单元,用于修正加权值:ωij(t+1)=ωij(t)+Δωij
判断子单元,用于判断当前训练数据t是否收敛性,若是,则结束训练,否则,将训练数据t+1作为当前训练数据,执行触发输出子单元。
第三方面,本发明实施例提供了一种可读介质,该可读介质包括:执行指令,当存储控制器的处理器执行执行指令时,存储控制器执行权第一方面中任一的数据挖掘方法。
第四方面,本发明实施例提供了一种存储控制器,该存储控制器包括:处理器、存储器和总线;
处理器和存储器通过总线连接;
存储器,当存储控制器运行时,处理器执行存储器存储的执行指令,以使存储控制器执行第一方面中任一的数据挖掘方法。
本发明实施例提供了一种数据挖掘方法和装置、一种可读介质和存储控制器,通过将原始数据存储到分布式文件***HDFS上,并将原始数据分配到至少一个数据节点上,由于分布式计算框架的特点,使得海量计算任务分布带对个数据节点上,采用分而治之的策略,有效降低了单台服务器的计算量和复杂度,可以提高计算效率。同时通过对原始数据进行降维处理,降低了复杂度,不仅进一步提高了计算效率,并且提高了数据预测的准确度。同充分利用多层感知器分类算法的数据迭代运行效率高,方法简单实用,实现方便的优势,不仅降低了成本并且再一次提高了计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种数据挖掘方法的流程图;
图2是本发明一个实施例提供的一种多层感知器拓扑结构示意图;
图3是本发明一个实施例提供的一种误差反向传递的示意图;
图4是本发明一个实施例提供的另一种数据挖掘方法的流程图;
图5是本发明一个实施例提供的一种数据挖掘装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种数据挖掘方法,该方法可以包括以下步骤:
步骤101:将原始数据存储于分布式文件***HDFS上,并分配原始数据到至少一个数据节点上。
步骤102:将具有M维特征向量的原始数据进行降维处理,形成具有m维特征向量的低维数据,其中M>m。
步骤103:按照预设比例,在每一个数据节点上将低维数据划分为训练数据和测试数据。
步骤104:在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型。
步骤105:利用多层感知器分类模型对测试数据进行预测,确定多层感知器分类模型的预测准确性并实现数据挖掘。
在上述实施例中,通过将原始数据存储到分布式文件***HDFS上,并将原始数据分配到至少一个数据节点上,由于分布式计算框架的特点,使得海量计算任务分布带对个数据节点上,采用分而治之的策略,有效降低了单台服务器的计算量和复杂度,可以提高计算效率。同时通过对原始数据进行降维处理,降低了复杂度,不仅进一步提高了计算效率,并且提高了数据预测的准确度。同充分利用多层感知器分类算法的数据迭代运行效率高,方法简单实用,实现方便的优势,不仅降低了成本并且再一次提高了计算效率。
为了提高数据挖掘的可靠性,在本发明一个实施例中,在每一个数据节点上将低维数据划分为训练数据和测试数据之后,进一步包括:
在每一个数据节点上训练数据组成训练数据集,以及测试数据组成测试数据集;
在在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型之前,进一步包括:
通用并行框架Spark平台从HDFS中读取每一个数据节点上的训练数据集;
Spark平台将读取的每一个训练数据集转换为弹性分布式数据集RDD对象;
Spark平台将每一个RDD对象存储在内存中;
在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型,包括:
Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型。
在该实施例中,Spark是UC Berkeley AMP lab所开源的类海杜普HadoopMapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,所以在迭代次数相同时Spark比Hadoop要快上100倍;而访问磁盘的速度比Hadoop快10倍。因此Spark更适合运行更复杂的算法,能够有效的提高计算效率。RDD是只读、支持容错、可分区的内存分布式数据集,可以一部分或全部分缓存在集群内存中,以便在下次计算过程中重用。因此充分利用Spark的内存管理机制、运算优化机制和计算容错机制,不仅可以提高数据挖掘的计算效率,并且能够提高计算结果的可靠性。
为了提高资源的利用率,在本发明一个实施例中,Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型,包括:
通过Pipelining技术将训练执行流程分解为多个工作阶段;
将每一个工作阶段分配到数据节点上;
在数据节点上执行每一个工作阶段,获得多层感知器分类模型。
在该实施例中,可以进一步将每个工作阶段根据RDD对象的数量分解为相同数量的子任务,通过Spark的资源调度器将各个子任务分配到数据节点上。充分利用Spark的RDD特性,把每个数据节点的数据集再细分为较小的数据单元,根据***资源优化调度计算任务,并行执行或等待***资源就绪后顺序执行,能够显著提高***资源利用率。
为了提高模型的准确度,在本发明一个实施例中,在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型,包括:
设定训练参数t,初始化权值ω(0),其中t=0,ω(0)为小的随机数;
对于训练数据执行下述训练:
S1:对训练数据进行计算,从输入层经过隐含层到达输出层获得各层输出值
S2:对输出层计算训练误差δ:
S3:从输出层向输入层计算隐含层的训练误差δ:
S4:计算并保存各个加权值的修正量其中,γ为动量项的学习率;
S5:修正加权值:ωij(t+1)=ωij(t)+Δωij
S6:判断当前训练数据t是否收敛性,若是,则结束训练,否则,将训练数据t+1作为当前训练数据,执行S1。
在该实施例中,请参考图2,建立多层感知器拓扑结构,由输入层、至少一个隐含层和输出层组成,隐含层的个数由用户设定。图中节点的个数同样可以有用户设定。请参考图3,多层感知器分类算法在迭代过程中,通过误差反向传递采用梯度下降算法对误差进行修正,加快了收敛速度,提高了信噪比,降低了噪音数据,使模型准确度有了极大提高。
为更清楚说明本发明的技术方案,下面参考图4对本发明提供的数据挖掘方法进行详细介绍。
在下述实施例中,采用Hadoop分布式***+Spark内存计算框架,大数据集群组成为:客户端服务器1台,数据节点服务器48台,其它辅助服务器5台,共计54台服务器。每台数据节点服务器配置如下:2颗Intel(R)Xeon(R)CPU [email protected],96GB DDR3ECC内存,12块2T SATA盘,2个万兆网口,Centos7.2 64位Linux操作***。软件***为:ApacheHadoop 2.7.3,Spark 2.1.0,编程语言为:Scala。
具体实施步骤如下:
步骤401:将原始数据存储于HDFS上,并分配原始数据到48个数据节点上。
步骤402:将具有M维特征向量的原始数据进行降维处理,形成具有m维特征向量的低维数据,其中M>m。
在该步骤中,M和m的取值取决于原始数据的复杂度。
步骤403:按照预设比例,在48个数据节点上将低维数据划分为训练数据和测试数据,组成48个训练数据集和48个测试数据集。
步骤404:通过Spark平台将48个训练数据集转换成48个RDD对象。
步骤405:通过Pipelining技术将训练执行流程分解为多个工作阶段。
步骤406:将每一个工作阶段分配到数据节点上。
步骤407:在数据节点上执行每一个工作阶段,获得多层感知器分类模型。
步骤408:利用多层感知器分类模型对测试数据集进行预测,确定多层感知器分类模型的预测准确性并实现数据挖掘。
在该实施例中,将多层感知器分类算法应用在分布式计算框架中,充分利用了多层感知器分类算法的优点,并结合分布式计算框架的特点,使得海量的计算任务均匀分布到各个数据节点上,采用分而治之的策略,有效降低了单台服务器的计算量和复杂度,大大提高了计算效率。多层感知器分类算法在迭代过程中,采用梯度下降算法对误差进行修正,加快了收敛速度,提高了信噪比,降低了噪音数据,使模型准确度有了极大提高。训练数据集和测试数据集存放于分布式文件***,对整个大数据采用分而治之的策略,使挖掘运算得以并行化运行,简化了算法复杂度,提高了运算速度。多层感知器分类算法在Spark上的使用,充分利用了Spark的内存管理机制、运算优化机制和计算容错机制,不但提高了挖掘算法的运行效率,更提高可靠性。
如图5所示,本发明实施例提供了一种数据挖掘装置,该数据挖掘装置可以包括:分配单元501、降维单元502、划分单元503、训练单元504和挖掘单元505,其中,
分配单元501,用于将原始数据存储于分布式文件***HDFS上,并分配到至少一个数据节点上;
降维单元502,用于将具有M维特征向量的原始数据进行降维处理,形成具有m维特征向量的低维数据,其中M>m;
划分单元503,用于按照预设比例,在每一个数据节点上将低维数据划分为训练数据和测试数据;
训练单元504,用于在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型;
挖掘单元505,用于利用多层感知器分类模型对测试数据进行预测,确定多层感知器分类模型的预测准确性并实现数据挖掘。
为了提高数据挖掘的可靠性,在本发明一个实施例中,该数据挖掘装置可以进一步包括:集合单元和通用并行框架Spark平台,其中,
集合单元,用于在每一个数据节点上训练数据组成训练数据集,以及测试数据组成数据集;
Spark平台,用于从HDFS中读取每一个数据节点上的训练数据集、将读取的每一个训练数据集转换为弹性分布式数据集RDD对象以及将每一个RDD对象存储在内存中;
训练单元,具体用于通过Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型。
为了提高资源的利用率,在本发明一个实施例中,训练单元,包括:分解子单元、分配子单元和获得子单元,其中,
分解子单元,用于通过Pipelining技术将训练执行流程分解为多个工作阶段;
分配子单元,用于将每一个工作阶段分配到数据节点上;
获得子单元,用于在数据节点上执行每一个工作阶段,获得多层感知器分类模型。
为了提高模型的准确度,在本发明一个实施例中,训练单元,包括:预设子单元、输出子单元、第一误差子单元、第二误差子单元、修正量子单元、修正子单元和判断子单元,其中,
预设子单元,用于设定训练参数t,初始化权值ω(0),其中t=0,ω(0)为小的随机数;
输出子单元,用于对训练数据进行计算,从输入层经过隐含层到达输出层获得各层输出值
第一误差子单元,用于对输出层计算训练误差δ:
第二误差子单元,用于从输出层向输入层计算隐含层的训练误差δ:
修正量子单元,用于计算并保存各个加权值的修正量 其中,γ为动量项的学习率;
修正子单元,用于修正加权值:ωij(t+1)=ωij(t)+Δωij
判断子单元,用于判断当前训练数据t是否收敛性,若是,则结束训练,否则,将训练数据t+1作为当前训练数据,执行触发输出子单元。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,该可读介质可以包括:执行指令,当存储控制器的处理器执行执行指令时,存储控制器执行上述任一实施例中的数据挖掘方法。
本发明实施例提供了一种存储控制器,该存储控制器可以包括:处理器、存储器和总线;
处理器和存储器通过总线连接;
存储器,当存储控制器运行时,处理器执行存储器存储的执行指令,以使存储控制器执行上述任一实施例的数据挖掘方法。
综上,本发明的各实施例,至少具有如下有益效果:
1、在本发明的实施例中,通过将原始数据存储到分布式文件***HDFS上,并将原始数据分配到至少一个数据节点上,由于分布式计算框架的特点,使得海量计算任务分布带对个数据节点上,采用分而治之的策略,有效降低了单台服务器的计算量和复杂度,可以提高计算效率。同时通过对原始数据进行降维处理,降低了复杂度,不仅进一步提高了计算效率,并且提高了数据预测的准确度。同充分利用多层感知器分类算法的数据迭代运行效率高,方法简单实用,实现方便的优势,不仅降低了成本并且再一次提高了计算效率。
2、在本发明的实施例中,将多层感知器分类算法应用在分布式计算框架中,充分利用了多层感知器分类算法的优点,并结合分布式计算框架的特点,使得海量的计算任务均匀分布到各个数据节点上,采用分而治之的策略,有效降低了单台服务器的计算量和复杂度,大大提高了计算效率。
3、在本发明实施例中,多层感知器分类算法在迭代过程中,采用梯度下降算法对误差进行修正,加快了收敛速度,提高了信噪比,降低了噪音数据,使模型准确度有了极大提高。
4、在本发明实施例中,训练数据集和测试数据集存放于分布式文件***,对整个大数据采用分而治之的策略,使挖掘运算得以并行化运行,简化了算法复杂度,提高了运算速度。
5、在本发明实施例中,多层感知器分类算法在Spark上的使用,充分利用了Spark的内存管理机制、运算优化机制和计算容错机制,不但提高了挖掘算法的运行效率,更提高可靠性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种数据挖掘方法,其特征在于,该方法包括:
将原始数据存储于分布式文件***HDFS上,并分配到至少一个数据节点上;
将具有M维特征向量的原始数据进行降维处理,形成具有m维特征向量的低维数据,其中M>m;
按照预设比例,在每一个数据节点上将低维数据划分为训练数据和测试数据;
在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型;
利用上述的多层感知器分类模型对测试数据进行预测,确定多层感知器分类模型的预测准确性并实现数据挖掘。
2.根据权利要求1所述的数据挖掘方法,其特征在于,在每一个数据节点上将低维数据划分为训练数据和测试数据之后,进一步包括:
在每一个数据节点上将训练数据组成训练数据集,以及将测试数据组成测试数据集;
在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型之前,进一步包括:
通用并行框架Spark平台从HDFS中读取每一个数据节点上的训练数据集;
Spark平台将读取的每一个训练数据集转换为弹性分布式数据集RDD对象;
Spark平台将每一个RDD对象存储在内存中;
在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型,包括:
Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型。
3.根据权利要求2所述的数据挖掘方法,其特征在于,Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型,包括:
通过Pipelining技术将训练执行流程分解为多个工作阶段;
将每一个工作阶段分配到数据节点上;
在数据节点上执行每一个工作阶段,获得多层感知器分类模型。
4.根据1至4任一权利要求所述的数据挖掘方法,其特征在于,在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型,具体过程包括:
设定训练参数t,初始化权值ω(0),其中t=0,ω(0)为小的随机数;
对于训练数据执行下述训练:
S1:对训练数据进行计算,从输入层经过隐含层到达输出层获得各层输出值
S2:对输出层计算训练误差δ:
S3:从输出层向输入层计算隐含层的训练误差δ:
S4:计算并保存各个加权值的修正量其中,γ为动量项的学习率;
S5:修正加权值:ωij(t+1)=ωij(t)+Δωij
S6:判断当前训练数据t是否收敛性,若是,则结束训练,否则,将训练数据t+1作为当前训练数据,执行S1。
5.一种数据挖掘装置,其特征在于,该装置包括:分配单元、降维单元、划分单元、训练单元和挖掘单元,其中,
分配单元,用于将原始数据存储于分布式文件***HDFS上,并分配到至少一个数据节点上;
降维单元,用于将具有M维特征向量的原始数据进行降维处理,形成具有m维特征向量的低维数据,其中M>m;
划分单元,用于按照预设比例,在每一个数据节点上将低维数据划分为训练数据和测试数据;
训练单元,用于在每一个数据节点上对训练数据进行训练,获得多层感知器分类模型;
挖掘单元,用于利用上述的多层感知器分类模型对测试数据进行预测,确定多层感知器分类模型的预测准确性并实现数据挖掘。
6.根据权利要求5所述的数据挖掘装置,其特征在于,该装置进一步包括:集合单元和通用并行框架Spark平台,其中,
集合单元,用于在每一个数据节点上训练数据组成训练数据集,以及测试数据组成测试数据集;
Spark平台,用于从HDFS中读取每一个数据节点上的训练数据集、将读取的每一个训练数据集转换为弹性分布式数据集RDD对象以及将每一个RDD对象存储在内存中;
训练单元,具体用于通过Spark平台将RDD对象分配到数据节点上进行训练,获得多层感知器分类模型。
7.根据权利要求6所述的数据挖掘装置,其特征在于,训练单元包括:分解子单元、分配子单元和获得子单元,其中,
分解子单元,用于通过Pipelining技术将训练执行流程分解为多个工作阶段;
分配子单元,用于将每一个工作阶段分配到数据节点上;
获得子单元,用于在数据节点上执行每一个工作阶段,获得多层感知器分类模型。
8.根据5至7任一权利要求所述的数据挖掘装置,其特征在于,训练单元包括:预设子单元、输出子单元、第一误差子单元、第二误差子单元、修正量子单元、修正子单元和判断子单元,其中,
预设子单元,用于设定训练参数t,初始化权值ω(0),其中t=0,ω(0)为小的随机数;
输出子单元,用于对训练数据进行计算,从输入层经过隐含层到达输出层获得各层输出值
第一误差子单元,用于对输出层计算训练误差δ:
第二误差子单元,用于从输出层向输入层计算隐含层的训练误差δ:
修正量子单元,用于计算并保存各个加权值的修正量 其中,γ为动量项的学习率;
修正子单元,用于修正加权值:ωij(t+1)=ωij(t)+Δωij
判断子单元,用于判断当前训练数据t是否收敛性,若是,则结束训练,否则,将训练数据t+1作为当前训练数据,执行触发输出子单元。
9.一种可读介质,其特征在于,该可读介质包括:执行指令,当存储控制器的处理器执行执行指令时,存储控制器执行权利要求1至4中任一的数据挖掘方法。
10.一种存储控制器,其特征在于,该存储控制器包括:处理器、存储器和总线;
处理器和存储器通过总线连接;
存储器,当存储控制器运行时,处理器执行存储器存储的执行指令,以使存储控制器执行权利要求1至4中任一的数据挖掘方法。
CN201710273242.1A 2017-04-24 2017-04-24 一种数据挖掘方法和装置、一种可读介质和存储控制器 Pending CN107038244A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710273242.1A CN107038244A (zh) 2017-04-24 2017-04-24 一种数据挖掘方法和装置、一种可读介质和存储控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710273242.1A CN107038244A (zh) 2017-04-24 2017-04-24 一种数据挖掘方法和装置、一种可读介质和存储控制器

Publications (1)

Publication Number Publication Date
CN107038244A true CN107038244A (zh) 2017-08-11

Family

ID=59536742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710273242.1A Pending CN107038244A (zh) 2017-04-24 2017-04-24 一种数据挖掘方法和装置、一种可读介质和存储控制器

Country Status (1)

Country Link
CN (1) CN107038244A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268638A (zh) * 2018-01-18 2018-07-10 浙江工业大学 一种基于Spark框架的生成对抗网络分布式实现方法
CN113641497A (zh) * 2021-08-03 2021-11-12 北京三易思创科技有限公司 基于降维切分技术实现分布式高并发数据汇总的方法
CN116882522A (zh) * 2023-09-07 2023-10-13 湖南视觉伟业智能科技有限公司 一种分布式时空挖掘方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140096936A (ko) * 2013-01-29 2014-08-06 (주)소만사 Dlp 시스템의 빅데이터 처리 시스템 및 방법
CN104899561A (zh) * 2015-05-27 2015-09-09 华南理工大学 一种并行化的人体行为识别方法
CN105740424A (zh) * 2016-01-29 2016-07-06 湖南大学 一种基于 Spark 平台的高效率文本分类方法
CN106250461A (zh) * 2016-07-28 2016-12-21 北京北信源软件股份有限公司 一种基于Spark框架利用梯度提升决策树进行数据挖掘的算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140096936A (ko) * 2013-01-29 2014-08-06 (주)소만사 Dlp 시스템의 빅데이터 처리 시스템 및 방법
CN104899561A (zh) * 2015-05-27 2015-09-09 华南理工大学 一种并行化的人体行为识别方法
CN105740424A (zh) * 2016-01-29 2016-07-06 湖南大学 一种基于 Spark 平台的高效率文本分类方法
CN106250461A (zh) * 2016-07-28 2016-12-21 北京北信源软件股份有限公司 一种基于Spark框架利用梯度提升决策树进行数据挖掘的算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王之仓: "多层感知器学习算法研究", 《中国优秀硕士学位论文电子期刊网》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268638A (zh) * 2018-01-18 2018-07-10 浙江工业大学 一种基于Spark框架的生成对抗网络分布式实现方法
CN113641497A (zh) * 2021-08-03 2021-11-12 北京三易思创科技有限公司 基于降维切分技术实现分布式高并发数据汇总的方法
CN116882522A (zh) * 2023-09-07 2023-10-13 湖南视觉伟业智能科技有限公司 一种分布式时空挖掘方法及***
CN116882522B (zh) * 2023-09-07 2023-11-28 湖南视觉伟业智能科技有限公司 一种分布式时空挖掘方法及***

Similar Documents

Publication Publication Date Title
US20210049512A1 (en) Explainers for machine learning classifiers
EP3179415B1 (en) Systems and methods for a multi-core optimized recurrent neural network
JP7087079B2 (ja) 深層学習アプリケーションのための堅牢な勾配重み圧縮方式
EP4036803A1 (en) Neural network model processing method and apparatus, computer device, and storage medium
CN108170529A (zh) 一种基于长短期记忆网络的云数据中心负载预测方法
US20160092794A1 (en) General framework for cross-validation of machine learning algorithms using sql on distributed systems
US20170330078A1 (en) Method and system for automated model building
US11366806B2 (en) Automated feature generation for machine learning application
CN113220450B (zh) 面向云端多数据中心的负载预测方法、资源调度方法及装置
CN115437795B (zh) 一种异构gpu集群负载感知的显存重计算优化方法及***
US20200184368A1 (en) Machine learning in heterogeneous processing systems
CN105205052A (zh) 一种数据挖掘方法及装置
CN111966495A (zh) 数据处理方法和装置
CN114490065A (zh) 一种负载预测方法、装置及设备
CN116644804A (zh) 分布式训练***、神经网络模型训练方法、设备和介质
Jankov et al. Declarative recursive computation on an RDBMS: or, why you should use a database for distributed machine learning
CN115860081A (zh) 一种芯粒算法调度方法、***、电子设备及存储介质
CN109117475A (zh) 一种文本改写的方法以及相关设备
CN107038244A (zh) 一种数据挖掘方法和装置、一种可读介质和存储控制器
CN116569177A (zh) 神经网络中基于权重的调制
CN115544033B (zh) 查重向量库更新、数据查重方法、装置、设备和介质
KR20210115863A (ko) 뉴럴 네트워크 모델을 위한 병렬 처리 방법 및 장치
Lakshmi et al. Machine learning approaches on map reduce for Big Data analytics
CN106648891A (zh) 基于MapReduce模型的任务执行方法和装置
US11809375B2 (en) Multi-dimensional data labeling

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

Application publication date: 20170811

RJ01 Rejection of invention patent application after publication