拉普拉斯矩阵(Laplace Matrix)与瑞利熵(Rayleigh quotient)

作者:桂。

时间: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

时间: 2024-10-14 00:37:22

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

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

摘自 https://blog.csdn.net/beiyangdashu/article/details/49300479 和 https://en.wikipedia.org/wiki/Laplacian_matrix 定义 给定一个由n个顶点的简单图G,它的拉普拉斯矩阵定义为: L = D - A,其中,D是该图G度的矩阵,A为图G的邻接矩阵. 因为G是一个简单图,A只包含0,1,并且它的对角元素均为0. L中的元素给定为: 其中deg(vi) 表示顶点 i 的度. 对称归一化的拉普拉斯

从拉普拉斯矩阵说到谱聚类

转载:http://blog.csdn.net/v_july_v/article/details/40738211   0 引言     11月1日上午,机器学习班第7次课,邹博讲聚类(PPT),其中的谱聚类引起了自己的兴趣,他从最基本的概念:单位向量.两个向量的正交.方阵的特征值和特征向量,讲到相似度图.拉普拉斯矩阵,最后讲谱聚类的目标函数和其算法流程.     课后自己又琢磨了番谱聚类跟拉普拉斯矩阵,打算写篇博客记录学习心得, 若有不足或建议,欢迎随时不吝指出,thanks. 1 矩阵基础

矩阵(matrix)

我们定义一个矩阵的权值为这个矩阵四个角上的数值的最小值.现在小M有一个矩阵,他想在这个矩阵中寻找到一个权值最大的子矩阵,请你告诉他这个最大权值.(距形规模最大为2000*2000) 比赛 看到第二题那么大的数据 就他妈不想写了..直接写了个爆搜看第三题,也就是这题..总感觉可以做的感觉,但就是想不出好的办法,爆搜估计也就10分,感觉不大合算,自己写了几组数据,感觉答案一般都会在2*2的矩形里,就直接枚举了2*2的矩形,还怀揣着骗个30~40的分,结果逗比了,0分..标准算法应该是二分答案,将不比

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

I. 行列式(Determinants)和迹(Trace) 1. 行列式(Determinants) 为避免和绝对值符号混淆,本文一般使用\(det(A)\)来表示矩阵\(A\)的行列式.另外这里的\(A∈R^{n×n}\)默认是方阵,因为只有方阵才能计算行列式. 行列式如何计算的就不在这里赘述了,下面简要给出行列式的各种性质和定理. 定理1:当且仅当一个方阵的行列式不为0,则该方阵可逆. 定理2:方阵\(A\)的行列式可沿着某一行或某一列的元素展开,形式如下: 沿着第\(i\)行展开:\[de

OpenGL投影矩阵(Projection Matrix)构造方法

(翻译,图片也来自原文) 一.概述 绝大部分计算机的显示器是二维的(a 2D surface).在OpenGL中一个3D场景需要被投影到屏幕上成为一个2D图像(image).这称为投影变换(参见这或这),需要用到投影矩阵(projection matrix). 首先,投影矩阵会把所有顶点坐标从eye coordinates(观察空间,eye space或view space)变换到裁剪坐标(clip coordinated,属于裁剪空间,clip space).然后,这些裁剪坐标被变换到标准化设

2020/02/15 理解图论中的拉普拉斯算子与拉普拉斯矩阵

学习资料 知乎-[其实贼简单]拉普拉斯算子和拉普拉斯矩阵 CSDN-我见过最清晰的–理解梯度,散度,旋度 原文地址:https://www.cnblogs.com/Research-XiaoEMo/p/12311268.html

图片变换 矩阵 Bitmap Matrix

Matrix矩阵介绍 在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,内部就是个一维数组,内部有9个元素:可以通过setValues( float[])进行初始化,通过getValues(float[])拿到当前矩阵的值. 其具体坐标对应的属性为: {MSCALE_X,MSKEW_X,MTRANS_X,  MSKEW_Y, MSCALE_Y,MTRANS_Y,  MPERSP_0,MPERSP_1,MPERSP_2} 比如我想知道现在x方向缩放比例:

51. 顺时针打印矩阵[print matrix in clockwise direction]

[题目] 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 例如:如果输入如下矩阵: 1            2            3            4 5            6            7            8 9            10          11           12 13          14          15           16 则依次打印出数字1, 2, 3, 4, 8, 12, 16, 15, 14

n*m 矩阵: set matrix zeroes

问题描述 有个 N * M 的矩阵,其中有的元素是 0,如果是 0,那么将该行和该列都设置为0. 需要 O(1) 的空间复杂度 问题分析 初看此问题,确实很简单,没有过多算法内容. 如果有 O( M + N) 的空间,那么可以存储所有的含有 0 的列和行.然后再逐一设置 0 即可. 现在要求是使用 O(1) 的空间复杂度,该如何处理? 问题求解 扫描 (Row >= 1 && Column >= 1) 的元素,如果元素为0,则将第一行和第一列对应的位置设置为0 扫描完矩阵后,所