一、谱聚类的演算
(一)、演算
1、谱聚类概览
谱聚类演化于图论,后由于其表现出优秀的性能被广泛应用于聚类中,对比其他无监督聚类(如kmeans),spectral clustering的优点主要有以下:
1.过程对数据结构并没有太多的假设要求,如kmeans则要求数据为凸集。
2.可以通过构造稀疏similarity graph,使得对于更大的数据集表现出明显优于其他算法的计算速度
3.由于spectral clustering是对图切割处理,不会存在像kmeans聚类时将离散的小簇聚合在一起的情况。
4.无需像GMM一样对数据的概率分布做假设
同样,spectral clustering也有自己的缺点,主要存在于构图步骤,有如下:
1.对于选择不同的similarity graph比较敏感(如 epsilon-neighborhood, k-nearest neighborhood, full connected 等)
2.对于参数的选择也比较敏感(如epsilon-neighborhood的epsilon,k-nearest neighborhood的k)
谱聚类过程主要有两步,第一步是构图,将采样点数据构造成一张网图,表示为G(V,E),V表示图中的点,E表示点与点之间的边,如下图:
图1 谱聚类构图(来源wiki)
第二步是切图,即将第一步构造出来的按照一定的切边准则,切分成不同的图,而不同的子图,即我们对应的聚类结果,举例如下:
图2 谱聚类切图
初看似乎并不难,但是…,下面详细说明推导。
2、谱聚类构图
在构图中,一般有三种构图方式:
3. fully connected
前两种可以构造出稀疏矩阵,适合大样本的项目,第三种则相反,在大样本中其迭代速度会受到影响制约,在讲解三种构图方式前,需要引入similarity function,即计算两个样本点的距离,一般用欧氏距离:
Si,j表示样本点xi与xj的距离,或者使用高斯距离
其中σ 的选取也是对结果有一定影响,其表示为数据分布的分散程度,通过上述两种方式之一即可初步构造矩阵S:Si,j=[s]i,j,一般称 为Similarity matrix(相似矩阵)。
对于第一种构图ε-neighborhood,顾名思义是取si,j≤ε的点,则相似矩阵S可以进一步重构为邻接矩阵(adjacency matrix)W:
![](https://i-blog.csdnimg.cn/blog_migrate/d4118b5f9606f8253306bb286024d683.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fa444d38ad0ab44b0b57ff270cab6f26.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0dcd2a4079a001daa6dd7dda6508cd57.png)