聚类[1]–概述

聚类(Clustering)就是将数据分组成为多个类(Cluster)。在同一个类内对象之间具有较高的相似度,不同类之间的对象差别较大

一、主要聚类算法的分类

层次的方法(也称系统聚类法)(hierarchical method)
划分方法(partitioning method)
基于密度的方法(density-based method)
基于网格的方法(grid-based method)
基于模型的方法(model-based method)
……
其中,前两种算法是利用统计学定义的距离进行度量

1. 层次的方法(也称系统聚类法)(hierarchical method)

定义:对给定的数据进行层次的分解
分类:凝聚的(agglomerative)方法(自底向上)(案例介绍)
思想:一开始将每个对象作为单独的一组,然后根据同类相近,异类相异的原则,合并对象,直到所有的组合并成一个,或达到一个终止条件为止。

2.分裂的方法(divisive)(自顶向下)

思想:一开始将所有的对象置于一类,在迭代的每一步中,一个类不断地分为更小的类,直到每个对象在单独的一个类中,或达到一个终止条件
特点:
类的个数不需事先定好
需确定距离矩阵
运算量要大,适用于处理小样本数据

3. 划分方法(Partitioning method)

较流行的方法有:动态聚类法(也称逐步聚类法),如k-均值算法、k-中心点算法

思想:随机选择k个对象,每个对象初始地代表一个类的平均值或中心,对剩余每个对象,根据其到类中心的距离,被划分到最近的类;然后重新计算每个类的平均值。不断重复这个过程,直到所有的样本都不能再分配为止。
特点:
k事先定好
创建一个初始划分,再采用迭代的重定位技术
不必确定距离矩阵
比系统聚类法运算量要小,适用于处理庞大的样本数据
适用于发现球状类
缺陷:
不同的初始值,结果可能不同
有些k均值算法的结果与数据输入顺序有关,如在线k均值算法
用爬山式技术(hill-climbing)来寻找最优解,容易陷入局部极小值

4. 基于密度的方法(density-based method)

主要有DBSCAN,OPTICS法
思想:
只要临近区域的密度超过一定的阀值,就继续聚类
特点:
可以过滤噪声和孤立点outlier,发现任意形状的类

5. 基于网格的方法(grid-based method)

把样本空间量化为有限数目的单元,形成一个网络结构,聚类操作都在这个网格结构(即量化空间)上进行

6.  基于模型的方法(model-based method)

n 为每个类假定一个模型,寻找数据对给定模型的最佳拟合。

n 此不详述,有兴趣可以参考《DataMing Concepts and Techniques》即《数据挖掘概念于技术》Jiawei Han Micheline Kamber机械工业出版社

7. 不稳定的聚类方法

受所选择变量的影响
如果去掉或者增加一些变量,结果会很不同.因此,聚类之前一定要明确目标,选择有意义的变量。
变量之间的相关性也会影响聚类结果,因此可以先用主成分或因子分析法把众多变量压缩为若干个相互独立的并包含大部分信息的指标,然后再进行聚类
输入参数凭主观导致难以控制聚类的质量
很多聚类算法要求输入一定的参数,如希望产生的类的数目,使得聚类的质量难以控制,尤其是对于高维的,没有先验信息的庞大数据。
首先要明确聚类的目的,就是要使各个类之间的距离尽可能远,类中的距离尽可能近,聚类算法可以根据研究目的确定类的数目,但分类的结果要有令人信服的解释。
在实际操作中,更多的是凭经验来确定类的数目,测试不同类数的聚类效果,直到选择较理想的分类。

二、讨论

算法的选择没有绝对

当聚类结果被用作描述或探查工具时,可以对同样的数据尝试多种算法,以发现数据可能揭示的结果。

聚类分析中权重的确定
当各指标重要性不同的时候,需要根据需要调整权重。如加权欧式距离,权重可以用专家法确定。

参考资料:上海财经大学统计学系 吕江平

发表评论

电子邮件地址不会被公开。 必填项已用*标注