从离散余弦变换的正交基的特征来看看提取频域信号的基向量应该具有什么性质:
窗宽为8的一维 DCT 的基向量如上图所示,从左到右,信号的变化由慢变快,第一个向量对应直流信号,最后一个对应最高频信号。
用一个具体的量来衡量这种变化快慢就是 过零点数。从左到右,向量的过零点数分别为:0,1,2,3,4,5,6,7。因为窗口大小为8,过零点数最大也只能是7。
通过上述观察,我们可以类似地构造图信号的正交基向量,希望它有如下性质:
- 相互正交
- 过零点数逐渐增加,变化快慢逐渐增加
事实上,图的拉普拉斯矩阵
L
=
D
−
W
L = D - W
L=D−W 的特征向量正好具有上述性质,如下图所示:
因为,
L
∈
R
N
×
N
L\in \mathbb{R}^{N\times N}
L∈RN×N 的特征向量
{
u
1
,
…
,
u
N
}
,
\{u_1,\ldots,u_N\},
{u1,…,uN}, 正好是如下优化问题的解:
u
1
=
arg
min
∣
∣
f
∣
∣
=
1
f
⊤
L
f
u
2
=
arg
min
f
⊥
u
1
,
∣
∣
f
∣
∣
=
1
f
⊤
L
f
⋯
u
N
=
arg min
f
⊥
u
1
,
u
2
,
…
,
u
N
−
1
,
∣
∣
f
∣
∣
=
1
f
⊤
L
f
u_1 = \underset{ ||f||=1}{\arg \min} f^\top Lf \\ u_2 = \underset{f\perp u_1, ||f||=1}{\arg \min} f^\top Lf \\ \cdots \\ u_N = \underset{f\perp u_1,u_2,\ldots,u_{N-1},\\ ||f||=1} {\argmin}f^\top Lf
u1=∣∣f∣∣=1argminf⊤Lfu2=f⊥u1,∣∣f∣∣=1argminf⊤Lf⋯uN=f⊥u1,u2,…,uN−1,∣∣f∣∣=1argminf⊤Lf
因为
L
L
L 为半正定阵,所以
m
i
n
f
T
L
f
=
0
min f^TLf=0
minfTLf=0,当且仅当
f
=
k
1
⃗
,
k
∈
R
f=k\vec{\mathbf{1}},k\in R
f=k1,k∈R,所以
u
1
=
1
N
1
⃗
u_1 = \frac{1}{\sqrt{N}} \vec{\mathbf{1}}
u1=N11.
当
λ
1
≤
λ
2
≤
…
≤
λ
N
\lambda_1\leq\lambda_2\leq\ldots\leq\lambda_N
λ1≤λ2≤…≤λN,易知:
λ
1
=
m
i
n
∣
∣
f
∣
∣
=
1
f
T
L
f
=
0
λ
2
=
m
i
n
f
⊥
u
1
,
∣
∣
f
∣
∣
=
1
f
T
L
f
⋯
λ
N
=
m
i
n
f
⊥
u
1
,
u
2
,
…
,
u
N
−
1
,
∣
∣
f
∣
∣
=
1
f
T
L
f
=
λ
m
a
x
\lambda_1 = \underset{ ||f||=1}{min} f^TLf =0\\ \lambda_2 = \underset{f\perp u_1, ||f||=1}{min} f^TLf \\ \cdots \\ \lambda_N = \underset{f\perp u_1,u_2,\ldots,u_{N-1},\\ ||f||=1} {min}f^TLf =\lambda_{max}
λ1=∣∣f∣∣=1minfTLf=0λ2=f⊥u1,∣∣f∣∣=1minfTLf⋯λN=f⊥u1,u2,…,uN−1,∣∣f∣∣=1minfTLf=λmax
实际上, f T L f = ∑ i < j ( f i − f j ) 2 f^TLf = \sum_{i<j}(f_i-f_j)^2 fTLf=∑i<j(fi−fj)2 表示图信号的总体变分 ,反应图信号在图上的变化快慢。
GFT
对于无向图,拉普拉斯矩阵 L L L是对称的,所以保证有 N 个特征向量,对 L 特征分解得: L = U Λ U T L = U\Lambda U^T L=UΛUT再写明白点就是 L U = L [ u 1 , … , u N ] = [ L u 1 , … , L u N ] = [ λ 1 u 1 , … , λ N u N ] = U Λ LU = L[u_1,\ldots,u_N] = [Lu_1,\ldots,Lu_N]=[\lambda_1u_1,\ldots,\lambda_N u_N] = U\Lambda LU=L[u1,…,uN]=[Lu1,…,LuN]=[λ1u1,…,λNuN]=UΛ其中 U U U为单位正交阵,即 U U T = U T U = I UU^T=U^TU=I UUT=UTU=I
U = [ u 1 , … , u N ] U = [u_1,\ldots,u_N] U=[u1,…,uN] 即为拉普拉斯矩阵的 N 个单位特征(列)向量。
傅里叶变换就是将原信号在正交基上展开:
x
=
U
x
^
=
[
u
1
,
…
,
u
N
]
[
x
^
1
,
…
,
x
^
N
]
T
x = U\hat{x}= [u_1,\ldots,u_N][\hat{x}_1,\ldots,\hat{x}_N]^T
x=Ux^=[u1,…,uN][x^1,…,x^N]T
其中
x
^
=
U
T
x
\hat{x} = U^T x
x^=UTx就是原始图信号
x
x
x的图傅里叶变换,对应各正交分量上的系数,即原信号在各个基向量上投影。