作者:桂。

时间:2017-04-13  07:43:03

链接:http://www.cnblogs.com/xingshansi/p/6702188.html

声明:欢迎被转载,不过记得注明出处哦~


前言

前面分析了非负矩阵分解(NMF)的应用,总觉得NMF与谱聚类(Spectral clustering)的思想很相似,打算分析对比一下。谱聚类更像是基于图(Graph)的思想,其中涉及到一个重要概念就是拉普拉斯矩阵(Laplace matrix),想着先梳理一下这个矩阵:

  1)拉普拉斯矩阵基本定义

  2)拉普拉斯矩阵意义及性质

  3)瑞利熵(Rayleigh quotient)

内容为自己的学习记录,很多地方都借鉴了别人,最后一并给出链接。

一、拉普拉斯矩阵基本定义

对于图G,一般用点的集合V和边的集合E来描述:G(V,E)。现在有这样一个图,如何定义拉普拉斯矩阵呢?这里涉及到两个常用矩阵:邻接矩阵、度矩阵。

从最简单的应用入手,不同数据点相通权重为1,不相通权重为0.

首先求解邻接矩阵W

将每一列求和,这个数值的对角形式对应就是度矩阵D

$d_i = \sum\limits_{j=1}^{n}w_{ij}$

写成矩阵形式:

$\mathbf{D} = \left( \begin{array}{ccc} d_1 & \ldots & \ldots \\ \ldots & d_2 & \ldots \\   \vdots & \vdots & \ddots \\   \ldots & \ldots & d_n \end{array} \right)$

从而得到拉普拉斯矩阵L的定义:

$L= D-W$

二、拉普拉斯矩阵意义及性质

不失一般性,$v_i$与$v_j$的权重不再是1而是$w_{ij}$,$f(v_i)$表示节点$v_i$的函数,对应实际应用它可以是一个概率值、一个像素值等等。

对任意向量$f$,

这样一来,拉普拉斯矩阵的意义就比较明显了,它是一种基于欧式距离的测度,如果$w_{ij} = 1$,上式对应就是多有数据点的距离之和,同时也可以看出:D对应二次项,W对应不同一次项相乘。拉普拉斯矩阵是半正定的,且对应的n个实数特征值都大于等于0,即:$0 =\lambda_1 \leq \lambda_2  \leq...  \leq  \lambda_n$。

三、瑞利熵 

提到拉普拉斯矩阵,就不能不提瑞利熵。

  A-普通瑞利熵

给出定义:

因为对h幅值进行条件,不会影响R的取值,同时也不会改变h向量的方向,对于一般优化问题(以max为例,其他类似):

可以转化为拉格朗日乘子问题:

c为常数,即:

可以看出:

  • R的最大值就是L最大特征值,R的最小值就是L最小特征值
  • h的解,就是L对应的特征向量

是不是很熟悉啊?

  • 简单回顾一下主成分分析(PCA)算法

设p为矩阵A的单位投影矩阵,最大化投影结果:

PCA就是瑞利熵理论的一个应用

后面分析谱聚类(Spectral clustering),其中RatioCut算法也是瑞利熵的一个应用。

  B-泛化瑞利熵

为什么叫泛化呢?对于

可以看到分子是一般形式,而分母是${{h^*}Dh}$在D取单位阵时的特殊情况,将其一般化:

同理可以得到:

适当变形:

这个时候表达式就是:

又回到了普通瑞利熵问题,求解就方便了。

  • 简单回顾一下Fisher线性判别分析(Linear discriminant analysis, LDA)算法

Fisher判别准则函数:

分子分母分别是类内、类间距离。这个准则函数就是泛化瑞利熵的形式。

LDA是泛化瑞利熵的一个应用

后面分析谱聚类(Spectral clustering),其中NCut算法也是泛化瑞利熵的一个应用。

参考:

瑞利熵:https://en.wikipedia.org/wiki/Rayleigh_quotient

拉普拉斯矩阵:http://www.cnblogs.com/pinard/p/6221564.html

拉普拉斯矩阵(Laplace Matrix)与瑞利熵(Rayleigh quotient)的更多相关文章

  1. 拉普拉斯矩阵(Laplacian Matrix) 及半正定性证明

    摘自 https://blog.csdn.net/beiyangdashu/article/details/49300479 和 https://en.wikipedia.org/wiki/Lapla ...

  2. SC3聚类 | 拉普拉斯矩阵 | Laplacian matrix | 图论 | R代码

    Laplacian和PCA貌似是同一种性质的方法,坐标系变换.只是拉普拉斯属于图论的范畴,术语更加专业了. 要看就把一篇文章看完整,再看其中有什么值得借鉴的,总结归纳理解后的东西才是属于你的. 问题: ...

  3. 拉普拉斯矩阵(Laplacian matrix)

    原文地址:https://www.jianshu.com/p/f864bac6cb7a 拉普拉斯矩阵是图论中用到的一种重要矩阵,给定一个有n个顶点的图 G=(V,E),其拉普拉斯矩阵被定义为 L = ...

  4. graph Laplacian 拉普拉斯矩阵

    转自:https://www.kechuang.org/t/84022?page=0&highlight=859356,感谢分享! 在机器学习.多维信号处理等领域,凡涉及到图论的地方,相信小伙 ...

  5. R语言编程艺术# 矩阵(matrix)和数组(array)

    矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...

  6. 【Math for ML】矩阵分解(Matrix Decompositions) (下)

    [Math for ML]矩阵分解(Matrix Decompositions) (上) I. 奇异值分解(Singular Value Decomposition) 1. 定义 Singular V ...

  7. 【Math for ML】矩阵分解(Matrix Decompositions) (上)

    I. 行列式(Determinants)和迹(Trace) 1. 行列式(Determinants) 为避免和绝对值符号混淆,本文一般使用\(det(A)\)来表示矩阵\(A\)的行列式.另外这里的\ ...

  8. R语言编程艺术#02#矩阵(matrix)和数组(array)

    矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...

  9. NumPy 矩阵库(Matrix)

    NumPy 矩阵库(Matrix) NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象. 一个 的矩阵是一个由行(row)列(col ...

随机推荐

  1. [前言] 实现一个Android电子书阅读APP

    大家好,我是小方,我将在接下来的几篇文章中从零实现一个网络小说阅读器,从安卓编程最基础的部分讲起,直至成功完成我们的应用,从新建一个项目开始,不断添加新的代码,添加新的界面,循序渐进,涵盖所有我们需要 ...

  2. 改变 Panel 跟 groupbox边框样式

    更改panel和groupbox的边框颜色因为在控件的属性中没有设置边框颜色的属性只有一个设置边框样式,遂在网络中搜寻出一下方法: panel的边框颜色在paint中重新对颜色进行定义 private ...

  3. python安装插件包注意事项

    注意!注意!注意!安装以来lib库时强烈建议使用pip安装:原因:nu1:用exe安装会出现各种意想不到让您惊讶的错误!!!nu2:这种错误很难解决且花费无用功!!! 使用pip安装: nu1:使用. ...

  4. POJ 2182 解题报告

    Lost Cows Time Limit: 1000 MS Memory Limit: 65536 KB Description N (2 <= N <= 8,000) cows have ...

  5. c#进程之间对象传递方法

    1. 起源 KV项目下载底层重构升级决定采用独立进程进行Media下载处理,以能做到模块复用之目的,因此涉及到了独立进程间的数据传递问题. 目前进程间数据传递,多用WM_COPYDATA.共享dll. ...

  6. 关于数据库与JAVA连接及其出现问题的解决方式

    数据库连接java的方式一共有两个 建立JDBC-ODBC桥接器 加载纯JAVA数据库驱动程序 注意: JDBC-ODBC桥接器无需下载数据库的驱动程序,但是JDK1.8已经把JDBC-ODBC桥接器 ...

  7. C#三层构架

    三层构架:表示层(即界面层UI)->业务逻辑层(Business logic level)->数据访问层(Database access level) 由于层是一种弱耦合结构,层与层之间的 ...

  8. [UWP]了解模板化控件(1):基础知识

    1.概述 UWP允许开发者通过两种方式创建自定义的控件:UserControl和TemplatedControl(模板化控件).这个主题主要讲述如何创建和理解模板化控件,目标是能理解模板化控件常见的知 ...

  9. 梳理一下web总的一些概念

    servlet中的类适合繁复翻看文档,熟悉各个类的常用方法,看一些经典的案例代码. ServletConfig 每个项目有多个servlet,每个servlet对应一个ServletCOnfigt对象 ...

  10. yii2.0使用之缓存

    1.片段缓存(针对于视图中的某部分进行缓存): <?php 设置有效时间 $time=15; 缓存依赖,存入文件.当文件内容发生改变是才会刷新新内容 $dependecy=[ 'class'=& ...