graph Laplacian 拉普拉斯矩阵

来源:互联网 发布:mba有用吗 知乎 编辑:程序博客网 时间:2024/05/17 00:15

拉普拉斯矩阵是个非常巧妙的东西,它是描述图的一种矩阵,在降维,分类,聚类等机器学习的领域有很广泛的应用。

什么是拉普拉斯矩阵

拉普拉斯矩阵

  先说一下什么是拉普拉斯矩阵,英文名为Laplacian matrix,其具体形式得先从图说起,假设有个无向图如下所示, 
  

无向图

  其各个点之间的都有相应的边连接,我们用某个指标(这地方可以任意选择,比如欧氏距离、测地距离、或者高斯相似度等)来衡量两个点的相似度,表示为W=wij,没有边连接的其相似度自然为零,W是个对称矩阵;某个点的与所有点的相似度之和,表示为D=dig(d);d=rowSum(W)D是个对角阵;我们的拉普拉斯矩阵则是L=DW

拉普拉斯矩阵的性质

  性质: 
  (1)L是半正定矩阵。 
  (2)L的最小特值为0,对应特向为全1列向量。 
  (3)对Lf=λDfm个非负实特征值,0=λ1λ2...λm
  (4)对于任意一个属于实向量fRm,都有此公式成立: 
  fTLf=12mi,j=1wij(fifj)2 
  它又有什么用处呢?跟目标是有关系的,哈哈~ 
  证明如下:  fm1的实数列向量 
  fTLf=fTDffTWf 
  =fTdig(d)ffTWf 
  =mi=1dif2imj=1[i=1fjwij]fj 
  因为mi,j=1fifjwij=mj=1[mi=1fiwij]yj所以 
  =mi=1dif2imi,j=1fifjwij   
  =12[mi=1dif2i2mi,j=1fifjwij+mj=1djf2j] 
  =12mi,j=1wij(fifj)2 
  

拉普拉斯特征映射

  拉普拉斯特征映射将处于流形上的数据,在尽量保留原数据间相似度的情况下,映射到低维下表示。 
  其步骤如下: 
  1. 构造近邻图(用近邻图图近似流形) 
    1.1 近邻条件||xixj||2ϵ, xi表示第i个样本。 
    1.2 K近邻 
  2. 计算边权重(即样本间相似度) 
    2.1 热核 wij=exp(||xixj||2t)0ij 
    2.2 简单形式wij={10xixj 
  3. 特征映射 
    求解Lf=λDf;广义特征值问题。 
    得到解如下:(特向和特值) 
    {Lf0=λ0Df0;Lf1=λ1Df1;...Lfm=λmDfm0=λ0λ1...λm 
    取小的前kf来嵌入到k维欧氏空间里。 
    xi>(f1(xi),f2(xi),...,fk(xi)) 
  至于为神马min[mi,j=1wij||yiyj||2tr(YTLY)],愣是没有看出所以然来,哎~ 
  倒腾了一大通,终于把为什么目标min[mi,j=1wij||SiSj||2]等价于min[yTLy]给搞明白了。yRm 
  具体解释如下图所示:(左侧是基本思路,中间是核心推导,右侧是直观理解) 
  

拉普拉斯映射推导

  但是还有个问题没有解决,就是为什么min(yTLy)等价于min[tr(yTLy)],并且转换成立找最小的广义特征值Ly=λDy? 
  只能从直觉上理解yTLy可以化为λ1z21+λ2z22+...+λmz2m的样子,最小化这个平方和的式子,也就是最小化其系数和,也就是最小化特值,也就是找对应特向。拉普拉斯矩阵是实对称矩阵,不同特值对应正交特向,可以通过正交变换(此处用到了特向)得到形如平方和的标准二次型。 
  为什么是用广义特征值Ly=λDy没有搞懂,囧? 
  拉普拉斯映射就是直接在低维下找到样本,使得所有样本保持原来的相似度。

应用于降维

  求解广义特征向量,取前几个非零最小特值对应的特向,即为原数据在低维下的表示。

应用于聚类

  三个概念: 
  (1)对于邻接矩阵,定义图中A子图与B子图之间的所有边的权重之和为:W(A,B)=iA,jBWij 
  W为所有边的权重,及样本间相似度矩阵。 
  (2)与某点的所有边的权重和定义为该顶点的度di=mj=1Wij 
  (3)Graph Cut,就是把一个图的一些边切断,把一个图变为若干独立的子图,而这些被切断的边的权重之和称为Cut值。 
  对于如下图,我们想找到某个割把整个图分成两个子图。 
  

谱聚类

  Cut(A,B)=iA,jBwij 
  上面的割会把孤立节点分割出来,为避免这种情况,出现了RatioCut以及NormalizedCut: 
  RatioCut=cut(A,B)|A|+cut(A,B)|B| 
  NCut=cut(A,B)vol(A)+cut(A,B)vol(B) 
  其中|A|表示A中节点的数目,vol(A)=iAwij,此两者都可以算作A的大小的一种度量。 
  谱聚类,由最小割入手,转换到最小化二次型求解,其中包含了拉普拉斯映射降维的思想。 
  例如,取qi={c1c2iAiB 
  则Cut(A,B)=iA,jBwij 
  mi=1mj=1wij(qiqj)2=qTLq这里跟上面的一样了。这里做了松弛处理即q不再是取值为某两个值了,而是任意实数。 
  Rayleigh quotient(瑞利商)R(L,q)=qTLqqTq 
  其最大值和最小值分别等于矩阵L最大和最小的特值分别对应的特向。 
  因此,最小化割问题,也就变成了找L的非零最小特值对应特向的问题了。求解特向:Lq=λq,排序特值,选择特向,传统聚类方法开搞。 
  我们想把原图分成两个子图,肯定找到一个最小割对应的特向即可,那么要是想分成3个子图,那就需要最小割和次小割所对应的特向解即可。(这个地方这样理解会直观一些,最小割对应的特向是降维后包含分割为两个子图的信息,而最小割加次小割对应的特向则是包含分割为3个子图的信息)聚几类,则取前几个最小非零特值对应的特向的意义就在于此。 
  谱图理论需要找个时间看看。

小结

  1)拉普拉斯矩阵是一种图的矩阵表示。 
  2)拉普拉斯映射是在保持原流形数据相似度的情况下,直接降维到低维空间。 
  3)谱聚类是通过最小割,刚好借助了拉普拉斯映射的思想,从而用携带切割信息的特向来表征原流形数据,再去聚类。(相比于传统聚类,谱聚类更侧重于数据相似度信息的保留,更具有针对性,计算效率也更高) 
  三者紧密联系,又不能混为一谈。 
几个参考: 
1)化二次型为标准型 
http://student.zjzk.cn/course_ware/web-gcsx/gcsx/chapter5/chapter5_2_1.htm 
2)一个关于拉普拉斯矩阵的博客 
http://blog.sciencenet.cn/blog-261330-751483.html 
3)一个谱聚类的博客 
http://blog.pluskid.org/?p=287 
4)广义特征值的介绍 
http://webcache.googleusercontent.com/search?q=cache:_85fSHsIv3MJ:https://zh.wikipedia.org/zh-cn/%25E7%2589%25B9%25E5%25BE%2581%25E5%2590%2591%25E9%2587%258F+&cd=1&hl=zh-CN&ct=clnk&gl=cn&lr=lang_en%7Clang_zh-CN%7Clang_zh-



转自:http://blog.csdn.net/yujianmin1990/article/details/48420483

0 0
原创粉丝点击