作者:桂。

时间: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. C#中获取不同的日期时间格式

    通过调用类中的各种方法我们可以获取不同的时间: 如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12:11:10)等. //获取日期+时间 DateTim ...

  2. ES6新属性笔记

    一.destructuring--解构赋值 1.数组解构赋值 (1)完全解构 let [a,b,c] = [1,2,3];//普通 console.log(a+":"+b+&quo ...

  3. vue + socket.io实现一个简易聊天室

    vue + vuex + elementUi + socket.io实现一个简易的在线聊天室,提高自己在对vue系列在项目中应用的深度.因为学会一个库或者框架容易,但要结合项目使用一个库或框架就不是那 ...

  4. Hibernate一级缓存(基于查询分析)

    首先我们应该弄清什么是hibernate缓存:hibernate缓存是指为了降低应用程序对物理数据源的访问频次,从而提高应用程序的运行性能的一种策略.我们要将这个跟计算机内存或者cpu的缓存区分开. ...

  5. tp框架基础知识

    作者:黄力军 index.php入口文件:作用,所有tp框架里的内容要想访问文件.都要走index.php文件他是整个程序的入口 Application代表应用程序的目录   所有写的应用程序放这里 ...

  6. cassandra简单介绍与基本操作

    项目中用到了cassandra,用来存储海量数据,且要有高效的查询:本博客就进行简单的介绍和进行一些基本的操作 一.使用场景: 是一款分布式的结构化数据存储方案(NoSql数据库),存储结构比Key- ...

  7. css 超出隐藏显示...

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  8. markown编辑器截图粘贴预览,并将图片传至七牛云

    最近在做一个项目,需要实现类似QQ截图后,就是能够在富文本编辑器中粘贴截图并预览. 先看一下效果: 分析一下实现步骤: QQ截图后在编辑器中粘贴,肯定会有一个粘贴事件,即 paste 事件 在事件回调 ...

  9. 【SF】开源的.NET CORE 基础管理系统 - 安装篇

    [SF]开源的.NET CORE 基础管理系统 -系列导航 1.开发必备工具 IDE:VS2017 运行环境:netcoreapp1.1 数据库:SQL Server 2012+ 2.获取最新源代码 ...

  10. CSS中清除浮动的方法

    CSS浮动,最早是为了达到文字环绕的效果提出的,也可以用来做布局,但是布局会产生很多问题(高度塌陷,漂浮在普通流上),会使当前标签产生上浮的效果,会影响前后标签,同样的代码在不同的浏览器的兼容性也不一 ...