- 25
- 0
- 约2.24千字
- 约 11页
- 2016-12-31 发布于未知
- 举报
谱聚类-MATLAB实现 算法 1) 构建表示对象集的相似度矩阵W; 2) 通过计算相似度矩阵或拉普拉斯矩阵的前k个特征值与特征向量,构建特征向量空间; 3) 利用K-means或其它经典聚类算法对特征向量空间中的特征向量进行聚类。 谱聚类的基本思想便是利用样本数据之间的相似矩阵(拉普拉斯矩阵)进行特征分解( 通过Laplacian Eigenmap 的降维方式降维),然后将得到的特征向量进行 K-means聚类。 拉普拉斯矩阵 拉普拉斯矩阵(Laplacian matrix) 也叫做导纳矩阵、基尔霍夫矩阵或离散拉普拉斯算子,主要应用在图论中,作为一个图的矩阵表示。 给定一个有n个顶点的图G,它的拉普拉斯矩阵定义为:L=D-A,其中D为图的度矩阵,A为图的邻接矩阵。 例: 图 邻接矩阵A 度矩阵D 拉普拉斯矩阵L MATLAB代码 1) 构建表示对象集的相似度矩阵W; d= pdist(M); W=squareform(d); 2) 根据相似度矩阵W构建非正规拉普拉斯矩阵; N=tril(W,0); s=sum(N); D=diag(s); L=D-N; 3) 计算拉普拉斯矩阵的前k个特征值与特征向量,构建特征向量空间; [Q,A]=eigs(L,k,SR); 4) 利用K-means对特征向量空间中的特征向量进行聚类。
原创力文档

文档评论(0)