[发明专利]一种适合大规模数据的快速非递归聚类方法在审
申请号: | 201510206140.9 | 申请日: | 2015-04-27 |
公开(公告)号: | CN104850594A | 公开(公告)日: | 2015-08-19 |
发明(设计)人: | 冀俊忠;高明霞;宋辰;刘金铎 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适合 大规模 数据 快速 递归 方法 | ||
技术领域
一种适合大规模数据的快速聚类方法属于数据挖掘中聚类研究领域。具体涉及一种适用于对时间有较高要求的聚类方法。
背景技术
随着移动计算技术的普及和物联网的兴起,产生了海量数据,尤其是文本、图像、视频等多媒体数据。正如《IDC预测2014》中所述,2014年,“数字宇宙”的尺寸—也即一年内创建、复制、和消费的所有数字化信息—将继续膨胀,超过50%达到约6ZB(6万亿兆兆字节)。以合理和可接受的时间分析和挖掘这些大数据成为IT领域的最大挑战。数据挖掘领域中的聚类或聚类分析经常被用于数据预处理,是探索性数据分析的一种常用形式,已被广泛应用到众多实际领域,如医药(疾病分类,基因分析),化学(化合物的分组),社会科学(统计结果分类),信息检索(话题检测与跟踪),计算机图形(图像分割)等。因此,目前数据挖掘领域中急需一种可以处理大规模数据(Large Data)甚至于大数据(big data)的聚类算法,用于解决需要快速处理的大数据应用,例如主题检测和跟踪,垃圾邮件过滤,图像分割等。
传统聚类算法,例如层次聚类算法,谱聚类算法等通常需要通过计算任意两个数据对象之间的相似性建立相似性矩阵。虽然这类聚类算法具有较高的准确度,其时间复杂度往往超过O(N2)。对于大规模数据,例如:样本量级接近105-108,或大数据,例如:样本数量级超过109,这样的时间复杂度是无法处理或很难忍受的。常见的用于处理大规模数据的聚类算法,他们的时间复杂度一般为O(n)或O(nlogn),例如,基于采样技术的CURE算法,和基于分而自治思想的BIRCH算法。CURE算法由于采用了多个样本点代表簇因此可以处理非球形数据,适用范围比较广,但是CURE算法最终所花费时间和采样比率密切相关,如何确定合适的采样比率本身就是个难题,另外该算法需要用户事先输入簇的数目,这对分布未知的大数据也是一个难题;BIRCH算法节省内存、可以增量式工作,因此可伸缩性很好,但是聚类结果依赖数据输入顺序,而且最终“簇”的个数要受限于 特征树中每个节点的对应控制参数。
发明内容
本发明基于快速排序思想,提出一种快速的非递归聚类方法,命名为NR-CAQS(Non-Recursive Clustering Algorithm based on Quicksort,NR-CAQS)。该方法首先定义了两个指示指针:end和start,用于定位待处理的数据。然后将待处理数据看作一个数据序列,从数据序列中随机选定一个基准数据看作簇的代表数据,并将其和end指针指向的数据进行交换,定义扫描过程指针i和j,i用于指示簇在序列中的位置,j用于从左向右扫描,初始化i和j,使的j指向start指针指向的数据,i指向j指针左移一位的位置,说明目前新簇没有元素。第三步通过对待处理数据进行扫描计算剩余数据和该基准数据的相似度值并和用户阈值比较,根据比较结果调整剩余数据在序列中的位置,遵循相似度值大于用户阈值的数据交换到序列左侧,相似度值小于用户阈值的数据交换到序列右侧。待处理数据扫描一次就完成一次数据分割。最后通过重置end和start指针,定位新的待处理数据并继续循环上述过程。
本发明提供的一种适合大规模数据的快速非递归聚类方法,具体步骤如下:
步骤1:输入用户相似度阈值K以及包含n个数据样本的初始待处理数据序列D,K的参考取值通常是同一簇中元素间的最小相似度值;
步骤2:定义待处理数据序列头和尾的指示指针分别为start和end,也即赋初值start等于1,end等于n;
步骤3:从待处理数据序列中随机选择一个数据作为基准值,并将其与end指示的数据进行交换;
步骤4:定义扫描指针i、j,并赋初值使的j等于start,i等于j指针向左移1位的取值;
步骤5:如果j>=end则执行步骤6,否则从左向右扫描指针start和end指示的序列,根据选定的相似度计算方式计算j指定的当前数据和基准值的相似度,并和用户阈值进行比较,如果相似度大于或等于用户阈值,则执行i指针向右移1步,并交换指针i和j指定的数据,然后j向右移1步,继续循环扫描,执行步骤5;如果相似度小于用户阈值则j向右移1步,继续循环扫描,执行步骤5;
步骤6:向右移动i指针1步,并交换i和end指定的数据;
步骤7:向右移动i指针1步,如果i小于end则重置start指针,使其指向i指针指示的数据并返回步骤3继续循环,否则算法终止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510206140.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置