谱聚类-----spectral clustering

    这篇论文介绍了谱聚类方法,即利用相似矩阵的光谱(特征值)来对数据降维。

 【论文链接】ON spectral clustering:analysis and an algorithm,Andrew Y.Ng .et al,​​​​​​​

总结下谱聚类算法的优点:

1)谱聚类只需要数据之间的相似度矩阵,因此处理稀疏数据的聚类很有效;传统聚类算法比如K-Means很难做到z这点。    

2)由于使用了降维,因此在处理高维数据聚类时的复杂度比传统聚类算法好。    

谱聚类算法的主要缺点有:

1)如果最终聚类的维度非常高,则由于降维的幅度不够,谱聚类的运行速度和最后的聚类效果均不好。

2) 聚类效果依赖于相似矩阵,不同的相似矩阵得到的最终聚类效果可能很不同。

  谱聚类可以与谱图分区相联系,在谱图分区中,常用一个图的拉普拉斯矩阵的第二个特征向量来定义一个半最优分割(semi-optimal cut),可以证明这个分割保证了一个最优切割的近似。若将此方法运用到聚类,可以通过建立一个带权图,其图中节点对应数据点,而边与点之间的距离有关。关于谱图分区的的大多数分析都将图分成两部分,并递归运用这种方法直到找到K个簇。实证表明,同时用多个特征向量并直接计算一个k way 分区会更好。本文的创新之处在于同时使用k个特征向量的方法并给出了算法预期效果好的理论条件。

  谱聚类算法描述如下

由于在步骤5中使用了K-均值,而不直接对原始数据使用k-均值是因为R^{2}的自然聚簇不对应凸区域,使得k-均值的聚类效果不理想。一旦将原始数据点映射到R^{k},它们形成紧凑的聚簇。

谱聚类的主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。一般来说,我们可以通过样本点距离度量的相似矩阵来获得邻接矩阵。

构建邻接矩阵WW的方法有三类 : ϵ-邻近法,K邻近法和全连接法。

[参考]

【1】谱聚类原理

【2】谱聚类

【3】谱聚类及其实现详解

【4】Spectral Clustering[谱聚类] - CSDN博客

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
谱聚类spectral clustering)是一种基于图论的聚类算法,适用于无法使用传统聚类算法(如K-means)有效划分的数据。谱聚类的核心思想是将数据集转换成图形结构,利用图的谱分解来实现聚类。 在Python中,有一个常用的谱聚类库是scikit-learn的`SpectralClustering`。该库提供了一种简单且高效的方法来执行谱聚类。 使用`SpectralClustering`库进行谱聚类的步骤如下: 1. 导入库:首先需要导入`SpectralClustering`库。 ```python from sklearn.cluster import SpectralClustering ``` 2. 创建模型:使用`SpectralClustering`函数创建一个谱聚类模型对象,并传入相关参数。 ```python model = SpectralClustering(n_clusters=2, affinity='nearest_neighbors') ``` 其中,`n_clusters`表示需要聚类的簇数,`affinity`表示相似度的计算方法,常用的选项包括`nearest_neighbors`和`rbf`。 3. 训练模型:使用`fit`函数训练模型,传入需要进行聚类的数据。 ```python model.fit(data) ``` 4. 获取聚类结果:通过访问模型的`labels_`属性,可以获取到每个样本的聚类标签。 ```python cluster_labels = model.labels_ ``` 聚类标签是一个表示每个样本所属簇的数组。 总结来说,Python的谱聚类库提供了一个方便而有效的方式来执行谱聚类。通过导入库、创建模型、训练模型和获取聚类结果的步骤,可以轻松地使用谱聚类算法对数据进行聚类分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值