k-NN算法的扩展与并行实现

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:longzhi2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在数据挖掘及其它研究领域,k-近邻算法k-NN是一种广泛用于不同分类用途的算法。然而,k-NN倾向于处理数值类型的数据集,这就限制了它用于科学及工程领域的许多问题。而且,随着其知识库规模的变大,其效率也成为一个瓶颈问题,因为它总是比较所有样本以发现最佳匹配。  为了扩展其应用范围到非数值类型,将编辑距离引入到k-NN算法中,以便它能向数值数据一样发现最佳匹配。因为在k-NN中涉及数值计算,将编辑距离和Levenshtein距离结合以计算两个样本之间的距离。基于上述方法,具有数值和非数值类型的样本可以比较和匹配。  为了提高样本匹配过程的计算速度,将并行计算方法引入到k-NN算法中。考虑到OpenMp框架能够支持网络中的多处理器,并且可以利用处理器中的多核进行并行线程计算,为此,使用Code::Blocks跨平台的C/C++集成开发环境同OpenMp结合,实现了k-NN算法的线程并行计算。  提出的算法被设计成能够处理数值和非数值列的任何数据集。对线性和并行的k-NN算法进行了试验,并比较了这些试验所产生的结果。同线性k-NN算法相比,并行k-NN在数据集足够大能够弥补并行线程负载的情况下更快。如果数据集非常小则并行算法使用起来不够有效。  在试验中,提出的扩展并行k-NN算法能够按预期方式工作,这表明该扩展并行化的k-NN算法能够被广泛及有效地应用于大规模数据集。
其他文献
时间管理是HLA/RTI中的核心内容之一,它的基本原理和关键算法的研究是分布式仿真领域的热点问题。其中,按照HLA规范所实现的乐观推进服务也一直是分布式仿真领域的难点问题。
计算机视觉技术的研究推动了现代交通自动驾驶技术的发展,车辆检测技术是实现自动驾驶的前提和关键。由于Gabor滤波器在模式识别领域的成功应用,近年来,越来越多的研究将其引
自20世纪中叶计算机诞生以来,计算机技术就以迅猛的速度发展和普及,渗透到人类生活的各个角落。网络技术使处于不同地域的计算机被连接起来,从而使得信息可以共享和交换。特
随着现代企业需求的不断提高,分布式协同软件得到应用的范围越来越广,趋势越来越明显,然而相当一部分开发出来的系统却没有得到频繁地使用,这在一定程度上归因于系统的低可用性问
计算机支持的协同设计(Computer Supported Collaborative Design,CSCD)能够较大幅度地缩短产品设计周期,降低产品开发成本,提高产品质量和设计效率,已成为网络环境下数字化
近年来,随着社会进步和互联网技术的迅猛发展,网络数据量逐年飞速增长且网络规模变得日渐庞大,当前对网络的性能、安全、服务质量等指标进行统计分析面临着海量数据的挑战,从而使
人脸识别是当前生物特征识别研究的热点之一,目前的人脸识别方法主要集中在二维图像方面,由于受到光照、姿势、表情变化的影响,其识别的准确度受到很大限制。迄今为止,建立一
随着决策树归纳学习研究的深入,具有精确描述特征的决策树归纳学习已经不能适应一个系统中不精确的知识表达的要求,同时由于人们所处的世界和问题所在的域都是时刻运动变化的
随着计算机技术的快速发展和应用深入,软件项目的规模和复杂程度也随之增加。业务变化、用户需求改变、功能修正等都会对软件项目进度控制、成本核算、开发周期等方面产生巨大
文件系统的主要作用是组织和存取用户数据。文件系统在磁盘上组织用户数据的时候一般涉及到多个数据结构,这些数据结构之间存在一致性关联。文件系统在将内存中修改的数据写回