一种改进的层次聚类算法
2011-09-07靳延安刘行军
武汉理工大学学报(信息与管理工程版) 2011年6期
靳延安,刘行军
(湖北经济学院信息管理学院,湖北 武汉 430205)
聚类是把各不相同的个体分割为有更多相似性的簇的工作。由聚类所组成的簇是一组数据对象的集合,这些对象与同一簇中的对象彼此类似,与其他簇中的对象相异[1],目前,已有大量的聚类算法。根据数据的类型、目的和应用场景,主要的聚类算法通常分为划分方法[2-3]、层次方法[4-7]、基于密度的方法[8-9]、基于网格的方法[10]和基于模型的方法[11-12]。其中层次聚类算法由于其简单,得到了广泛的应用。但该方法经常会遇到合并或分裂点选择的问题。一旦一组对象被合并或者分裂,下一步的处理将在新生成的簇上进行,已做的处理不能被撤销,聚类之间也不能交换对象。若在某一步没有很好地选择合并或分裂,可能导致低质量的聚类结果。
为了改进层次聚类算法的质量,国内外学者进行了大量研究[13-15],其中一个很有希望的改进方向是结合其他聚类技术形成多阶段聚类。LINVY等提出了BIRCH算法,该算法首先使用CF树结构对数据对象进行划分,然后采用其他算法对聚类结果进行求精。该算法具有对数据对象数目的线性伸缩性,并且有较好的聚类质量,但是该算法对于非球形簇效果不是很好。GUHA等采用了随机取样和划分两种方法组合解决了偏好球形和相似大小的问题。KARYPIS等提出了一种基于动态模型的聚类算法,该算法首先通过图划分算法将数据对象聚类为大量相对较小的子聚类,然后用一个凝聚的层次算法反复地合并子类来找到真正的结果簇。……
登录APP查看全文
