HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, the graph Fourier transform is a mathematical transform which eigendecomposes the
Laplacian matrix In the mathematical field of graph theory, the Laplacian matrix, also called the graph Laplacian, admittance matrix, Kirchhoff matrix or discrete Laplacian, is a matrix representation of a graph. Named after Pierre-Simon Laplace, the graph Laplac ...
of a graph into eigenvalues and eigenvectors. Analogously to the classical Fourier Transform, the eigenvalues represent
frequencies Frequency is the number of occurrences of a repeating event per unit of time. It is also occasionally referred to as ''temporal frequency'' for clarity, and is distinct from ''angular frequency''. Frequency is measured in hertz (Hz) which is eq ...
and eigenvectors form what is known as a graph
Fourier basis In mathematics, a basis function is an element of a particular basis for a function space. Every function in the function space can be represented as a linear combination of basis functions, just as every vector in a vector space can be repres ...
. The Graph Fourier transform is important in
spectral graph theory In mathematics, spectral graph theory is the study of the properties of a graph in relationship to the characteristic polynomial, eigenvalues, and eigenvectors of matrices associated with the graph, such as its adjacency matrix or Laplacian matrix ...
. It is widely applied in the recent study of graph structured
learning algorithms Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
, such as the widely employed convolutional networks.


Definition

Given an
undirected In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' v ...
weighted graph G = (V,E), where V is the set of nodes with , V, = N (N being the number of nodes) and E is the set of edges, a graph signal f: V \rightarrow \mathbb is a function defined on the vertices of the graph G. The signal f maps every vertex \_ to a
real number In mathematics, a real number is a number that can be used to measure a ''continuous'' one-dimensional quantity such as a distance, duration or temperature. Here, ''continuous'' means that values can have arbitrarily small variations. Every real ...
f(i). Any graph signal can be projected on the eigenvectors of the
Laplacian matrix In the mathematical field of graph theory, the Laplacian matrix, also called the graph Laplacian, admittance matrix, Kirchhoff matrix or discrete Laplacian, is a matrix representation of a graph. Named after Pierre-Simon Laplace, the graph Laplac ...
L. Let \lambda_l and \mu_l be the l_\text eigenvalue and eigenvector of the
Laplacian In mathematics, the Laplace operator or Laplacian is a differential operator given by the divergence of the gradient of a scalar function on Euclidean space. It is usually denoted by the symbols \nabla\cdot\nabla, \nabla^2 (where \nabla is the ...
matrix L (the eigenvalues are sorted in an increasing order, i.e., 0= \lambda_0\leq\lambda_1\leq\cdots\leq\lambda_), the graph Fourier transform (GFT) \hat of a graph signal f on the vertices of G is the expansion of f in terms of the eigenfunctions of L. It is defined as: : \mathcal \lambda_)=\hat\left(\lambda_\right)=\langle f, \mu_\rangle=\sum_^ f(i) \mu_^*(i), where \mu_l^* = \mu_l^\text. Since L is a real symmetric matrix, its eigenvectors \_ form an
orthogonal basis In mathematics, particularly linear algebra, an orthogonal basis for an inner product space V is a basis for V whose vectors are mutually orthogonal. If the vectors of an orthogonal basis are normalized, the resulting basis is an orthonormal basis ...
. Hence an inverse graph Fourier transform (IGFT) exists, and it is written as: : \mathcal \mathcal \mathcal hati)=f(i)=\sum_^ \hat(\lambda_l) \mu_l(i) Analogously to the classical
Fourier transform A Fourier transform (FT) is a mathematical transform that decomposes functions into frequency components, which are represented by the output of the transform as a function of frequency. Most commonly functions of time or space are transformed, ...
, graph Fourier transform provides a way to represent a signal in two different domains: the vertex domain and the graph spectral domain. Note that the definition of the graph Fourier transform and its inverse depend on the choice of Laplacian eigenvectors, which are not necessarily unique. The eigenvectors of the normalized Laplacian matrix are also a possible base to define the forward and inverse graph Fourier transform.


Properties


Parseval's identity

The Parseval relation holds for the graph Fourier transform, that is, for any f,h\in \mathbb^N : \langle f, h\rangle=\langle\hat, \hat\rangle. This gives us
Parseval's identity In mathematical analysis, Parseval's identity, named after Marc-Antoine Parseval, is a fundamental result on the summability of the Fourier series of a function. Geometrically, it is a generalized Pythagorean theorem for inner-product spaces (which ...
: : \sum_^N , f(i), ^=\, f\, _2^2=\langle f, f\rangle=\langle\hat, \hat\rangle=\, \hat\, _2^2=\sum_^ \left, \hat\left(\lambda_l\right)\^2.


Generalized convolution operator

The definition of
convolution In mathematics (in particular, functional analysis), convolution is a operation (mathematics), mathematical operation on two function (mathematics), functions ( and ) that produces a third function (f*g) that expresses how the shape of one is ...
between two functions f and g cannot be directly applied to graph signals, because the signal translation is not defined in the context of graphs. However, by replacing the complex exponential shift in classical Fourier transform with the graph Laplacian eigenvectors, convolution of two graph signals can be defined as: : (f * g)=\mathcal \mathcal \mathcal mathcal \mathcal[f\cdot \mathcal \mathcal[g">.html" ;"title="mathcal \mathcal[f">mathcal \mathcal[f\cdot \mathcal \mathcal[g, : (f * g)(i)=\sum_^ \hat(\lambda_l) \hat(\lambda_l) \mu_l(i).


Properties of the convolution operator

The generalized convolution operator satisfies the following properties: * Generalized convolution in the vertex domain is multiplication in the graph spectral domain: \widehat=\hat \hat. * Commutativity In mathematics, a binary operation is commutative if changing the order of the operands does not change the result. It is a fundamental property of many binary operations, and many mathematical proofs depend on it. Most familiar as the name of ...
: f * g=g * f * Distributivity: f * (g+h)=f*g + f*h * Associative property">Associativity: (f*g)*h = f*(g*h) * Associativity with scalar multiplication: \alpha(f * g)=(\alpha f) * g=f *(\alpha g), for any \alpha \in \mathbb. * Multiplicative identity: f * g_0=f, where g_0(i)=\sum_^ \mu_(i) is an identity for the generalized convolution operator. * The sum of the generalized convolution of two signals is a constant times the product of the sums of the two signals: : \sum_^N(f * g)(i)=\sqrt \hat(0) \hat(0)=\frac\left sum_^N f(i)\right\left sum_^N g(i)\right


Generalized translation operator

As previously stated, the classical translation operator T_v cannot be generalized to the graph setting. One way to define a generalized translation operator is through generalized convolution with a delta function centered at vertex n:\left(T_ f\right)(i)=\sqrt\left(f * \delta_\right)(i) \sqrt \sum_^ \hat\left(\lambda_\right) u_^(n) u_(i), where \delta_i(n)=\begin 1, & \text i=n, \\ 0, & \text \end The normalization constant \sqrt ensures that the translation operator preserves the signal mean, i.e., : \sum_^N(T_n f)(i)=\sum_^N f(i).


Properties of the translation operator

The generalized convolution operator satisfies the following properties: For any f, g \in \mathbb^N , and j,k\in \ , * T_j(f * g)=(T_j f) * g=f *(T_ g) * T_j T_k f=T_k T_j f * \sum_^N (T_j f)(i)=\sqrt \hat(0)=\sum_^N f(i) * \left\, T_j f\right\, \neq \, f \,


Applications


Image compression

Representing signals in frequency domain is a common approach to data compression. As graph signals can be sparse in their graph spectral domain, the graph Fourier transform can also be used for
image compression Image compression is a type of data compression applied to digital images, to reduce their cost for storage or transmission. Algorithms may take advantage of visual perception and the statistical properties of image data to provide superior r ...
.


Graph noise reduction

Similar to classical
noise reduction Noise reduction is the process of removing noise from a signal. Noise reduction techniques exist for audio and images. Noise reduction algorithms may distort the signal to some degree. Noise rejection is the ability of a circuit to isolate an und ...
of signals based on Fourier transform, graph filters based on the graph Fourier transform can be designed for graph signal denoising.


Data classification

As the graph Fourier transform enables the definition of convolution on graphs, it makes possible to adapt the conventional convolutional neural networks (CNN) to work on graphs. Graph structured semi-supervised learning algorithms such as graph convolutional network (GCN), are able to propagate the labels of a graph signal throughout the graph with a small subset of labelled nodes, theoretically operating as a first order approximation of spectral graph convolutions without computing the graph Laplacian and its eigendecomposition.


Toolbox

GSPBOX{{Cite web, title=PyGSP: Graph Signal Processing in Python — PyGSP 0.5.1 documentation, url=https://pygsp.readthedocs.io/en/stable/, access-date=2020-06-22, website=pygsp.readthedocs.io is a toolbox for
signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, and scientific measurements. Signal processing techniq ...
of graphs, including the graph Fourier transform. It supports both
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
and
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation ...
languages.


References


External links


DeepGraphLibrary
A free Python package built for easy implementation of graph neural networks. Graph theory Fourier analysis