聚类(Clustering[1])就是将物理或抽象对象[a]的集合分成相似的对象类[b]的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇[c]中的对象彼此相似,与其他簇中的对象相异。[7]聚类分析能最大程度地实现类中对象相似度最大、类间对象相似度最小,[8]揭示数据之间的内在联系与区别,[9]可以帮助识别数据中不明确的模式或关系。[10]
1963年,一篇由皮特·思科乐(Peter Sokal)和罗伯特·史内斯(Robert Sneath)创作的名为《数值分类学原理》的专著,推动了聚类方法的研究。[11]1967年,K-Means算法被提出,[12]后来学者开始扩展多种聚类算法和方法。[13]随着信息技术的飞速发展,聚类分析成为数据挖掘和分析的关键手段,聚类技术能够很好的对海量数据进行挖掘和处理,找出其中有价值的数据。[6] 聚类算法有多种类别,包括基于密度的聚类算法、基于网格的聚类算法、基于层次的聚类算法和模糊聚类算法等[6][1],在医学、农业、市场、能源和搜索引擎等方面和领域都有广泛的应用。[8]但聚类分析面临着一些挑战,包括难以处理高维数据[d]、缺乏基本事实、可解释性差、难以扩展等。[14]
发展历程
聚类分析起源于分类学。[15]1932年,德里弗(Driver)和克罗格(Krober)在人类学中首次应用聚类分析,随后约瑟夫·祖斌(Joseph Zubin)和罗伯特·泰伦(Robert Tryon)分别于1938年和1939年将其引入心理学。1943年,卡特尔(Cattell)将其用于人格心理学中的特质理论分类。[16]1963年,一篇由皮特·思科乐(Peter Sokal)和罗伯特·史内斯(Robert Sneath)创作的名为《数值分类学原理》的专著推动了世界范围内对聚类方法的研究。[11]