譜圖(Spectral Graph Theory)理解(2)
參考文章: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
- is a set of vertices and ;
- is called weight matrix with
W是權重矩陣,V是頂點,它們構成對G=(V,W),即是權重圖G。
The underlying graph of G is with
- If , the adjacency matrix of
- Since , there is no self-loops in
W是對A的一個擴充套件,當,W即是A。定義W後,需要重新定義頂點的度(degree of a vertex)和度矩陣(degree matrix):
2、A的體積(Volume)
對於V的一個子集A(),定義A的體積(Volume):
即A中所有頂點的度和,若A中所有頂點都是孤立的(isolated),則vol(A)=0,舉例如下:
圖2 vol(A)的計算方法
3、頂點集間的連線(links)
Given two subsets of vertices , we define the links by
Remarks:- A and B are not necessarily distinct;
- Since W is symmetric,
有了連線(links)定義,就可以定義分割(cut),它的定義如下:
在連線(links)基礎上,還可以定義一個量assoc,如下:
即A中頂點自己的連線。cut是A和外部的links,assoc是A與內部的links。因此有:
4、Graph Laplacian
對於權重圖 G=(V,W),the (graph) Laplacian L of G is defined by
Laplacian具有以下的屬性:- for ,這是一個二次型
- if for all i,j;
- If the underlying graph of G is connected, then
- 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的分割,使以下條件得到滿足:
- for any i and j, the edges between have low weight and the edges within have high weight.
要使分割後各子集之間的edges的權重最小,對於2-way分割有:
, where
分割問題轉化成了優化問題:
圖3 通常最小化分割會得到不平衡的分割
通常最小化分割會得到不平衡的分割,因而引入“Normalized cut”,定義如下:
對圖3採用歸一化分割會得到:
圖4 採用Normailized cut
定義一個示性向量(indicator vector),有:
則有:
以下是處理(1-x)與上對應
於是Ncut(A) 可以被寫成(公式的書寫太繁瑣了,我直接貼了過來):
要求解這個最優問題,需引入變分原則(Variational principle):關於這部分的解釋詳細可以參考:https://ccjou.wordpress.com/2010/03/16/hermitian-矩陣特徵值的變化界定/
對於上述Variational Principle,應用於(2)有:(因為D是對角矩陣)
即求 的第二小的特徵值,以及該特徵值對應的特徵向量,每個特徵向量對應一個分割。
《Normalized cuts and image segmentation》的例子:
圖5 原圖
將原圖看成是graph,並定義權重:
圖6 權重圖G=(V,W)
求Normailized cut 的第二個特徵向量,及對應分割:
相關文章
- 圖論(Graph Theory)圖論Graph Theory
- Graph Theory with ApplicationsGraph TheoryAPP
- 譜範數正則(Spectral Norm Regularization)的理解ORM
- AntvG6-graph圖譜工具
- 譜聚類(spectral clustering)原理總結聚類
- Spectral subtrative 譜減法降噪 python 程式碼Python
- Nebula Graph|資訊圖譜在攜程酒店的應用
- 知識圖譜Knowledge Graph構建與應用
- 解析Graph Search:基於社交圖譜的多維搜尋
- 理解梅爾譜圖 Understanding the Mel Spectrogram
- Graph RAG: 知識圖譜結合 LLM 的檢索增強
- 前端應該知道的:開放圖譜協議(The Open Graph protocol)前端協議Protocol
- Http/2知識圖譜HTTP
- 基於 Nebula Graph 構建百億關係知識圖譜實踐
- 7 種查詢策略教你用好 Graph RAG 探索知識圖譜
- 知識圖譜入門2
- 使用圖資料庫 Nebula Graph 資料匯入快速體驗知識圖譜 OwnThink資料庫
- 為知識的海洋繪製地圖 —— 利用CirroData-Graph圖資料庫構建知識圖譜地圖資料庫
- ffmpeg graph2dot
- Category_theory and FunctorGo
- 圖(Graph)——圖的儲存結構
- php圖譜PHP
- 資料結構:圖(Graph)資料結構
- 事理圖譜,下一代知識圖譜
- 知識圖譜|知識圖譜的典型應用
- 知識圖譜01:知識圖譜的定義
- 穿越介面圖譜~
- 穿越介面圖譜
- Vim命令圖譜
- Flame Graph 火焰圖分析 Java 效能Java
- js資料結構--圖(graph)JS資料結構
- JS Graph (圖-資料結構)JS資料結構
- 知識圖譜學習記錄--知識圖譜概述
- 大資料時代下的社交圖譜與興趣圖譜大資料
- 論文解讀(LG2AR)《Learning Graph Augmentations to Learn Graph Representations》
- go 知識圖譜Go
- Java學習圖譜Java
- OI知識圖譜