拉普拉斯矩阵为啥被定义成
接触到了图论中的Laplacian矩阵,定义为
![08519a8280966297c5a23dc3d087f181.png](https://img-blog.csdnimg.cn/img_convert/08519a8280966297c5a23dc3d087f181.png)
要讲拉普拉斯矩阵,就要从拉普拉斯算子讲起,要讲拉普拉斯算子,就要从散度讲起~
不懂的可以看:炫云:通量与散度
炫云:高斯公式
拉普拉斯算子
根据定义,函数
那么这又是什么意思呢?
我们知道,在直角坐标系下,一个函数
于是函数
就构成了一个在三维空间下的向量场。
笛卡尔坐标系下的表示法:
于是乎,我们对这一向量场
为什么要这样做呢?
让我们想像一座山,根据梯度的定义,在山峰周围,所有的梯度向量向此汇聚,所以每个山峰处的拉普拉斯算子为负;而在山谷周围,所有梯度从此发散,所以每个山谷处的拉普拉斯算子为正。所以说,对于一个函数,拉普拉斯算子实际上衡量了在空间中的每一点处,该函数梯度是倾向于增加还是减少
描述物理系统最优美的公式之一拉普拉斯方程,
图函数
我们知道,互相连接的节点可以构成一张图,其中包含所有点构成的集合
对于实数域上的函数
相应地,我们也可以定义一个图函数
比如说,假设我们有一个这样的社交网络图谱:
![3959076ca5c121d31ee898a2bf08dd4d.png](https://img-blog.csdnimg.cn/img_convert/3959076ca5c121d31ee898a2bf08dd4d.png)
假设说每一条边的权值对应两个人之间信息的流通程度。现在我们想要分析这个社交网络上的信息传播,我们不仅需要知道信息流通的程度,我们还要知道每个人发动态的活跃程度,于是我们现在给这个图一个函数
这里的负数似乎可以理解为,
那么我们得到这样一张图:
![548006dfa51cfe18d5ce4f74c89c635d.png](https://img-blog.csdnimg.cn/img_convert/548006dfa51cfe18d5ce4f74c89c635d.png)
图函数的梯度
我们定义了图论的函数,那么应该如何给图论下的函数定义梯度呢?
我们记得,梯度的意义在于,衡量函数在每一个点处,在每个正交方向上的变化,如
在图论中,我们认为一个节点沿着每一条边通向它的相邻节点,而每两条边之间互相并没有什么关系,也就是说我们认为这个节点的每一条边互相都是正交的
并且对于两个节点,我们定义其距离
那么对于一个节点
(其中
详细的图资料,请看:炫云:图01---定义和术语
邻接矩阵
关联矩阵
为了计算梯度,我们给出一个这样的矩阵:
每一行代表一个点,每一列代表一条边,使得对于每个点每条边,如果该条边从该点发射出去,且权值为,则将矩阵中对应的这一元素置为
,如果该条边指向该点,则将对应的元素置为
![]()
具体到上面社交网络的例子,我们有相应的矩阵
![bb58b2145930903c35eec842a4440b2e.png](https://img-blog.csdnimg.cn/img_convert/bb58b2145930903c35eec842a4440b2e.png)
我们又有关于图函数
![09c394d4f1d6013b742cdefca26a3dc3.png](https://img-blog.csdnimg.cn/img_convert/09c394d4f1d6013b742cdefca26a3dc3.png)
我们试着计算
经过观察我们可以知道,最后计算结果的向量,即是整个图
所以对于图
拉普拉斯算子与拉普拉斯矩阵
我们记得在函数中,拉普拉斯算子的定义为函数梯度的散度,即每一点上其梯度的增加/减少,那么对于图函数,其每一“点”即为每个“节点”,其梯度的散度该怎么定义呢?
我们几乎可以立刻可以想到,图函数每一点上梯度的散度,即是从该节点射出的梯度,减去射入该节点的梯度,那么我们几乎又可以立即想到,根据这样的定义去计算散度,只要把原来的梯度再左乘一个这样的矩阵就可以啦:
每一行代表一个点,每一列代表一条边,使得对于每个点每条边,如果该条边从该点发射出去,则将矩阵中对应的这一元素置为,如果该条边指向该点,则将对应的元素置为
![]()
命名这一矩阵为
也就是说,我们把
那么,整个图
于是我们得到了图论函数的拉普拉斯算子
注意在我们上面的范例中,将任意一条边的方向反转,等价于在
计算
注意到这一对称矩阵,对角线即是每个点的度,而其余的元素,则是负的邻接矩阵,于是乎我们得到了拉普拉斯矩阵的经典算式:
定义
定义
则在图二中,
所以
拉普拉斯矩阵的重要性质
拉普拉斯矩阵之所以如此常用,是因为其一大重要性质: 拉普拉斯矩阵的
同时,我们引入关于矩阵
其中
而通过拉格朗日乘子法可以得出,瑞利熵的一个非常重要的特点就是: 瑞丽熵的最大值,等于
再看看图算法中对于拉普拉斯矩阵
![eb10c771799b6b346df59c839b68ec2c.png](https://img-blog.csdnimg.cn/img_convert/eb10c771799b6b346df59c839b68ec2c.png)
图拉普拉斯算子推导
主要是以下2种:
-
-
或者
1、图像普拉斯算子
图像是一种离散数据,那么其拉普拉斯算子必然要进行离散化。
从导数定义说起
那么:
结论1:二阶导数近似等于其二阶差分。
结论2:二阶导数等于其在所有自由度上微扰之后获得的增益。一维函数其自由度可以理解为2,分别是+1和-1两个方向。
对于二维的图像来说,其有两个方向(4个自由度)可以变化,即如果对(x,y)处的像素进行扰动,其可以变为四种状态(x+1,y),(x-1,y),(x,y+1),(x,y-1)。当然了,如果将对角线方向也认为是一个自由度的话,会再增加几种状态(x+1,y+1),(x+1,y-1),(x-1,y+1),(x-1,y-1),事实上图像处理上正是这种。再当然了,如果你认为对一个像素进行微扰可能变为任何一个像素,那它的自由度就是整个图片的像素数(不过这还叫微扰吗?)。其实结论差不多,就讨论四种状态。
![f0997bfa2ccb201eeb52a2a0c994f12f.png](https://img-blog.csdnimg.cn/img_convert/f0997bfa2ccb201eeb52a2a0c994f12f.png)
上式中每一项的系数就是拉普拉斯在二维图像中的卷积核:
![d4543c856d3c8681f77d53747c8174ff.png](https://img-blog.csdnimg.cn/img_convert/d4543c856d3c8681f77d53747c8174ff.png)
现在用散度的概念解读一下:
- 如果
,可以近似认为中心点
的势和其周围点的势是相等的,
-
,可以近似认为中心点
的势低于周围点,
-
,可以近似认为中心点
的势高于周围点,
另一个角度,拉普拉斯算子计算了周围点与中心点的梯度差。当
2、图普拉斯算子推导
我们现在将这个结论推广到图: 假设具有
![ae8d6f85d8be76733234f968391d27d6.png](https://img-blog.csdnimg.cn/img_convert/ae8d6f85d8be76733234f968391d27d6.png)
我们上面已经知道拉普拉斯算子可以计算一个点到它所有自由度上微小扰动的增益,则通过图来表示就是任意一个节点
而如果边
由于当
其中
对于所有的
这里的