小白入门谱聚类算法原理与实现
-
- 小白入门谱聚类算法原理与实现
- 1. 谱聚类是什么li>
- 2.谱聚类步骤
-
- 2.1 谱聚类构图
- 2.2 谱聚类切图
-
- 2.2.1RatioCut
- 2.2.2Ncut
- 3谱聚类实现
小白入门谱聚类算法原理与实现
文章结构主要分为下面三个部分
①谱聚类是什么
②谱聚类怎么进行聚类
③谱聚类应用例子
1. 谱聚类是什么h1>
首先回顾一下聚类的概念:
-
聚类:对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小
-
谱聚类:是一种基于图论的聚类方法,通过对样本数据的拉普拉斯矩阵的特征向量进行聚类,从而达到对样本数据聚类的目的。
直观的解释就是将聚类问题转化为一个无向图的多路划分问题,数据点看成无向图G(V,E)中的顶点V,加权边的集合E={Sij}表示基于某一点相似性度量的两点间的相似度,用S表示待聚类数据点之间的相似性矩阵,图G中把聚类问题转变为在图G上的图划分问题,即将图G(V,E)划分为K个互不相交的子集V1,V2,...Vk,划分后每个子集Vi和Vj之间的相似程度较低,每个子集内部相似度较高。
所以谱聚类的思想就是要转化为图分割的问题,因此下面从图的概念进行引入。
简单回顾一下图的基本概念
2.谱聚类步骤
有了图的概念之后,下面进入谱聚类的步骤。
下面以简单的6个样本为例,如下图所示
此时,得到邻接矩阵W后,需要计算度矩阵D:
如上图所示,用这种方法且会造成将V切成很多歌单点离散的图,显然这样是最快且最能满足最小化操作的,但是明显不是想要的结果,所以下面引出了RatioCut和Ncut两种优化的切图方式。
2.2.1RatioCut
Ratio切图考虑了子图的大小,避免了单个样本点作为一个簇的情况发生,平衡了各子图的大小,即
- 谱聚类优点:
①对数据结构并没有太多的假设要求,如kmeans则要求数据为凸集。
②可以构造稀疏similarity graph,使得对于更大的数据集相对来说也能有较好的计算速度
③由于谱聚类是对图切割处理,不会像kmesns聚类时将离散的小簇聚合在一起的情况。 - 缺点:
①对于选择不同的构图方式比较敏感
②求解过程主要时间在与矩阵的转换上,同时也需要较大的内存空间
参考资料
【论文】A Short Theory of the Rayleigh–Ritz Method
【博客】https://blog.csdn.net/yc_1993/article/details/52997074
【博客】https://blog.csdn.net/songbinxu/article/details/80838865
【博客】https://blog.csdn.net/pr310762957/article/details/53103709
【博客】https://www.cnblogs.com/pinard/p/6221564.html
【博客】https://www.cnblogs.com/pinard/p/6235920.html
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34601 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!