特异群组是指由给定大数据集里面少数相似的数据对象组成的、表现出相异于大多数数据对象而形成异常的群组[3,4],是一种高价值、低密度的数据形态。特异群组挖掘、聚类和异常检测都是根据数据对象间的相似程度来划分数据对象的数据挖掘任务,但它们在问题定义、算法设计和应用效果上存在差异[5]。
1)与聚类的比较
聚类是根据最大化簇内相似性、最小化簇间相似性的原则,将数据对象集合划分成若干个簇的过程[6]。相似性是定义一个簇的基础,聚类过程的质量取决于簇相似性函数的设计,不同的簇相似性定义将得到不同类别的簇[7] 。例如,参考文献[7]给出了几种不同类别的簇:图7-2a表示明显分离的簇(每个对象到同一簇中对象的距离比到不同簇中任意对象的距离更近或更相似);图7-2b表示基于原型的簇(每个对象到定义该簇的原型的距离比到其他簇的原型的距离更近或更相似);图7-2c是基于密度的簇(簇是对象的稠密区域);图7-2d表示一种概念簇(簇是有某种共同性质的对象的集合)。可以看出,具有某种共同性质的对象取决于挖掘目标的定义。不同的簇相似性定义得到不同的簇,甚至还有不同形状、不同密度的簇。
图7-2 不同相似性定义下的各种簇7
但不管怎样,传统聚类算法是处理大部分数据对象具有成簇趋势的数据集,将大部分数据对象划分成若干个簇。然而,在一些大数据应用中,大部分数据并不呈现聚类趋势,而仅有少部分数据对象能够形成群组。(www.xing528.com)
特异群组挖掘是在大数据集中发现特异群组,找出的是少部分具有相似性的数据对象。与聚类的共同之处是,特异群组中的对象也具有相似性,并将相似对象划分到若干个组中,这在一定程度上符合传统簇的概念。但是,特异群组之外的对象数目一般远大于特异群组中对象的数目,并且这些对象不属于任何簇,这和聚类的目的是不同的。
2)与异常检测的比较
少部分数据对象的挖掘通常被认为是异常检测任务[8]。在特异群组挖掘问题中,相对于不在任何群组中的大部分数据对象而言,少部分相似对象形成的群组是一种异常。但是,现有的异常检测算法难以直接用于特异群组挖掘。一是目前大多数异常挖掘算法的目标是发现数据集中那些少数不属于任何簇,也不和其他对象相似的异常点(point anomalies)[9],这和特异群组的目标不同;二是除异常点检测外,存在一些算法用于发现异常点成簇的情况,称为微簇挖掘(micro-cluster或clustered anomalies)[ 10 ,11] ,但是该任务也对剩下的大部分数据有聚类假设,即微簇问题在一个数据集中包含点异常、微簇和簇,这不同于特异群组挖掘;三是集体异常(collective anomalies)挖掘任务也不同于特异群组挖掘,因为集体异常只能出现在数据对象具有相关性的数据集中,其挖掘要求探索数据集中的结构关系[9]。 目前集体异常挖掘主要处理序列数据、图数据和空间数据。
3)三者关系
通过上述比较分析可以得到,如果一个数据集中的大部分数据对象都能够归属于某些簇,那么那些不能归属于任何簇的数据对象就是异常对象;如果一个数据集中的大部分数据对象都不属于任何簇,那么那些具有相似性的数据对象所形成的群组就是特异群组。因此,挖掘的需求决定了簇、特异群组、异常点:如果需要找大部分数据对象相似,则是聚类问题;需要找少部分数据对象相似,则为特异群组;如果是找少数不相似的数据对象,则为异常。
综上,特异群组挖掘结合了聚类和异常检测的一些特点,但又具有自身的特性。特异群组挖掘所关注的是一个大数据集中大部分数据对象不相似,而每个特异群组中的对象是相似的。即特异群组对象的群体性和普通对象的个体性不同,群组中的个体对象本身单独而言并不一定特异,只是和群组中的相关对象一起构成了特异群组。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。