首页> 中国专利> 一种分布式极限学习机优化集成框架方法系统及方法

一种分布式极限学习机优化集成框架方法系统及方法

摘要

本发明属于数据处理技术领域,尤其涉及一种分布式极限学习机优化集成框架的系统,包括数据分布存储模块、Stack-Autoencoder特征提取模块、分布式计算模块和结果输出模块;数据分布存储模块将数据进行分布式存储,并对ELM隐层进行分析和确定;Stack-Autoencoder特征提取模块对数据进行特征学习,获得压缩化的输入数据,并对输入数据进行归一化处理和特征提取;分布式计算模块根据输入数据进行映射和归约处理得到总体最优权值。本发明对大数据的模式分类更为精确,解决因单层ELM的节点过多造成的过拟合问题使高维矩阵的运算分块并行进行,计算效率得到提高;不用提前将数据读入内存,节省了内存资源。

著录项

  • 公开/公告号CN105184368A

    专利类型发明专利

  • 公开/公告日2015-12-23

    原文格式PDF

  • 申请/专利权人 中国科学院深圳先进技术研究院;

    申请/专利号CN201510562472.0

  • 发明设计人 王书强;卢哲;申妍燕;曾德威;

    申请日2015-09-07

  • 分类号G06N3/08(20060101);

  • 代理机构深圳市科进知识产权代理事务所(普通合伙);

  • 代理人宋鹰武

  • 地址 518055 广东省深圳市南山区西丽大学城学苑大道1068号

  • 入库时间 2023-12-18 12:59:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-31

    授权

    授权

  • 2016-01-20

    实质审查的生效 IPC(主分类):G06N3/08 申请日:20150907

    实质审查的生效

  • 2015-12-23

    公开

    公开

说明书

技术领域

本发明属于数据处理技术领域,尤其涉及一种分布式极限学习机优化 集成框架方法系统及方法。

背景技术

极限学习机(extremelearningmachine)ELM是一种简单易用、有效的 单隐层前馈神经网络SLFNs学习算法。传统的神经网络学习算法(如BP 算法)需要人为设置大量的网络训练参数,并且很容易产生局部最优解。 极限学习机只需要设置网络的隐层节点个数,在算法执行过程中不需要调 整网络的输入权值以及隐元的偏置,并且产生唯一的最优解,因此具有 学习速度快且泛化性能好的优点。

极限学习机不同于传统前馈神经网络的训练学习,输入权重与隐层节 点偏置无需基于梯度下降法迭代确定,而是根据训练数据与隐层节点的规 模随机确定权值,以最小化代价函数为目标,即最小化目标输出与实际输 出的误差,通过求矩阵Moore-Penrose广义逆等算法获得最优输出权值。

但是,目前的ELM算法不能支持对于大规模输入样本的学习,由此 得到的特征对于样本刻画的不够清晰本质,不利于可视化或分类。针对 Basic-ELM算法对处理大数据集产生的网络不稳定与过拟合,和基于支持 大数据集处理的衍生ELM算法(如V-ELM,OS-ELM等)造成的训练集 规模过大,训练时间过长的问题,需要提出一种将传统单隐层ELM算法 推广到多层,实现复杂函数逼近,表征输入数据分布式表示,同时应用 Map-Reduce分布式计算框架,既保证了较高的精度,又能使ELM算法的 高效计算能力与良好的扩展性得到的体现。

发明内容

本发明提供了一种基于深度学习与极限学习机的优化集成系统及 方法,旨在解决现有的Basic-ELM算法不能支持对于大规模输入样本的学 习,并且由此得到的特征对于样本刻画的不够清晰本质,不利于可视化或 分类,对处理大数据集产生的网络不稳定与过拟合,和基于支持大数据集 处理的衍生ELM算法造成的训练集规模过大,训练时间过长的技术问题。

本发明是这样实现的,一种分布式极限学习机优化集成框架系统,包 括数据分布存储模块、Stack-Autoencoder特征提取模块、分布式计算模块 和结果输出模块;

所述数据分布存储模块用于读入训练数据,并根据数据的类型和规模 确定隐层数和隐层节点数;同时根据隐层数将数据分割为多个训练子集, 同时将分割的数据分布到不同的训练子集中进行存储;

所述Stack-Autoencoder特征提取模块用于对分布在各个训练子集的训 练数据进行特征学习,获得各个训练子集压缩化的输入数据,并对输入数 据进行归一化处理和特征提取;

所述分布式计算模块用于根据对各个训练子集压缩化输入数据提取 的特征和隐层节点数进行映射和归约处理得到总体最优权值;

所述结果输出模块用于输出最优权值分析结果。

具体的,所述数据分布存储模块包括数据采集单元、分布式存储单元 和隐层分析单元;

所述数据采集单元用于采集训练数据;

所述分布式存储单元用于对数据进行分割,同时将分割的数据分布到 不同的训练子集中,进行存储和读入;

所述隐层分析单元用于并根据数据的类型和规模,确定ELM隐层数 和隐层节点数。

进一步的,所述分布式计算模块包括映射单元和归约单元;

所述映射单元用于根据分布到不同训练子集中的数据计算得到各个 分块子集权重值;

所述归约单元用于根据各个分块子集权重值计算得到总体最优权值。

本发明实施例采取的技术方案还包括:所述映射单元具体为:根据隐 层节点数与输入数据确定隐层输出矩阵H和键值对HTH,并设置映射过 程中隐层输出矩阵和键值对的值,训练子集按照ELM算法对各个子集进 行并行计算,经标准误差函数和梯度下降法计算得到各个子集权重,即

Δαk=η(t-β)(βkΣi=1kαi-Σi=1kαiβi(Σi=1kαi)*(Σi=1kαi))

其中η为学习速率,k为子集个数,t为各个子集训练目标值,βk为预 测值,αk为各个节点的权重。

本发明实施例采取的技术方案还包括:所述归约单元具体为:确定规 约过程中的键值对,并根据各个子集权重计算最终的最优权值,即

β^=Σi=1kαiβi(Σi=1kαi)

其中,αi为上述计算得到的各个分块子集的权值。

一种分布式极限学习机优化集成框架方法,包括:

步骤a:读入训练数据,根据数据的类型和规模,确定隐层数和隐层 节点数;

步骤b:根据隐层数将数据分割为多个训练子集,同时将分割的数据 分布到不同的训练子集中进行存储;

步骤c:对分布在各训练子集中的数据进行特征学习,获得压缩化的 输入数据,并对压缩化的输入数据进行归一化处理和特征提取;

步骤d:根据对压缩化的输入数据提取的特征和步骤a确定的隐层节 点数进行映射和归约处理得到总体最优权值;

步骤e:输出最优权值分析结果。

进一步的,在所述步骤d中,映射处理为根据对各个训练子集压缩化 输入数据提取的特征和步骤a确定的隐层节点数计算得到各个分块子集权 重值;所述归约处理为根据各个分块子集权重值计算得到总体最优权值。

本发明实施例采取的技术方案还包括:所述映射处理具体为:根据隐 层节点数与输入数据确定隐层输出矩阵H和键值对HTH,并设置映射过 程中隐层输出矩阵和键值对的值,训练子集按照ELM算法对各个子集进 行并行计算,经标准误差函数和梯度下降法计算得到各个子集权重,即

Δαk=η(t-β)(βkΣi=1kαi-Σi=1kαiβi(Σi=1kαi)*(Σi=1kαi))

其中η为学习速率,k为子集个数,t为各个子集训练目标值,βk为预 测值,αk为各个节点的权重。

本发明实施例采取的技术方案还包括:所述规约处理具体为:确定规 约过程中的键值对,并根据各个子集权重计算最终的最优权值,即

β^=Σi=1kαiβi(Σi=1kαi)

其中,αi为上述计算得到的各个分块子集的权值。

本发明实施例采取的技术方案还包括:所述确定隐层输出矩阵H和 HTH的键值对具体为,映射函数输入的键值对中,key为各个训练数据相 对于矩阵的位置,即对于N*M的H矩阵,H(i,j)的key为(j-1)*m+i,value 为G(ai,bi,xi);映射函数输出的键值对,其中H在映射输出的key为axi+bi 与G(ai,bi,xi),G(X)为激励函数,value为G(ai,bi,xi);HTH的key为HTH 中各元素在矩阵中的索引,value为HT与H对应行列的乘积之和。

本发明分布式极限学习机优化集成框架方法系统及方法,提供了一种 将传统单隐层ELM算法推广到多层,实现复杂函数逼近,表征输入数据 分布式表示,同时应用Map-Reduce分布式计算框架,既保证了较高的精 度,又能使ELM算法的高效计算能力与良好的扩展性得到体现的算法。 该分布式极限学习机优化集成框架方法系统及方法对大数据的模式分类 更为精确,学习得到的特征对样本有更本质的刻画,解决因单层ELM的 节点过多造成的过拟合问题使高维矩阵的运算分块并行进行,计算效率得 到提高;对于大规模输入数据与中间结果分布式存储在HDFS和HBase, 不用提前将数据读入内存,节省了内存资源。

附图说明

图1是本发明实施例的分布式极限学习机优化集成框架方法系统的结 构示意图;

图2是本发明实施例的分布式极限学习机优化集成框架方法的流程 图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体 实施例仅仅用以解释本发明,并不用于限定本发明。

Hadoop是一个开源分布式数据处理框架,被用于高效地处理海量数 据。由于Hadoop具有可伸缩性、高可靠性、低成本性和高效性等优点,已 成为一种流行的云计算开发平台。

Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem), 简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件 上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据 集(largedataset)的应用程序。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海 量的数据提供了存储,则MapReduce为海量的数据提供了计算。

极限学习机不同于传统前馈神经网络的训练学习,输入权重与隐层节 点偏置无需基于梯度下降法迭代确定,而是根据训练数据与隐层节点的规 模随机确定权值,以最小化代价函数为目标,即最小化目标输出与实际输 出的误差,通过求矩阵Moore-Penrose广义逆等算法获得最优输出权值。

ELM算法对于给定训练样本集{(xi,ti)},隐层输出函数

G(a,b,x),和隐层节点个数L.

随机生成隐层节点参数(ai,bi),i=1,2……,L;

计算隐层输出矩阵H;

网络输出最优权值β,β=H+T.

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行 运算。概念"Map(映射)"和"Reduce(归约)",和它们的主要思想,都是 从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大 地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在 分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把 一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用 来保证所有映射的键值对中的每一个共享相同的键组。请参阅图1,本发 明实施例的一种分布式极限学习机优化集成框架系统。

其包括数据分布存储模块、Stack-Autoencoder特征提取模块、分布式 计算模块和结果输出模块;

所述数据分布存储模块用于读入训练数据,并根据数据的类型和规模 确定隐层数和隐层节点数;同时根据隐层数将数据分割为多个训练子集, 同时将分割的数据分布到不同的训练子集中进行存储;所述 Stack-Autoencoder特征提取模块用于对数据进行多层学习,获得压缩化的 输入数据,并对输入数据进行归一化处理和特征提取;训练子集按照编写 的Map函数的逻辑,即ELM算法,对训练集并行训练,相当于k个不同 的学习机。传统的ELM算法针对监督性学习,即在训练之前已有标签, 而ELM算法在分类器前添加了autoencoder神经网络,相比传统的利用输 入数据X的特征预测目标值Y,autoencoder利用前馈网络计算重构的输入 X^;利用平方误差函数计算X^与X的误差;依靠反向传播更新误差权值。 对于输入数据的再描述等价于学习到了一种压缩表示的函数,能够少量的 存储形式来表示原本较复杂的但信息冗余较大的表示形式。

具体的,所述数据分布存储模块包括数据采集单元、分布式存储单元 和隐层分析单元;

所述数据采集单元用于读入训练数据;

所述隐层分析单元用于并根据数据的类型和规模,确定ELM隐层数 和隐层节点数;

所述分布式存储单元用于对数据进行分割,同时将分割的数据分布到 不同的训练子集中,进行存储和读入。

具体的,可以将Autoencoder隐层数目调整到4-6层。由于输入数据多 为高阶的视频,图像等数据,在隐层中为了对输入数据进行模拟需要用低 阶向量表示高维数据,由此会造成数据规模大等问题,设计此过程的 MapReduce的目的是化解处理高维特征的压力,在计算重构输入与真实训 练样本误差的过程时,需要通过相关矩阵运算确定误差权值,而用低阶向 量表示的高维矩阵往往规模更大,因此分布式计算可极大提高计算效率。 具体的,从HDFS文件系统中读入海量训练数据,通过MapReduce的底层 框架机制,对样本(设为矩阵S)进行分割,得到k个不同训练子集,k 的数目为集群中并行Map的个数。

Stack-Autoencoder特征提取模块用于对分布在各个训练子集的训练数 据进行特征学习,获得各个训练子集压缩化的输入数据,并对输入数据进 行归一化处理和特征提取;即,在autoencoder网络中对训练数据进行特征 学习,该特征学习阶段包括encode阶段和decode阶段;其中encode阶段 通过引入未知量编码最优权值,对输入数据进行压缩重构;再进入decode 阶段,利用BP算法,最小化重构数据与样本的误差,获取编码最优权值, 此时编码最优权值为常量;进一步将常量编码最优权值重新引入encode 阶段,提取到最优特征,并对最优特征进行归一化处理。。Stack-Autoencoder 特征提取模块也就是对数据进行多层学习,训练子集按照编写的Map函数 的逻辑,即ELM算法,对训练集并行训练,相当于k个不同的学习机。

传统的ELM算法针对监督性学习,即在训练之前已有标签,而ELM 算法在分类器前添加了autoencoder神经网络,相比传统的利用输入数据X 的特征预测目标值Y,autoencoder利用前馈网络计算重构的输入X^;利 用平方误差函数计算X^与X的误差;依靠反向传播更新误差权值。对于 输入数据的再描述等价于学习到了一种压缩表示的函数,能够少量的存储 形式来表示原本较复杂的但信息冗余较大的表示形式。

分布式计算模块包括映射单元和归约单元;所述分布式计算模块用于 根据对各个训练子集压缩化输入数据提取的特征和隐层节点数进行映射 和归约处理得到总体最优权值;

所述映射单元用于根据分布到不同训练子集中的数据计算得到各个 分块子集权重值;所述归约单元用于根据各个分块子集权重值计算得到总 体最优权值。

本发明实施例采取的技术方案还包括:所述映射单元具体为:根据隐 层节点数与输入数据确定隐层输出矩阵H和键值对HTH,并设置映射过 程中隐层输出矩阵和键值对的值,训练子集按照ELM算法对各个子集进 行并行计算,经标准误差函数和梯度下降法计算得到各个子集权重,即

Δαk=η(t-β)(βkΣi=1kαi-Σi=1kαiβi(Σi=1kαi)*(Σi=1kαi))

其中η为学习速率,k为子集个数,t为各个子集训练目标值,βk为预 测值,αk为各个节点的权重。将Map操作后的结果,即k个不同学习机 的预测值βk,通过MapReduce编程框架的shuffle阶段传输到Reduce阶段。

本发明实施例采取的技术方案还包括:所述归约单元具体为:确定 reduce过程中的键值对,即HTH的(key,value)。reduce输入的(key,value) 等于map的输出,输出的key为HTH与HTT的字符串连接,value为HTH 的计算结果,并根据各个子集权重计算最终的最优权值,即

β^=Σi=1kαiβi(Σi=1kαi)

其中,αi为上述计算得到的各个分块子集的权值。

由于输入数据多为高阶的视频,图像等数据,在隐层中为了对输入数 据进行模拟需要用低阶向量表示高维数据,由此会造成数据规模大等问 题,设计此过程的MapReduce的目的是化解处理高维特征的压力,在计 算重构输入与真实训练样本误差的过程时,需要通过相关矩阵运算确定误 差权值,而用低阶向量表示的高维矩阵往往规模更大,因此分布式计算可 极大提高计算效率。海量训练数据与高维特征产生了复杂的矩阵运算,通 常情况下企业数据可达TB甚至PB级。而分布式计算进行的基础正是各 个分块矩阵键值对的确定,(key,value)代表了各个计算量的索引,通过 键值对可唯一表示每一个分块矩阵中的计算值,依据唯一标识分配各集群 进行分布运算。

最后,获得最终网络输出Hβ^;其中,β=(HTH)-1HT其计算结果决定 了网络的最终输出。通过map过程计算HTH与HTT,依靠一一对应的映射 得到各个分布式子结果,最终通过reduce过程中设定的算法依据各分块的 权重不同计算最终结果。

请参阅图2,一种分布式极限学习机优化集成框架方法,包括:

步骤a:读入训练数据,根据数据的类型和规模,确定隐层数和隐层 节点数;

步骤b:根据隐层数将数据分割为多个训练子集,同时将分割的数据 分布到不同的训练子集中进行存储;

步骤c:对分布在各训练子集中的数据进行特征学习,获得压缩化的 输入数据,并对压缩化的输入数据进行归一化处理和特征提取;

步骤d:根据对压缩化的输入数据提取的特征和步骤a确定的隐层节 点数进行映射和归约处理得到总体最优权值;

步骤e:输出最优权值分析结果。

进一步的,在所述步骤d中,映射处理为根据对各个训练子集压缩化 输入数据提取的特征和步骤a确定的隐层节点数计算得到各个分块子集权 重值;所述归约处理为根据各个分块子集权重值计算得到总体最优权值。

本发明实施例采取的技术方案还包括:所述映射处理具体为:根据隐 层节点数与输入数据确定隐层输出矩阵H和键值对HTH,并设置映射过 程中隐层输出矩阵和键值对的值,训练子集按照ELM算法对各个子集进 行并行计算,经标准误差函数和梯度下降法计算得到各个子集权重,即

Δαk=η(t-β)(βkΣi=1kαi-Σi=1kαiβi(Σi=1kαi)*(Σi=1kαi))

其中η为学习速率,k为子集个数,t为各个子集训练目标值,βk为预 测值,αk为各个节点的权重。

本发明实施例采取的技术方案还包括:所述规约处理具体为:确定规 约过程中的键值对,并根据各个子集权重计算最终的最优权值,即

β^=Σi=1kαiβi(Σi=1kαi)

其中,αi为上述计算得到的各个分块子集的权值。

本发明实施例采取的技术方案还包括:所述确定隐层输出矩阵H和 HTH的键值对具体为,映射函数输入的键值对中,key为各个训练数据相 对于矩阵的位置,即对于N*M的H矩阵,H(i,j)的key为(j-1)*m+i,value 为G(ai,bi,xi);映射函数输出的键值对,其中H在映射输出的key为axi+bi 与G(ai,bi,xi),G(X)为激励函数,value为G(ai,bi,xi);HTH的key为HTH 中各元素在矩阵中的索引,value为HT与H对应行列的乘积之和。

本发明针对单隐层ELM网络在进行大数据计算的局限性,结合多层 神经网络的设计原理与基于Hadoop平台的Map-Reduce的计算框架,提出 了多隐层ELM算法在分布式平台的实现,以此解决大数据计算造成的时 间局限与过拟合问题造成的模式分类精度局限。通过Hadoop平台对数量 级高的样本进行分布式计算。算法分为两方面:(i).从传统的单隐层ELM 算法扩展到多层,结合深度学习理论,对高维的训练数据进行学习,从而 获得压缩化,特征更加明显的样本。(ii).利用Map-Reduce框架对多层 ELM进行分布式处理,对训练样本进行划分,设计map与reduce过程对 各个子集进行计算与合并,重点计算各个隐层输出矩阵H与确定最优权值 的矩阵运算HTH。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在 本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含 在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号