谱聚类|机器学习推导系列(二十)

简介: 谱聚类|机器学习推导系列(二十)

一、概述


对于下图所示的数据进行聚类,可以采用GMM或者K-Means的方法:


FV@CADUC1X`%S}$YYY(QQKO.png

                                     数据


然而对于下图所示的数据,单纯的GMM和K-Means就无效了,可以通过核方法对数据进行转换,然后再进行聚类:


(D5Y~T~}MGK(~7@1(Y22`IS.png

                                          数据    


如果直接对上图所示的数据进行聚类的话可以考虑采用谱聚类(spectral clustering)的方法。


总结来说,聚类算法可以分为两种思路:


①Compactness,这类有 K-means,GMM 等,但是这类算法只能处理凸集,为了处理非凸的样本集,必须引⼊核技巧。

②Connectivity,这类以谱聚类为代表。


二、基础知识


  1. 无向权重图


谱聚类的方法基于带权重的无向图,图的每个节点是一个样本点,图的边有权重,权重代表两个样本点的相似度。

$K_4D)_VEP~O}3@D5UYADJH.png

CLLFR6N{PE47H~L0FKY)53E.png


  1. 邻接矩阵

Y$KF@O6LBYAW1PA@PZ_ZKHW.png

E{NE$IL%)1UPZT%%4%9%XYA.png

上述方法是不用先建立图而直接获得邻接矩阵,在编程实现时能够更加简便,构建的邻接矩阵也就表明了哪些样本点之间有边连接。也可以采用先建立图然后再在图上有边的数据点上保留权重获得邻接矩阵的方法。


  • 全连接法

HAP`$N_$3XUF`1LU~5[`AW6.png

在实际应用时选择全连接法建立邻接矩阵是最普遍的,在选择相似度度量时径向基核函数是最普遍的。


  1. 拉普拉斯矩阵


Z0Q@E]W49YGXXJRAO[CRY5J.png

①对称性。


②由于其对称性,则它的所有特征值都是实数。

③对于任意向量EP`KH_C3%]O5BTF3$37`4KG.png,有:


YD{JCD$%VP2KLKIP4H9)~CR.png


这一性质利用拉普拉斯矩阵的性质很容易可以得到:


V~%OAF6TOO_XJKZA8K1GL]X.png

RQFQ$V[AO7F)WQX]%FG]VCF.png


每个子图就相当于聚类的一个类,找到子图内点的权重之和最高,子图间的点的权重之和最低的切图就相当于找到了最佳的聚类。实现这一点的一个很自然的想法是最小化ATB[_7N3@W_10L58SJU1V3M.png。然而这种方法存在问题,也就是最小化的ATB[_7N3@W_10L58SJU1V3M.png对应的切图不一定就是符合要求的最优的切图,如下图:


Z`]KLVM3F_W]J8T4A13({14.png

                                  举例


]3VCB[9R5X$64G65OY8582L.png

接下介绍谱聚类使用的切图方法。


三、谱聚类之切图聚类


ML%RM6UKA}1WXDMXK3AUV65.png

VE}ZCK$O}_REPQ{[NMKYGWX.png

CM6H%4~V_MP7TL%Y@%QGDHM.png

GT}4HDA(V9~AMBPYWP4{682.png

%SXIFY`YTGYTY8%{NJ95)%X.png

$@}VM}O`VL]KSQR}(LKHR0A.png

9PIN6LKLBAV{~)I8EABK3]8.png

S$KBCJ`GPX4Y)X@G%P3%CEQ.png


四、总结


  1. 算法流程

9N{Q$PGXC(LM}[A56HPI3_J.png

  1. 优缺点


谱聚类的优点有:


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


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


谱聚类的缺点有:


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


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


参考资料


ref:谱聚类(spectral clustering)原理总结

相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
141 4
|
3月前
|
机器学习/深度学习 算法 数据可视化
机器学习的核心功能:分类、回归、聚类与降维
机器学习领域的基本功能类型通常按照学习模式、预测目标和算法适用性来分类。这些类型包括监督学习、无监督学习、半监督学习和强化学习。
73 0
|
5月前
|
机器学习/深度学习 数据采集 算法
【机器学习】K-Means聚类的执行过程?优缺点?有哪些改进的模型?
K-Means聚类的执行过程、优缺点,以及改进模型,包括K-Means++和ISODATA算法,旨在解决传统K-Means算法在确定初始K值、收敛到局部最优和对噪声敏感等问题上的局限性。
74 2
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】聚类算法中的距离度量有哪些及公式表示?
聚类算法中常用的距离度量方法及其数学表达式,包括欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、余弦相似度等多种距离和相似度计算方式。
484 1
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】Python详细实现基于欧式Euclidean、切比雪夫Chebyshew、曼哈顿Manhattan距离的Kmeans聚类
文章详细实现了基于不同距离度量(欧氏、切比雪夫、曼哈顿)的Kmeans聚类算法,并提供了Python代码,展示了使用曼哈顿距离计算距离矩阵并输出k=3时的聚类结果和轮廓系数评价指标。
114 1
|
7月前
|
机器学习/深度学习 数据挖掘
机器学习之聚类——模糊聚类FCM
机器学习之聚类——模糊聚类FCM
141 4
|
7月前
|
机器学习/深度学习 算法 搜索推荐
机器学习中的聚类
**文章摘要:** 本文介绍了聚类算法的基本概念、应用、实现流程和评估方法。聚类是一种无监督学习技术,用于将数据分为相似的组,如K-means、层次聚类、DBSCAN和谱聚类。K-means算法通过迭代优化质心,将数据点分配到最近的簇,直至质心不再变化。模型评估包括误差平方和(SSE)、肘部方法(确定最佳簇数)和轮廓系数法(Silhouette Coefficient),以量化聚类的紧密度和分离度。应用场景涵盖用户画像、广告推荐和图像分割等。在Python的sklearn库中,可以使用KMeans API进行聚类操作。
|
7月前
|
机器学习/深度学习 算法 数据挖掘
机器学习——DBSCAN 聚类算法
【6月更文挑战第8天】DBSCAN是一种基于密度的无监督聚类算法,能处理不规则形状的簇和噪声数据,无需预设簇数量。其优点包括自动发现簇结构和对噪声的鲁棒性。示例代码展示了其基本用法。然而,DBSCAN对参数选择敏感,计算效率受大规模数据影响。为改善这些问题,研究方向包括参数自适应和并行化实现。DBSCAN在图像分析、数据分析等领域有广泛应用,通过持续改进,将在未来保持重要地位。
95 2
|
7月前
|
机器学习/深度学习 分布式计算 算法
在机器学习项目中,选择算法涉及问题类型识别(如回归、分类、聚类、强化学习)
【6月更文挑战第28天】在机器学习项目中,选择算法涉及问题类型识别(如回归、分类、聚类、强化学习)、数据规模与特性(大数据可能适合分布式算法或深度学习)、性能需求(准确性、速度、可解释性)、资源限制(计算与内存)、领域知识应用以及实验验证(交叉验证、模型比较)。迭代过程包括数据探索、模型构建、评估和优化,结合业务需求进行决策。
65 0
|
7月前
|
机器学习/深度学习 算法 数据可视化
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
71 0