1.一种基于Spark的极限学习机并行化计算方法,其特征在于包括以下步骤:
a.向服务器发送原始学习数据,服务器在磁盘的分布式文件系统HDFS中读取原始学习数据,包括属性以及类别的描述及数值,将原始学习数据的属性以及类别全部解析成数值得到样本数据,将所有样本数据集存储到服务器的分布式文件系统中,每个样本存储为一行,所述存储入服务器分布式文件系统中的所有样本数据均可以被集群网络中所有连接的计算机后续共同访问;
b.利用服务器对所有样本数据集进行预处理操作,将样本数据转化成属性变量矩阵P以及类别变量矩阵T;
c.随机初始化隐层节点参数获得随机生成的输入权重矩阵ω以及隐层偏差向量b,完成服务器作为极限学习机的初始化步骤;
d.针对属性变量矩阵P矩阵以及初始化所得的输入权重矩阵ω,利用矩阵乘并行化方案计算得到二者乘积,对所得乘积的每个元素通过激活函数映射得到隐层输出矩阵H,利用矩阵乘并行化方案以及矩阵单机求逆运算得到输出权重向量β的唯一最优解
2.根据权利要求1所述基于Spark的极限学习机并行化计算方法,其特征在于对样本数据集进行预处理操作的步骤:对所有样本数据集进行去重操作,将样本数据的每个属性进行归一化得到属性变量矩阵P,将类别标签即类别描述及数据转化为数值标签,将每个数值标签做为一行得到类别变量矩阵T。
3.根据权利要求1所述基于Spark的极限学习机并行化计算方法,其特征在于随机初始化隐层节点参数方法为:随机初始化生成权重矩阵ω以及隐层偏差向量b,权重矩阵ω的行数为输入样本数据的属性数,列数为单隐层前馈神经网络的隐节点数目,隐层偏差向量b的长度为隐节点数目,权重矩阵ω以及隐层偏差向量b中的每个元素均随机初始化为0~1之间的任意数值。
4.根据权利要求1所述基于Spark的极限学习机并行化计算方法,其特征在于所述利用矩阵乘并行化方案为:在属性变量矩阵P的第一列前加上一列全为“1”的列向量,将隐层偏差向量b添加至权重矩阵ω的第一行,从而修正属性变量矩阵P以及输入权重矩阵ω,将属性变量矩阵P与权重矩阵ω并行化相乘并在激活函数作用下得到隐层输出矩阵H,通过转置隐层输出矩阵H得到转置矩阵HT,并利用矩阵并行化相乘方案计算得到HTH、HTT,通过单机矩阵求逆运算得到(HTH)-1;通过公式 求解得到输出权重β的唯一最优解
5.根据权利要求4所述基于Spark的极限学习机并行化计算方法,其特征在于所述计算隐层输出矩阵H的方法为:首先初始化输入权重矩阵ω和偏差向量b,将输入权重矩阵ω和偏差向量b的每个元素设为0~1之间的随机值,权重矩阵ω的行数为样本属性个数,列数为隐节点数目,偏差向量b的长度为隐节点数目;
考虑偏差向量并将矩阵加法运算转化为矩阵乘运算,在属性变量矩阵第一列前添加一列元素全为“1”的列向量,在输入权重矩阵第一行前添加偏差向量b作为第一行,将修正后的属性变量矩阵与输入权重矩阵相乘并将矩阵乘每一个元素代入sigmoidal函数得到隐层输出矩阵H。
6.根据权利要求4所述基于Spark的极限学习机并行化计算方法,其特征在于矩阵乘并行化方法为:对于两个矩阵相乘后得到新矩阵C=A*B的矩阵乘运算,首先将矩阵A按行逐行存储于服务器的分布式文件系统中,将矩阵B按列逐行存储于服务器的分布式文件系统中,设矩阵A的行数为rowA,矩阵B的列数为colB,依次将矩阵A的第i行数据复制colB份,每份逐行存储并在每行前分别添加“i 0”、“i 1”……“i colB”作为后续转化所得PairRDD的key值,得到新的矩阵数据A',依次将矩阵B的第j行数据复制rowA份,每份逐行存储并在每行前分别添加“0 j”、“1 j”……“rowA j”作为后续转化所得PairRDD的key值,得到新的矩阵数据B',将矩阵数据A'和矩阵数据B'存储并添加入分布式文件系统中的存储文件,再将存储文件读入内存RDD中,通过Map to Pair操作,每个RDD的前两个元素作为key,其他元素作为value,将RDD转换成PairRDD,从而得到
7.根据权利要求4所述基于Spark的极限学习机并行化计算方法,其特征在于所述单机矩阵求逆运算方法为:利用公式:(HTH)-1=(HTH)*/|HTH|,求解矩阵HTH的逆矩阵,依次求解HTH的行列式,|HTH|=(hTh)11(HTH)11+(hTh)12(HTH)12+…(hTh)1cola(HTH)1cola,其中(HTH)ij=(-
1)i+jVij,Vij为矩阵HTH去除第i行以及第j列后矩阵的行列式,(hTh)ij为矩阵HTH第i行第j列T * T T
的元素。如此循环直至求解得到矩阵行列式;(HH)为矩阵HH的伴随矩阵,将矩阵HH的第j行第i列元素替换成(HTH)ij即可得到(HTH)*。