通俗理解谱聚类

转自:谱聚类(spectral clustering)原理总结 - 刘建平Pinard - 博客园

本文对其中的难懂的地方做一些备注

 谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,更加难能可贵的是实现起来也不复杂。在处理实际的聚类问题时,个人认为谱聚类是应该首先考虑的几种算法之一。下面我们就对谱聚类的算法原理做一个总结。

1. 谱聚类概述

    谱聚类是从图论中演化出来的算法,后来在聚类中得到了广泛的应用。它的主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。

    乍一看,这个算法原理的确简单,但是要完全理解这个算法的话,需要对图论中的无向图,线性代数和矩阵分析都有一定的了解。下面我们就从这些需要的基础知识开始,一步步学习谱聚类。

 

 其中:指示向量hj 是每一个子图对应一个指示向量,h_{j}\in {h_{1},h_{2},..h_{k}} j=1,2,...k,为k个子图对应的指示向量,每一个指示向量都是n维的,因为有n个样本数。

这儿我们需要理解一下每个h_{j}对应的结构,我们理解h_{j}有n位元素,每个数值代表这个元素是否在A_{j}的子图中,而每一个元素都只能在一个子图中,所以h_{j}的结构类似如下(对于5个样本,2个子图的结构):

\begin{bmatrix} h_{1} &h_{2} \end{bmatrix} =\begin{bmatrix} a_{1}& 0 \\ a_{1}& 0\\ 0 & a_{1}\\ 0 & a_{1}\\ 0& a_{1} \end{bmatrix}

第1,2个样本属于A_{1},所以h_{1} 的第1,2位置的数不为0,第3,4个样本属于A_{2},所以h_{2} 的第3,4位置的数不为0,每一行只有一个元素不为0,其余的都为0。

H^{T}H=I的理解:

H^{T}H为一个K X K维单位矩阵,其中K为K个子图 

H= \begin{bmatrix} h_{1} & h_{2} & ..... \end{bmatrix} ,为n X K 维矩阵,由于每行只有一个数不为0,所以H^{T}H每行与每行相乘,只有自己与自己相乘的时候为1,这也就得到了H^{T}H=I

谱聚类的实现:用scikit-learn学习谱聚类 - 刘建平Pinard - 博客园

轮廓系数(silhouette coefficient) 结合了凝聚度和分离度,其计算步骤如下:

对于第 i 个对象,计算它到所属簇中所有其他对象的平均距离,记 ai (体现凝聚度)
对于第 i 个对象和不包含该对象的任意簇,计算该对象到给定簇中所有对象的平均距离,记 bi (体现分离度)
第 i 个对象的轮廓系数为 si = (bi-ai)/max(ai, bi)  
从上面可以看出,轮廓系数取值为[-1, 1],其值越大越好,且当值为负时,表明 ai<bi,样本被分配到错误的簇中,聚类结果不可接受。对于接近0的结果,则表明聚类结果有重叠的情况。可以使用该系数检测分类结果是否可接受

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值