抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Neural networks have been adapted to leverage (lever:杠杆,leverage:借助) the structure and properties of graphs. We explore the components needed for building a graph neural network - and motivate the design choices behind them.

Understanding Convolutions on Graphs

  • social networks
  • molecules
  • organizations
  • citations
  • physical models
  • transactions(交易)

\Rightarrow Graphs

Neural Networks(NNs): fixed-size and/or regular-structured inputs

Graph Neural Networks(GNNs): operate naturally on graph-structured data

The Challenges of Computation on Graphs

  • Lack of Consistent Structure (but flexible)
  • Node-Order Equivariance(等效性)
  • Scalability nmn \sim m Sparse

Problem Setting and Notation

  • Node Classification: Classifying individual
  • Graph Classification: Classifying entire graphs.
  • Node Clustering: Grouping together similar nodes based on connectivity.
  • Link Prediction: Predicting missing links.
  • Influence Maximization: Identifying influential nodes.

Polynomial Filters on Graphs

Basic Concepts
  • We consider simple graphs (no multiple edges or loops),

G={V,E}\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}

  • V(G)={v1,,vn}\mathcal{V}(\mathcal{G})=\left\{v_1, \ldots, v_n\right\} is called the vertex set with n=Vn=|\mathcal{V}|;
  • E(G)={eij}\mathcal{E}(\mathcal{G})=\left\{e_{i j}\right\} is called the edge set with m=Em=|\mathcal{E}|;
  • An edge eije_{i j} connects vertices viv_i and vjv_j if they are adjacent or neighbors. One possible notation for adjacency is vivjv_i \sim v_j;
  • The number of neighbors of a node vv is called the degree of vv and is denoted by d(v),d(vi)=vivjeijd(v), d\left(v_i\right)=\sum_{v_i \sim v_j} e_{i j}. If all the nodes of a graph have the same degree, the graph is regular (正则图); The nodes of an Eulerian graph have even degree.
  • A graph is complete if there is an edge between every pair of vertices.
  • H\mathcal{H} is a subgraph of G\mathcal{G} if V(H)V(G)\mathcal{V}(\mathcal{H}) \subseteq \mathcal{V}(\mathcal{G}) and E(H)E(G)\mathcal{E}(\mathcal{H}) \subseteq \mathcal{E}(\mathcal{G});
  • a subgraph H\mathcal{H} is an induced subgraph of G\mathcal{G} if two vertices of V(H)\mathcal{V}(\mathcal{H}) are adjacent if and only if they are adjacent in G\mathcal{G}.
  • A clique is a complete subgraph of a graph.
  • A path of kk vertices is a sequence of kk distinct vertices such that consecutive vertices are adjacent.
  • A cycle is a connected subgraph where every vertex has exactly two neighbors.
  • A graph containing no cycles is a forest. A connected forest is a tree.
  • A graph is called k-partite if its set of vertices admits a partition into kk classes such that the vertices of the same class are not adjacent.
  • bipartite 二部图
Adjacency Matrix
  • For a graph with nn vertices, the entries of the n×nn \times n adjacency matrix are defined by:

    A:={Aij=1 if there is an edge eijAij=0 if there is no edge Aii=0A=[0110101111000100]\begin{gathered} \mathbf{A}:= \begin{cases}A_{i j}=1 & \text { if there is an edge } e_{i j} \\ A_{i j}=0 & \text { if there is no edge } \\ A_{i i}=0\end{cases} \\ \mathbf{A}=\left[\begin{array}{llll} 0 & 1 & 1 & 0 \\ 1 & 0 & 1 & 1 \\ 1 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{array}\right] \end{gathered}

  • A\mathbf{A} is a real-symmetric matrix: it has nn real eigenvalues and its nn real eigenvectors form an orthonormal basis.

  • Let {λ1,,λi,,λr}\left\{\lambda_1, \ldots, \lambda_i, \ldots, \lambda_r\right\} be the set of distinct eigenvalues. The eigenspace SiS_i contains the eigenvectors associated with λi\lambda_i

    Si={xRnAx=λix}S_i=\left\{\boldsymbol{x} \in \mathbb{R}^n \mid \mathbf{A} \boldsymbol{x}=\lambda_i \boldsymbol{x}\right\}

  • For real-symmetric matrices, the algebraic multiplicity is equal to the geometric multiplicity, for all the eigenvalues.

  • The dimension of SiS_i (geometric multiplicity) is equal to the multiplicity of λi\lambda_i. 代数重数和几何重数。

  • If λiλj\lambda_i \neq \lambda_j then SiS_i and SjS_j are mutually orthogonal. 相互正交

  • We consider real-valued functions on the set of the graph’s vertices, f:VR\boldsymbol f: \mathcal V \to \R. Such a function assigns a real number to each graph node. 规定点权

  • ff is a vector indexed by the graph’s vertices, hence fRnf \in \mathbb{R}^n. nn 个节点对应 nn 个点权。

  • Notation: f=(f(v1),,f(vn))=(f(1),,f(n))f=\left(f\left(v_1\right), \ldots, f\left(v_n\right)\right)=(f(1), \ldots, f(n)). 记号

  • The eigenvectors of the adjacency matrix, Ax=λx\mathbf{A} \boldsymbol{x}=\lambda \boldsymbol{x}, can be viewed as eigenfunctions. 特征函数

  • The adjacency matrix can be viewed as an operator(作用是将一个节点的权值变为相邻节点的权值)

g=Af;g(i)=ijf(j)\boldsymbol{g}=\mathbf{A} \boldsymbol{f} ; g(i)=\sum_{i \sim j} f(j)

  • It can also be viewed as a quadratic form(二次型): 作用是对于每一条边,计算相邻节点的权值之和。

fAf=eijf(i)f(j)\boldsymbol{f}^{\top} \mathbf{A} \boldsymbol{f}=\sum_{e_{i j}} f(i) f(j)

Incidence Matrix
  • Let each edge in the graph have an arbitrary but fixed orientation;
  • The incidence matrix of a graph is a E×V(m×n)|\mathcal{E}| \times|\mathcal{V}|(m \times n) matrix defined as follows:(关联矩阵)

:={ev=1 if v is the initial vertex of edge eev=1 if v is the terminal vertex of edge eev=0 if v is not in e=[110010100110010+1]\begin{aligned} & \nabla:= \begin{cases}\nabla_{e v}=-1 & \text { if } v \text { is the initial vertex of edge } e \\ \nabla_{e v}=1 & \text { if } v \text { is the terminal vertex of edge } e \\ \nabla_{e v}=0 & \text { if } v \text { is not in } e\end{cases} \\ & \nabla=\left[\begin{array}{cccc} -1 & 1 & 0 & 0 \\ 1 & 0 & -1 & 0 \\ 0 & -1 & 1 & 0 \\ 0 & -1 & 0 & +1 \end{array}\right] \end{aligned}

  • 关联矩阵是离散微分算子。
  • image-20230225222213270

image-20230225223026124

Laplacian Matrix

对应连续情况梯度+散度。

image-20230225223217955

  • L=\mathbf{L}=\nabla^{\top} \nabla
  • (Lf)(vi)=vjvi(f(vi)f(vj))(\mathbf{L} \boldsymbol{f})\left(v_i\right)=\sum_{v_j \sim v_i}\left(f\left(v_i\right)-f\left(v_j\right)\right)
  • 其中 Lf\mathbf{L} \boldsymbol{f} 是一个新的函数。
  • Connection between the Laplacian and the adjacency matrices:

L=DA\mathbf{L}=\mathbf{D}-\mathbf{A}

  • The degree matrix: D:=Dii=d(vi)\mathbf{D}:=D_{i i}=d\left(v_i\right). Eigen Value 0: Correspond to 1n\bold{1}_n. In degree=Out degree

L=[2110131111200101]\mathbf{L}=\left[\begin{array}{cccc} 2 & -1 & -1 & 0 \\ -1 & 3 & -1 & -1 \\ -1 & -1 & 2 & 0 \\ 0 & -1 & 0 & 1 \end{array}\right]

image-20230225223502875

The Laplacian matrix of an undirected weighted graph

  • We consider undirected weighted graphs: Each edge eije_{i j} is weighted by wij>0w_{i j}>0.
  • The Laplacian as an operator:

(Lf)(vi)=vjviwij(f(vi)f(vj))(\mathbf{L} \boldsymbol{f})\left(v_i\right)=\sum_{v_j \sim v_i} w_{i j}\left(f\left(v_i\right)-f\left(v_j\right)\right)

  • As a quadratic form:

fLf=12eijwij(f(vi)f(vj))2\boldsymbol{f}^{\top} \mathbf{L} \boldsymbol{f}=\frac{1}{2} \sum_{e_{i j}} w_{i j}\left(f\left(v_i\right)-f\left(v_j\right)\right)^2

  • L\mathbf{L} is symmetric and positive semi-definite.
  • L has nn non-negative, real-valued eigenvalues:

0=λ1λ2λn0=\lambda_1 \leq \lambda_2 \leq \ldots \leq \lambda_n \text {. }

我是这么想的,先对整张图进行统计,计算一条边在所有或部分 (u,v)(u,v) 点对之间最短路路径的出现次数。设定一定阈值,在阈值以上的边称为主干道,主干道的点称为主节点。从开始节点到结束节点,可以抽象为从开始节点到主节点,主节点之间移动,从主节点到结束节点。因此,算法可以分为:

  1. 预处理主节点之间的最短路

  2. 通过Dijkstra算法得到离当前开始节点最近的主节点,离结束节点最近的主节点(这个时候可能要把边反向)

  3. 通过预处理的最短路计算主节点之间的距离

后面发现和 CCH 算法类似

评论