论文部分内容阅读
随着经济的发展,网络带宽的不断增长,通过网络访问远程计算资源的条件已经具备,云计算就随之产生了,“云”指的是计算资源不在本地而在网络中,对用户是透明的。近年来,Google、IBM、亚马逊和微软等IT巨头们对云计算技术和产品的普及起到了积极的推动作用。云计算是分布式计算、并行计算的发展,主要用于处理大规模的数据,大规模数据处理和计算是数据挖掘领域中的常见问题,许多传统数据挖掘算法如分类中的神经网络算法往往只能用于小规模数据,当处理的数据规模很大时,计算量急剧增大,这无疑是许多传统数据挖掘算法的瓶颈,而云计算则恰好擅长处理海量数据和进行大规模并行计算,如果能够将传统数据挖掘算法并行化,并将之部署到云计算平台上,就可以有效地解决数据挖掘领域中的上述问题。BP(Back Propagation)神经网络是一种按误差逆向传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。它的BP学习算法由网络信息流的正向传播和误差的反向传播更新神经元联接权值两个过程组成。当处理大规模数据时,训练网络的时间很长,因此本文把BP学习算法进行MapReduce化分解,并行运行减少算法运行时间,其主要分解方法是对网络的每一个联接权值计算反向传播生成的权值局部梯度改变量,处理所有样本后用改变量平均值对权值做一次批处理更新。接着对比分析了统计领域常用的Logistic回归分析模型,把该模型看做无隐含层的神经网络,在提出一种大规模矩阵转置和乘法运算的MapReduce化分解方法后,运用到了Logistic回归参数估计的Newton-Raphson法矩阵求解过程中,使Logistic回归也可以并行处理大规模样本数据。论文具体实现了上述算法并部署到Hadoop云计算平台上,采用经典的数据挖掘测试数据集进行对比实验,比较了算法在单机和云计算平台下的运行差异,结果表明在保证算法准确度和精度的情况下,对大规模输入数据,经过MapReduce分解的算法能够有效减少运行时间,在用8台机器组成的实验Hadoop集群上,加速比能达到约4~5,比一般的并行系统具有更好的性能。