谱聚类算法总结

聚类三种方法:k-means聚类、密度聚类、层次聚类和谱聚类Spectrum Clustering

简述

谱聚类是一种基于图论的聚类方法——将带权无向图划分为两个或两个以上的最优子图,使子图内部尽量相似,而子图间距离尽量距离较远,以达到常见的聚类的目的。其中的最优是指最优目标函数不同,可以是割边最小分割,也可以是分割规模差不多且割边最小的分割。

谱聚类算法首先根据给定的样本数据集定义一个描述成对数据点相似度的亲合矩阵,并且计算矩阵的特征值和特征向量 , 然后选择合适 的特征向量聚类不同的数据点。谱聚类算法最初用于计算机视觉 、VLS I 设计等领域, 最近才开始用于机器学习中,并迅速成为国际上机器学习领域的研究热点。谱聚类算法建立在谱图理论基础上,其本质是将聚类问题转化为图的最优划分问题,是一种点对聚类算法,与传统的聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解的优点。

根据不同的图拉普拉斯构造方法,可以得到不同的谱聚类算法形式。 但是,这些算法的核心步骤都是相同的:

  1. 利用点对之间的相似性,构建亲和度矩阵;
  2. 构建拉普拉斯矩阵;
  3. 求解拉普拉斯矩阵最小的特征值对应的特征向量(通常舍弃零特征所对应的分量全相等的特征向量);
  4. 由这些特征向量构成样本点的新特征,采用K-means等聚类方法完成最后的聚类。

谱聚类概述

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

无向权重图

对于有边连接的两个点vi和vj,wij>0,若没有边连接,wij=0,度di定义为和它相连的所有边的权重之和,即


度矩阵Dnn是一个对角矩阵,只有对角线有值,对应第i个点的度数:

邻近矩阵Wn
n,第i行的第j个值对应我们的权重wij

相似矩阵

谱聚类中,通过样本点距离度量的相似矩阵S来获得邻接矩阵W。
构造邻接矩阵W的方法有ϵ -邻近法,K邻近法和全连接法
ϵ -邻近法:设置距离阈值ϵ,然后用欧氏距离sij度量任意两点xi和xj的距离,即sij=||xi-xj||22
邻接矩阵W定义为:


由于不够准确,所以很少使用。
K邻近法
利用KNN算法遍历所有的样本点,取每个样本最近的k个点作为近邻,只有和样本距离最近的k个点之间的wij>0.为了保证对称性:

  1. 只要一个点在另一点的k近邻中,则保留Sij
  2. 必须两个点互为k近邻,才保留Sij

    全连接法
    相比前两种方法,第三种方法所有的点之间的权重值都大于0,因此称之为全连接法。可以选择不同的核函数来定义边权重,常用的有多项式核函数,高斯核函数和Sigmoid核函数。最常用的是高斯核函数RBF,此时相似矩阵和邻接矩阵相同:

    在实际的应用中,使用第三种全连接法来建立邻接矩阵是最普遍的,而在全连接法中使用高斯径向核RBF是最普遍的。

拉普拉斯矩阵

L=D-W,D为度矩阵,是一个对角矩阵。W为邻接矩阵。
其性质如下:

  1. 拉普拉斯矩阵是对称矩阵,这可以由D和W都是对称矩阵而得。
  2. 由于拉普拉斯矩阵是对称矩阵,则它的所有的特征值都是实数。
  3. 对于任意的向量f,我们有

  4. 拉普拉斯矩阵是半正定的,且对应的n个实数特征值都大于等于0,即0=λ1≤λ2≤...≤λn, 且最小的特征值为0。

无向图切图

对于无向图G的切图,我们的目标是将图G(V,E)切成相互没有连接的k个子图,每个子图点的集合为:A1,A2,..Ak,它们满足Ai∩Aj=∅,且A1∪A2∪...∪Ak=V

对于任意两个子图点的集合A,B⊂V, A∩B=∅, 我们定义A和B之间的切图权重为:


对于k个子图点的集合:A1,A2,..Ak,我们定义切图cut为:

中A¯i为Ai的补集。
那么如何切图可以让子图内的点权重和高,子图间的点权重和低呢?一个自然的想法就是最小化cut(A1,A2,..Ak), 但是可以发现,这种极小化的切图存在问题,如下图:

我们选择一个权重最小的边缘的点,比如C和H之间进行cut,这样可以最小化cut(A1,A2,..Ak), 但是却不是最优的切图,如何避免这种切图,并且找到类似图中"Best Cut"这样的最优切图呢?

谱聚类之切图聚类

RatioCut切图

RatioCut切图为了避免最小切图,对每个切图,不光考虑最小化cut(A1,A2,..Ak),它同时还考虑最大化每个子图点的个数,即:


接下来是最小化这个 RatioCut函数:
引入指示向量hj={h1,h2,..hk},j=1,2,..k,对于任意一个向量hj,它是一个n维向量hj,它是一个n维向量,定义hji为:

对于hiTLhi:

对应的RatioCut函数表达式为:

注意到HTH=I,则我们的切图优化目标为:

对于hiTLhi,我们的目标是找到最小的L的特征值,e而

则我们的目标就是找到k个最小的特征值,一般来说,k远远小于n,也就是说,此时我们进行了维度规约,将维度从n降到了k,从而近似可以解决这个NP难的问题。
通过找到L的最小的k个特征值,可以得到对应的k个特征向量,这k个特征向量组成一个nxk维度的矩阵,即为我们的H。一般需要对H矩阵按行做标准化,即

由于我们在使用维度规约的时候损失了少量信息,导致得到的优化后的指示向量h对应的H现在不能完全指示各样本的归属,因此一般在得到nxk维度的矩阵H后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类.

Ncut切图

Ncut切图和RatioCut切图很类似,但是把Ratiocut的分母|Ai|换成vol(Ai). 由于子图样本的个数多并不一定权重就大,我们切图时基于权重也更合我们的目标,因此一般来说Ncut切图优于RatioCut切图。


对应的,Ncut切图对指示向量hh做了改进。注意到RatioCut切图的指示向量使用的是

标示样本归属,而Ncut切图使用了子图权重

来标示指示向量h,定义如下:

对于hiTLhi

优化目标函数为:

HTDH=I.推导如下:

最终为:

令H=D-1/2F,将指示向量矩阵H做一个小小的转化,使其为标准正交基,则HTLH=FTD-1/2LD-1/2F, HTDH=FTF=I
那么目标函数变为:

这样我们就可以继续按照RatioCut的思想,求出D-1/2LD-1/2的最小的前k个特征值,然后求出对应的特征向量,并标准化,得到最后的特征矩阵F,最后对F进行一次传统的聚类(比如K-Means)即可。
D-1/2LD-1/2相当于对拉普拉斯矩阵L做了一次标准化,

谱聚类算法流程

谱聚类主要的注意点为相似矩阵的生成方式,切图的方式以及最后的聚类方法。
最常用的相似矩阵的生成方式是基于高斯核距离的全连接方式,最常用的切图方式是Ncut。而到最后常用的聚类方法为K-Means。下面以Ncut总结谱聚类算法流程。

输入:样本集D=(x1,x2,...,xn),相似矩阵的生成方式, 降维后的维度k1, 聚类方法,聚类后的维度k2
输出: 簇划分C(c1,c2,...ck2)

  1. 根据输入的相似矩阵的生成方式构建样本的相似矩阵S
    2)根据相似矩阵S构建邻接矩阵W,构建度矩阵D
    3)计算出拉普拉斯矩阵L
    4)构建标准化后的拉普拉斯矩阵D-1/2LD-1/2
    5)计算D-1/2LD-1/2最小的k1个特征值所各自对应的特征向量f
  2. 将各自对应的特征向量f组成的矩阵按行标准化,最终组成n×k1维的特征矩阵F
    7)对F中的每一行作为一个k1维的样本,共n个样本,用输入的聚类方法进行聚类,聚类维数为k2。
    8)得到簇划分C(c1,c2,...ck2)

总结

谱聚类算法的主要优点有:
1)谱聚类只需要数据之间的相似度矩阵,因此对于处理稀疏数据的聚类很有效。这点传统聚类算法比如K-Means很难做到
2)由于使用了降维,因此在处理高维数据聚类时的复杂度比传统聚类算法好。
谱聚类算法的主要缺点有:
1)如果最终聚类的维度非常高,则由于降维的幅度不够,谱聚类的运行速度和最后的聚类效果均不好。

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

转自:https://www.cnblogs.com/pinard/p/6221564.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,914评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,935评论 2 383
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,531评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,309评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,381评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,730评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,882评论 3 404
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,643评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,095评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,448评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,566评论 1 339
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,253评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,829评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,715评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,945评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,248评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,440评论 2 348