聚类算法-谱聚类

谱聚类是一种数据聚类算法类似于K-means,通过将样本之间的相似性转换为图论问题来实现聚类。

相似度矩阵W

首先我们要得到一个相似度矩阵(邻接矩阵) W W W,用来刻画样本与样本之间的相似度,其中W[i][j]代表的是样本ij之间的相似度。

假如图是下面这个样子,其中点集为 V = { v 1 , v 2 , v 3 } V=\{v_1,v_2,v_3\} V={v1,v2,v3}
在这里插入图片描述

那么其邻接矩阵就是这个样子:
( 0 1 1 1 0 5 1 5 0 ) \begin{pmatrix} 0 & 1 & 1 \\ 1 & 0 & 5 \\ 1 & 5 & 0 \end{pmatrix} 011105150

拉普拉斯矩阵

L = D − W L=D-W L=DW,其中 D D D为度矩阵,也就是一个对角矩阵,其中对角线上的元素 D i i = ∑ j = 1 N w i j D_{ii}=\sum_{j=1}^{N}{w_{ij}} Dii=j=1Nwij为i号点的度。
上图中的D矩阵可表示为:
( 2 0 0 0 6 0 0 0 6 ) \begin{pmatrix} 2&0&0\\ 0&6&0\\ 0&0&6 \end{pmatrix} 200060006
L L L为:
( 2 − 1 − 1 − 1 6 − 5 − 1 − 5 6 ) \begin{pmatrix} 2&-1&-1\\ -1&6&-5\\ -1&-5&6 \end{pmatrix} 211165156
还有标准化的拉普拉斯矩阵 L = D − 1 2 ∗ L ∗ D − 1 2 L=D^{-\frac{1}{2}}*L*D^{-\frac{1}{2}} L=D21LD21

目标函数

假如最后的聚类结果为 { A 1 , A 2 , . . . , A k } \{A_1, A_2, ...,A_k\} {A1,A2,...,Ak},我们希望最大化簇内相似性,同时最小化簇间相似性。
m i n 簇间相似性 簇内相似性 min\frac{簇间相似性}{簇内相似性} min簇内相似性簇间相似性

算法流程

  1. 构建相似度矩阵 W W W和度矩阵 D D D,计算标准化的拉普拉斯矩阵 L m a t Lmat Lmat
  2. 计算Lmat矩阵对应的特征值 λ \lambda λ和特征向量V
  3. 取前 k k k个最小的特征值对应的特征向量组成 n ∗ k n*k nk矩阵 U U U
  4. 将矩阵 U U U中的每一行当成一个样本来进行kmeans聚类
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真的卷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值