譜圖(Spectral Graph Theory)理解(2)

田神發表於2018-09-19

參考文章:Introduction to Spectral Graph Theory and Graph Clustering
作者:Chengming Jiang,ECS 231 Spring 2016 University of California, Davis
本文的目的是進行計算機影像分割:
在這裡插入圖片描述
圖1 影像分割

一、預備知識

關於圖(G)、度矩陣(D)、鄰接矩陣(A)皆在上一篇理解中交代過,現補充一些新的定義:
1、權重矩陣
A weighted graph is a pair G=(V,W) where

  • V={vi}V=\{v_i\} is a set of vertices and V=n\vert V\vert=n;
  • WRn×nW\in \mathbb R^{n\times n} is called weight matrix with
    wij={wij0if ij0i=j w_{ij}=\begin{cases} w_{ij}\ge 0 & \text{if $i\neq j$}\\ 0 & \text{i=j}\end{cases}
    W是權重矩陣,V是頂點,它們構成對G=(V,W),即是權重圖G。
    The underlying graph of G is G^=(V,E)\hat G=(V,E) with
    E={{vi,vj}wij>0}E=\{\{v_i,v_j\}\vert w_{ij}\gt 0\}
  • If wij{0,1},W=Aw_{ij}\in\{0,1\},W=A, the adjacency matrix of G^\hat G
  • Since wii=0w_{ii}=0, there is no self-loops in G^\hat G
    W是對A的一個擴充套件,當wij{0,1}w_{ij}\in\{0,1\},W即是A。定義W後,需要重新定義頂點的度(degree of a vertex)和度矩陣(degree matrix):
    d(vi)=j=1nwijdegree of vid(v_i)=\sum_{j=1}^n w_{ij} \qquad \text{degree of $v_i$}
    Let d(vi)=diD=D(G)=diag(d(v1), ,d(vn))=diag(d1, ,dn)\text{Let $d(v_i)=d_i$} \\D=D(G)=diag(d(v_1),\cdots,d(v_n))=diag(d_1,\cdots,d_n)
    2、A的體積(Volume)
    對於V的一個子集A(AVA\subseteq V),定義A的體積(Volume):
    vol(A)=viAd(vi)=viAj=1nwij vol(A)=\sum_{v_i \in A}d(v_i)=\sum_{v_i\in A}\sum_{j=1}^n w_{ij}
    即A中所有頂點的度和,若A中所有頂點都是孤立的(isolated),則vol(A)=0,舉例如下:
    在這裡插入圖片描述
    圖2 vol(A)的計算方法
    3、頂點集間的連線(links)
    Given two subsets of vertices A,BVA,B\subseteq V, we define the links links(A,B)links(A,B) by
    links(A,B)=viA,vjBwijlinks(A,B)=\sum_{v_i\in A, v_j \in B} w_{ij}
    Remarks:
    • A and B are not necessarily distinct;
    • Since W is symmetric, links(A,B)=links(B,A)links(A,B)=links(B,A)
    • vol(A)=links(A,V)vol(A)=links(A,V)
      有了連線(links)定義,就可以定義分割(cut),它的定義如下:
      cut(A)=links(A,VA)cut(A)=links(A,V-A)
      在連線(links)基礎上,還可以定義一個量assoc,如下:
      assoc(A)=links(A,A)assoc(A)=links(A,A)
      即A中頂點自己的連線。cut是A和外部的links,assoc是A與內部的links。因此有:cut(A)+assoc(A)=vol(A)cut(A)+assoc(A)=vol(A)
      4、Graph Laplacian
      對於權重圖 G=(V,W),the (graph) Laplacian L of G is defined by
      L=DWL=D-W
      Laplacian具有以下的屬性:
    • xTLx=12i,j=1nwij(xixj)2x^TLx=\frac{1}{2}\sum_{i,j=1}^n w_{ij}(x_i-x_j)^2 for xRn\forall x\in \mathbb R^n,這是一個二次型
    • L0L\ge 0 if wij0w_{ij}\ge 0 for all i,j;
    • L1=0L\cdot \mathbf 1=\mathbf 0
    • If the underlying graph of G is connected, then
      0=λ1λ2λ3λn0=\lambda_1\le\lambda_2\le\lambda_3\cdots \le\lambda_n
    • If the underlying graph of G is connected, then the dimension of the nullspace of L is 1.

圖的聚類(Graph clustering)

1、k-way partitioning
給定一個權重圖 G=(V,W),要找到一個對V的分割,使以下條件得到滿足:

  • A1A2Ak=VA_1\cup A_2 \cdots\cup A_k=V
  • A1A2Ak=A_1\cap A_2 \cdots\cap A_k=\emptyset
  • for any i and j, the edges between (Ai,Aj)(A_i,A_j) have low weight and the edges within AiA_i have high weight.
    要使分割後各子集之間的edges的權重最小,對於2-way分割有:
    cut(A)=links(A,Aˉ)=viA,vjAˉwijcut(A)=links(A,\bar A)=\sum_{v_i\in A,v_j\in \bar A}w_{ij}, where Aˉ=VA\bar A = V-A
    分割問題轉化成了優化問題:mincut(A)=minviA,vjAˉwij\min cut(A)=\min \sum_{v_i\in A,v_j \in \bar A}w_{ij}
    在這裡插入圖片描述
    圖3 通常最小化分割會得到不平衡的分割
    通常最小化分割會得到不平衡的分割,因而引入“Normalized cut”,定義如下:
    Ncut(A)=cut(A)vol(A)+cut(Aˉ)vol(Aˉ)Ncut(A)=\frac{cut(A)}{vol(A)}+\frac{cut(\bar A)}{vol(\bar A)}
    對圖3採用歸一化分割會得到:
    在這裡插入圖片描述
    圖4 採用Normailized cut
    定義一個示性向量(indicator vector)x=(x1,x2, ,xn)\mathbf x=(x_1, x_2,\cdots,x_n),有:
    xi={1if viA1if viAˉx_i=\begin{cases}1&\text{if $v_i\in A$}\\ -1 & \text{if $v_i\in \bar A$} \end{cases}
    則有:
    • (1+x)TD(1+x)=4viAdi=4vol(A)(1+x)^TD(1+x)=4\sum_{v_i\in A}d_i=4\cdot vol(A)
    • (1+x)TW(1+x)=4viA,vjAwij=4assoc(A)(1+x)^TW(1+x)=4\sum_{v_i\in A,v_j\in A}w_{ij}=4\cdot assoc(A)
    • (1+x)TL(1+x)=4(vol(A)assoc(A))=4cut(A)(1+x)^TL(1+x)=4\cdot(vol(A)-assoc(A))=4\cdot cut(A)
      以下是處理(1-x)與上對應
    • (1x)TD(1x)=4viAˉdi=4vol(Aˉ)(1-x)^TD(1-x)=4\sum_{v_i\in \bar A}d_i=4\cdot vol(\bar A)
    • (1x)TW(1x)=4viAˉ,vjAˉwij=4assoc(Aˉ)(1-x)^TW(1-x)=4\sum_{v_i\in \bar A,v_j\in \bar A}w_{ij}=4\cdot assoc(\bar A)
    • (1x)TL(1x)=4(vol(Aˉ)assoc(Aˉ))=4cut(Aˉ)(1-x)^TL(1-x)=4\cdot(vol(\bar A)-assoc(\bar A))=4\cdot cut(\bar A)
      於是Ncut(A) 可以被寫成(公式的書寫太繁瑣了,我直接貼了過來):
      在這裡插入圖片描述
      在這裡插入圖片描述
      在這裡插入圖片描述
      要求解這個最優問題,需引入變分原則(Variational principle):關於這部分的解釋詳細可以參考:https://ccjou.wordpress.com/2010/03/16/hermitian-矩陣特徵值的變化界定/
      在這裡插入圖片描述
      在這裡插入圖片描述
      對於上述Variational Principle,應用於(2)有:(因為D是對角矩陣)
      yTLyyTDy=yTLyyTD12D12y=yTD12D12LD12D12y(D12y)TD12yLet z=D12y, so yTLyyTDy=zTD12LD12zzTz \frac {y^TLy}{y^TDy}=\frac {y^TLy}{y^TD^{\frac{1}{2}}D^{\frac{1}{2}}y}=\frac {y^TD^{\frac{1}{2}}D^{-\frac{1}{2}}LD^{\frac{1}{2}}D^{-\frac{1}{2}}y}{(D^{\frac{1}{2}}y)^TD^{\frac{1}{2}}y}\\ \text{Let $z=D^{\frac{1}{2}}y $, so }\\ \frac {y^TLy}{y^TDy}=\frac {z^TD^{-\frac{1}{2}}LD^{-\frac{1}{2}}z}{z^Tz}
      即求 D12LD12D^{-\frac{1}{2}}LD^{-\frac{1}{2}} 的第二小的特徵值,以及該特徵值對應的特徵向量,每個特徵向量對應一個分割。
      《Normalized cuts and image segmentation》的例子:
      在這裡插入圖片描述
      圖5 原圖
      將原圖看成是graph,並定義權重:
      在這裡插入圖片描述
      在這裡插入圖片描述
      圖6 權重圖G=(V,W)
      求Normailized cut 的第二個特徵向量,及對應分割:
      在這裡插入圖片描述
      在這裡插入圖片描述

相關文章