2025-01-29 graphs lecture 3

Data

2025-01-29
see [[Lecture 3.pdf]]

Today

Last Time

GFT(x)=x^=Vx

Today

  • Graph convolutional filters, which have nice properties
    • Locality
    • Shift invariance
    • Permutation Invariance
  • Frequency domain representations
  • expressivity

1. Graph Signals and Graph Signal Processing

1.1 graph convolution

Graph Filter

A (linear) graph filter is defined as an operator

H:RnRn,xy=HS,HRn×n

ie, a graph filter is a linear map from graph signals to graph signals.

This is a basic building block for processing graph signals

(see linear graph filter)

Question

What are potential issues with such filters?

Answer

  • Since H is not parameterized by the graph or the shift operator, it does not incorporate the graph sparsity pattern.
  • if nodes i,j are in different connected components but Hij0, this is not consistent with the structure of the graph!
  • Because of this, we cannot implement H locally at each node.
  • (Sx)i=jSijxi=jNiSijxi, but we cannot write H analogously ie (Hx)ijNihjxj
  • The number of parameters is n2 - this is bad for large G.
  • We cannot adapt H for different sized graphs. Once we design H, it only works for graphs of size n.

Solution: Linear shift-invariant / graph convolution

Linear Shift-Invariant /Convolutional Graph Filters

We define our convolutional graph filter (or linear shift-invariant) as follows:

y=H(S)x=k=0K1hkSkx,h0,h1,,hK1R

Note that means H(S) is a (K1)th degree polynomial of S with (filter) coefficients hi

Properties

This filter is

  1. local
  2. shift equivariant
  3. permutation invariant

(see graph convolution)

We show each of the properties above:

Theorem

graph convolution are local.

Proof

We can write locally in terms of k steps:

y=k=0K1hkSkx=k=0K1hkSk1Sx,let z1=Sx=k=0K1hkSk1z1+h0x=k=1K1hkSk2Sz1+h0x,let z2=Sz1=k=2K1hkSk2Sz2+h0x+h1z1==k=0K1hkzk(letting zi=Six)
Example

2025-01-29_graph0.jpg
Visual representation of the stepwise local expression

(see convolutional graph filters are local)

Theorem

graph convolution are shift equivariant.

Let y=H(S)x where S is a shift operator. Suppose x=Sx. To show shift equivariance, we need to show y=Sy (ie the output is shifted in the same way the input was).

Proof

y=H(S)x=k=0K1hkSk(Sx)=k=0K1hkSk+1x=Sk=0K1hkSkx=Sy

(see convolutional graph filters are shift equivariant)

note: if x is shifted/diffused, y is shifted in the same way!

Theorem

graph convolution are permutation equivariant.

Suppose we have a graph shift operator S, a graph signal x, and a permutation matrix P. (recall that P{0,1} such that P1=1, P1=1, PTP=PPT=I). Suppose we relabel nodes V={1,2,,n} according to P, ie, define S=PSPT and x=Px. Consider filter y=H(S)x.

Then y=H(S)x=Py

Proof

y=H(S)x=k=0K1hk(PSPT)kPx=k=0K1hkPSkPTPx=Pk=0K1hkSkx=Py

Thus H is invariant to permutations. (if S and x are permuted/relabelled, y is relabelled in the same way)

(see convolutional graph filters are permutation equivariant)

1.2 Spectral Representations of Convolutional Graph Filters

This is the fourier transform of a filter.

Given S=VΛV, recall that x^=GFT(x)=Vx is the graph fourier transform and x=IGFT(x)=Vx^ (see inverse graph fourier transform)

The graph fourier transform of the filtered signal is given as

y^=Vy=Vk=0K1hkSkx=Vk=0K1hkSk(Vx^)=k=0K1hkV(VΛV)Vx^=k=0K1hkΛkx^

Thus, the GFT of the filter and the operator has the same polynomial relationship, but in the spectral domain.

see spectral representation of a convolutional graph filter

Key Takeaway

in the spectral/frequency domain, we have

y^=k=0K1hkΛkx^

The spectral representation/frequency response of H(S) is

H(S)^=k=0K1hkΛk
Observations

  1. the filter is independent from the graph. It is completely defined by the polynomial h(λ)=k=0K1hkλk in the spectral domain
  • We can see from above that the filter frequency response only depends on the coefficients for the filter hk and the eigenvalues Λ of the shift operator.
  • If we consider another graph G~ with shift operator S~ and σ(S~)=Λ~. Then H(S~)=k=0K1hkΛ~k
  1. the ith spectral component of output y only depends on λi and x^i
  • H(S)^ is pointwise in the spectral domain. ie y^i=k=0K1hkλikx^i. This follows immediately from the fact that Λ is diagonal.

Idea

The polynomial is fixed once we find the coefficients hk. We can think of H(S)^ as sampling values λi along the curve h(λ)=k=0K1hkλk. Thus changing S corresponds to a different set of points sampled from this polynomial.

2025-01-29_graph1.jpg

(see the spectral representation of a graph filter is independent from the graph, the spectral graph filter operates on a signal pointwise)

1.2.1 Expressivity of convolutional graph filters

Question

What kinds of functions can H(S) represent (in the spectral domain)?
Suppose we want to design a filter with spectral response f:RR,λf(λ). Can this be implemented as a graph filter?

Answer

Yes, as long as f is analytic - ie, a function with a convergent Taylor series.

see we can represent any analytic function with convolutional graph filters

Fact

Suppose f is an analytic function. Then there exist coefficients hi such that

h(λ)=k=0hkΛk=f(0)+λf(0)+λ22!f(0)+λ33!f(0)+=f
Proof

This follows immediately from the definition of an analytic function

Example

Suppose we have a function f(λ)=exp{(λa)2b}. Then h(λ)=?
The Taylor series for h is given as

h(λ)=f(0)+λf(0)+λ22!f(0)+λ33!f(0)+

Here,

  • f=2(λa)bexp{(λa)2b}f(0)=
  • f=()f(0)=
  • f=f(0)=

Thus we can define H(S)=k=0K1hkΛk with our corresponding coefficients.

Important

We can (and in practice, will) truncate the degree K. This corresponds to the order K Taylor approximation of f(λ).

Question

What are the limitations of the above expressivity result?

Answer

In general, we want to answer

Question

Can we use H(S) to represent (or approximate) any signal/representation y ?

Theorem

Let S be a shift operator with eigenvalues λ1,λ2,,λn, and x a graph signal. Let x^ be the GFT.

Suppose

  • x^i0i
  • λiλjij

Then there exist Kn coefficients h0,,hK1 such that y=H(S)x.

Proof

Recall from above that

  • y^=h(Λ)x^
  • y^=kK1hkΛkx^
  • y^i=kK1hkλikx^i

We can write this as a linear system:

[x^1x^1λ1x^1λ12x^1λ1K1x^2x^2λ2x^2λ22x^2λ2K1x^nx^nλnx^nλn2x^nλnK1][h0h1hK1]=diag(x^)[1λ1λ12λ1K11λ2λ22λ2K11λnλn2λnK1][h0h1hK1]=[y^1y^2y^n]

Note that LHS =diag(x^)V where V is a n×K Vandermonde matrix

In order to find a solution to the system (ie, in order for us to find coefficients h0,,hK1), we need

  1. diag(x^) invertible x^i0i
  2. Vh=diag(x^)1y^ to yield a solution

In the simplest case where K=n, we need the Vandermonde matrix to have an inverse. Since det(V)=ij(λiλj), V is invertible if and only the λi are distinct.

If Kn or arbitrary K, the Rouché-Capelli Theorem states that a linear system with n equations in K unknowns is consistent (ie has a solution) if and only if the rank of the coefficient matrix and the augmented matrix are the same. In this case, this means

rank([1λ1λ12λ1K11λ2λ22λ2K11λnλn2λnK1])=rank([1λ1λ12λ1K1y^1x^11λ2λ22λ2K1y^2x^21λnλn2λnK1y^nx^n])λiλjij

(see conditions for finding a convolutional graph filter)