聚类

聚类是一种无监督机器学习方法,它基于数据的内部结构寻找观察样本的自然族群(即集群),常用于新闻分类、推荐系统等。聚类的特点是训练数据没有标注,通常使用数据可视化评价结果。

聚类的常用方法包括

常用的聚类数据集包括

性能度量

我们希望聚类结果的“簇内相似度”高且“簇间相似度”低。其性能度量大致有两类:一类是将聚类结果与某个“参考模型”进行比较,称为“外部指标”;另一类是直接考查聚类结果而不利于任何参考模型。称为“内部指标”。

常用的外部指标包括以下几种,值越大越好

常用的内部指标包括以下几种

距离计算

“距离度量”需满足一些基本性质,如非负性、同一性、对称性和直递性。最常用的是闵可夫斯基距离、欧氏距离和曼哈顿距离(后两者其实都是闵可夫斯基距离的特例)。

闵可夫斯基距离只可用于有序属性,对无序属性可采用VDM(Value Difference Metric)。

原型聚类

原型聚类亦称“基于原型的聚类”,假设聚类结构能通过一组原型(原型是指样本空间中具有代表性的点)刻画。

常用的方法包括

密度聚类

密度聚类亦称“基于密度的聚类”,假设聚类结构能通过样本分布的紧密程度确定。典型的代表算法为DBSCAN算法,它基于一组“领域”(neighborhood)参数来刻画样本分布的紧密程度。

DBSCAN将“簇”定义为:由密度可达关系导出的最大的密度相连样本集合。

层次聚类

层次聚类(hierarchical clustering)试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略。 典型的AGNES是一种采用自底向上聚合策略的层次聚类算法。它先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。