论文部分内容阅读
随着计算机技术在各个领域的深入发展,各种格式(图片、音乐、影视和文档等)的海量数据产生并存储在数据库中。从海量数据中挖掘有用的知识,并将这些知识应用于人类社会生产实践中,成为信息产业界的一个关键任务。但是数据过多也带来了一个问题:“数据丰富,信息匮乏”,从数据中发现知识的成本过高。需求推动技术的改变。分布式数据挖掘技术为这一问题提供了解决方案。实现分布式数据挖掘系统的一项关键步骤就是将传统的数据挖掘算法移植到分布式计算平台中。经过几十年的发展,分布式数据挖掘领域中涌现出各种各样的算法,它们都是面对不同的需求,完成不同的任务。而将这些算法进行改进,使之能够适应新的分布式环境,这是整个分布式数据挖掘的重要一步。。近几年,开源分布式系统Hadoop在国内外得到广泛的应用,经过多年的发展,也日渐成熟。它是实现分布式数据挖掘系统的一个绝佳平台。所以,本文针对数据挖掘的相关技术进行研究,对K-means++算法以及BP神经网络进行改进,使其有效应用于分布式系统中,并提供了Hadoop平台下的设计实现。本文的研工作包括以下两个方面:(1)K-means++算法根据概率对初始中心点进行选择,相对于随机选择的方法更加科学,算法的效率也较传统算法有了极大的提高。但是K-mean++算法本身的序列化特性导致其很难在分布式系统中实现,而且在计算距离时,忽略了不同属性对聚类结果的影响的差异。本文改进了K-mesn++算法的迭代过程,使其能够在Hadoop平台上实现,也给出了改进算法的MapReduce化伪码。并且在计算距离的过程中,引入属性权值的概念,使得重要的属性能够对结果产生更大的影响,提高聚类质量。实验证明了改进算法的有效性和并行化能力。(2)BP神经网络的权值和网络结构需要人为设定,而它们又对网络的分类结果有着至关重要的影响。取值不当会导致算法收敛很慢甚至不收敛,算法的结果也有可能只是局部最优解。本文使用遗传算法对网络结构和初值进行预训练,根据训练出来的数据构造网络。并对遗传算法中的染色体编码方式及选择算子进行改进,使得遗传算法与BP神经网络能够更好的结合,并加快收敛速度。最后,本文对优化算法进行MapReduce化实现,给出伪码。文后的多组对比实验也证明了优化算法的有效性和并行性。