Effective Clustering on Large Attributed Bipartite Graphs翻譯
大型有屬性二部圖的高效聚類
Renchi Yang KDD 2024 香港浸會大學
摘要
屬性二部圖(ABGs)是一種表達性資料模型,用於描述與豐富屬性相關的兩組異構節點之間的互動,例如客戶-產品購買網路和作者-論文作者關係圖。將這些圖中的目標節點集劃分為𝑘個不相交的叢集(稱為𝑘-ABGC)在各種領域中得到了廣泛的應用,包括社會網路分析、推薦系統、資訊檢索和生物資訊學。然而,大多數針對𝑘-ABGC的現有解決方案要麼忽略屬性資訊,要麼無法準確捕獲二部圖結構,從而嚴重影響結果質量。這些問題的嚴重性在實際的ABGs中更加突出,這些ABGs通常包含數百萬個節點和大量的屬性資料,這使得在這些圖上有效地𝑘-ABGC非常具有挑戰性。
在本文中,提出了TPO,一種有效且高效的方法𝑘-ABGC,可以在多個真實資料集上實現出色的聚類效能。TPO透過兩個主要貢獻獲得了高聚類質量:(i)基於多尺度屬性親和性的𝑘-ABGC問題的新公式和轉換,專門用於捕獲節點之間的屬性親和性,並考慮ABGs中的多跳連線;(ii)一個高效的求解器,其中包括一套精心設計的最佳化,以避免顯式親和性矩陣的構建,並促進更快的收斂。大量的實驗將TPO與5個真實ABGs的19個基線進行了比較,結果表明TPO與地面真值標籤相比具有優越的聚類質量。此外,與最先進的技術相比,TPO通常比小型和大型ABGs快40倍以上。
1 引言
二部圖是一種不可缺少的資料結構,用於對來自異構來源的兩組實體之間的相互作用進行建模,例如作者-出版協會、客戶-商家交易、查詢-網頁配對以及社交媒體、電子商務平臺、搜尋引擎等各種使用者-物品互動。在現實世界中,這樣的圖通常與豐富的屬性相關聯,例如,社交網路中的使用者概況,網路圖中的網頁內容,癌症訊號網路中的通路標誌以及學術圖中的論文關鍵詞,這些被稱為屬性二部圖(attribuated bipartite graph,以下簡稱ABGs)。
給定一個屬性二部圖\(\mathcal G\)兩個不相交的節點集\(\mathcal U\)和\(\mathcal V\),𝑘-Attributed Bipartite Graph Clustering (𝑘-ABGC),分析ABG的根本任務,尋求感興趣的分割槽節點的節點集,例如,\(\mathcal U\)和\(\mathcal V\),𝑘重疊叢集C1, C2 , · · · , C𝑘,這樣同一叢集中節點C𝑖相互接近的相似屬性和拓撲鄰近\(\mathcal G\).由於ABGs普遍存在,𝑘-ABGC已經在社會網路分析、推薦系統、資訊檢索和生物資訊學中得到了廣泛的實際應用,例如使用者/內容標記[45,81]、市場購物籃分析[83,84]、文件分類[8,59]、蛋白質複合物、疾病基因和藥物靶標的鑑定[46,64]以及其他許多領域[26,34,50,67,69]。
如第5節所述,𝑘-ABGC的現有解決方案主要依賴於二部圖共聚類(BGCC)、屬性圖聚類(AGC)和屬性網路嵌入(ANE)技術。其中,文獻[2,8,9,28,29,63]對聚類非屬性二部圖的BGCC進行了廣泛的研究,其基本思想是僅根據U和V在G中的相互作用同時對它們進行分組,而不是將它們單獨聚類。正如先前的研究[4]所指出的那樣,屬性提供了豐富的資訊來表徵節點的屬性,因此可以補充缺乏的拓撲資訊,從而更好地進行節點聚類。因此,BGCC方法在ABGs上表現不佳,因為它們忽略了這些資訊。
為了利用圖拓撲和屬性的互補性來增強聚類效果,近年來人們在設計有效的AGC模型和演算法方面投入了大量的努力[4,6,12,30,77,85]。儘管這些方法透過深度學習或複雜的統計模型融合圖連通性和節點屬性資訊,在單部屬性圖上獲得了更好的效能,但它們對於abg來說是次優的。
在過去的十年中,網路嵌入已經成為一種流行而強大的工具,用於分析圖結構資料,特別是那些具有節點屬性的資料。儘管發明了大量的網路嵌入技術[7,14,75],但大多數都是為單部圖設計的。為了捕捉二部圖的獨特特徵,Huang等[23]將node2vec[18]擴充套件到abg,代價是巨大的訓練開銷。對𝑘-ABGC採用這類方法需要一個後置階段(例如𝑘-Means)來對節點嵌入進行聚類,考慮到高嵌入維度(通常為128),這是不划算的。總而言之,𝑘-ABGC的現有方法要麼由於對屬性和二部圖拓撲的利用不足而降低了聚類質量,要麼導致巨大的計算成本,特別是在包含數千個屬性、數百萬個節點和數十億條邊的大型abg上。
為了應對這些挑戰,提出了TPO,這是一個新的𝑘-ABGC三相最佳化框架,在結果有效性和計算效率方面顯著提高了𝑘-ABGC的技術水平。首先,TPO將𝑘-ABGC任務定義為一個基於多尺度屬性關聯(MSA)的最佳化問題,MSA是一種新的針對ABGs的節點關聯度量。更具體地說,ABG \(\mathcal G\)的U中兩個同構節點\(𝑢_i\),𝑢𝑗的MSA評估了它們從多跳鄰域聚合的屬性的相似性,有效地捕獲了二部圖中節點的屬性和拓撲連線的親和力。然而,計算G中所有節點對的MSA用於聚類對於大型圖來說是非常昂貴的,因為它需要巨大的構建時間和空間消耗(\(𝑂(|\mathcal U|^2)\))。最重要的是,由於np -hard的問題,的𝑘-ABGC目標的精確最佳化也是不可行的。
為了解決這些問題,TPO採用了一種三相最佳化方案來獲得近似解,其時間和空間成本與g的大小成線性關係。在底層,與核心技巧[36]的精神類似,TPO首先利用一種數學裝置,即隨機特徵[49,82],來繞過全成對MSA的實現。聚類任務隨後被框架為一個非負矩陣分解,然後是一個矩陣近似問題,基於的理論基礎問題轉換。特別是,前者致力於產生中間結果,而後者迭代地細化中間結果以派生最終的叢集。
除了線性時間迭代求解器之外,TPO還包括一個貪婪初始化技巧來加速收斂,以及一個屬性降維方法來顯著提高TPO在具有大屬性集的圖上的實際效率,而不會降低結果質量。的實證研究涉及5個真實的abg,並與19種現有演算法進行了比較,結果表明,與最先進的方法相比,TPO始終以一小部分成本獲得了卓越或相當的聚類質量。例如,在擁有超過1000萬個節點和2200萬條邊的最大Amazon資料集上,TPO在3分鐘內獲得最佳聚類精度,而最先進的聚類需要4個多小時才能終止。
2 問題定義
2.1 符號和術語
用粗體大寫字母表示矩陣,例如,\(\mathbf M∈\mathbb R^{𝑛×𝑑}\),第\(𝑖\)行表示為\(\mathbf M[i]\)。對於每個向量\(\mathbf M[i]\),用$\parallel \mathbf M[i] \parallel \(表示其\)𝐿_2\(範數,用\)\parallel \mathbf M\parallel_F \(示\)\mathbf M$的弗羅貝尼烏斯範數(Frobenius norm)。
範數(Norm)是數學中的一個基本概念,用於度量向量空間(或矩陣)中每個向量的長度或大小。範數的計算方法依賴於其型別,常見的範數包括\(L_1\)範數、\(L_2\)範數(也成為歐幾里得範數)、無窮範數(\(L_\infty\)範數)等。
- \(L_1\)範數:定義為向量元素絕對值之和,即$\parallel x\parallel_1=\sum_{i=1}^n\mid x_i\mid $。
- \(L_2\)範數:定義為向量元素平方和的正平方根,即$\parallel x\parallel_2=\sqrt{\sum_{i=1}^n x_i^2} $
- 無窮範數(\(L_\infty\)範數):定義為向量元素絕對值的最大值,即$\parallel x\parallel_\infty=\max_i\mid x_i\mid $
- Frobenius 範數:簡稱F-範數,是一種矩陣範數,記為\(\parallel ·\parallel _F\)。矩陣\(A\)的Frobenius範數定義為矩陣\(A\)各項元素的絕對值平方的總和再開方,即:
設\(\mathcal G = (\mathcal U∪\mathcal V,\mathcal E,X_{\mathcal U},X_{\mathcal V})\)表示一個有屬性二部圖(ABG,attributed bipartite graph),其中\(\mathcal E\)由連線兩個不相交節點集\(\mathcal U\)和\(\mathcal V\)中的節點的邊組成,每條邊\((𝑢_i,𝑣_𝑗\))與一個邊權\(𝑤(𝑢_i,𝑣_𝑗)\)相關聯。每個節點\(𝑢_i∈\mathcal U\) (同樣的對於\(𝑣_i∈\mathcal V\))其特徵為長度是\(d_{\mathcal U}\) 的屬性向量\(\mathbf X_{\mathcal U }[i]\)。進一步,用\(\mathbf B_{\mathcal U}∈\mathbb R^{|\mathcal U | \times |\mathcal V |}\)表示\(\mathcal G\)的鄰接矩陣,如果\((𝑢_i,𝑣_𝑗)∈\mathcal E\),則\(\mathbf B_{\mathcal U}[i,𝑗]=𝑤(𝑢_i,𝑣_𝑗)\),否則為0。假設\(\mathbf D_\mathcal U\)是$ |\mathcal U|\times |\mathcal U|\(的對角矩陣,其中對角值\)\mathbf D_{\mathcal U}[i,i]\(表示與\)𝑢_i\(相關的所有邊的權值之和。也就是說\)\sum_{(𝑢_i,𝑣_ℓ)}∈\mathcal E^{𝑤(𝑢_i,𝑣_ℓ)}$。表1列出了本文中經常使用的符號。
𝑘-ABGC的總體目標在定義2.1中進行了形式化描述,並在圖1中進行了舉例說明。請注意,預設情況下,將\(\mathcal U\)視為叢集的目標節點集。數字\(𝑘\)可以由使用者指定,也可以透過一個初步的過程進行配置[41]。
定義2.1(𝑘-屬性二部圖聚類(𝑘-ABGC))。
給定一個ABG \(\mathcal G\),目標節點集\(\mathcal U\)和叢集數量\(𝑘\),𝑘-ABGC旨在將節點集\(\mathcal U\)劃分為\(𝑘\)個不相交的叢集\(\{C_1, C_2,···,C_𝑘\}\),使同一叢集內的節點在拓撲接近度和屬性相似度上彼此接近,而不同叢集間的節點則相距較遠。
2.2 多尺度屬性親和力(MSA)
注意,定義2.1不能直接指導聚類的生成,因為它缺乏量化節點親和力的具體最佳化目標。為此,首先從圖結構和屬性兩個方面描述了節點的新型親和度量MSA。
MSA公式。用於衡量圖中任意兩個節點 \(u_i\)和 \(u_j\)之間的親和性。首先假設每個節點\(u_i∈\mathcal U\)都可以用一個特徵向量\(Z_{\mathcal U}[i]\)來表示,它既表徵了屬性,也表徵了隱藏在二部圖拓撲中的豐富語義。根據流行的Skip-gram模型[40]及其對圖的擴充套件[18,47],可以將節點的成對親和力建模為softmax單元[16],該單元由其特徵向量的點乘引數化。這裡不使用普通的softmax函式,而是採用對稱的softmax函式,將\(\mathcal U\)中任意兩個節點\(𝑢_i\),\(𝑢_𝑗\)之間的MSA \(𝑠(𝑢_i,𝑢_𝑗)\)表述為:
\(\widehat{Z}_U\) 是特徵矩陣 \(Z_U\) 歸一化後的結果。歸一化透過將每個特徵向量除以其範數(即向量的長度)來實現,確保每個特徵向量的範數為1。這有助於避免特徵向量的長度對點積結果產生過大的影響。
多尺度屬性親和力(MSA)$ s(u_{i}, u_{j})$ 是對稱的,即 $s(u_{i}, u_{j}) = s(u_{j}, u_{i}) $ 對於所有 $ u_{i}, u_{j} \in \mathcal{U} $成立。此外,對於所有 $u_{i}, u_{j} \in \mathcal{U} \(,透過歸一化\) -1 \leq \widehat{\mathbf{Z}}{\mathcal{U}}[i] \cdot \widehat{\mathbf{Z}}{\mathcal{U}}[j] \leq 1 $,因此,相對於任何節點 $u_{i} \in \mathcal{U} $的 MSA 值被縮放到一個相似的範圍。
$ \mathbf{Z}_{\mathcal{U}} $ 的最佳化目標。接下來,將重點放在獲取每個節點的$u_{i} \in \mathcal{U} \(特徵向量\)\widehat{\mathbf{Z}}_{\mathcal{U}} $上。一個較好的選擇可能是圖神經網路(GNN)[27],然而,由於現有的GNN主要是為一般圖設計的,並且訓練經典GNN的成本相當高,因此它不能輕易應用於ABGs。正如最近的研究[38,70,89]所揭示的那樣,從數值最佳化的角度來看,許多流行的GNN模型可以統一到一個最佳化框架中,該框架本質上產生的節點特徵向量在底層圖的附近節點上是光滑的。受此發現的啟發,將此最佳化框架擴充套件到ABGs。更具體地說,其目標如下:
其中包括一個非負係數\(\alpha \in [0,1]\)和兩項:
(i)在Eq.(4)中有一個擬合項\(\mathcal O_𝑎\),旨在保證\(\mathbf Z_{\mathcal U}\)接近輸入屬性向量\(\mathbf X_{\mathcal U}\);
(ii) Eq.(5)中的正則化項\(\mathcal O_𝑔\)約束兩個高連通性節點的特徵向量相似。
正則化項要求在方程(5)中對每個節點 \(u_{i}\) 的 \(\mathbf{Z}_{\mathcal{U}}[i]\)進行縮放,縮放因子為 \(1 / \sqrt{\mathrm{D}_{\mathcal{U}}[i, i]}\),D是節點的度,以避免在 \(u_{i}\)連線大量或較少的連結時扭曲 \(\mathbf{Z}_{\mathcal{U}}[i]\)中的值。方程(5)中的權重 \(\widehat{w}(u_{i}, u_{j})\)由下式定義:
它反映了\(\mathcal U\)中兩個同質節點\(u_{i}, u_{j}\)(例如,研究者)之間的連線強度,透過他們在對方\(\mathcal V\)(例如,合著的論文)中的共同鄰居來衡量。舉個例子,考慮圖1中的研究人員𝑢3,𝑢4,\(\hat{𝑤}(𝑢_3,𝑢_4)= \frac{1}{3}+\frac{1}{2}+\frac{1}{4}\),其中分母3,2和4對應於論文𝑣3,𝑣4和𝑣5的作者數量。因此,\(\hat{𝑤}(𝑢_3,𝑢_4)\)評估了𝑢3、𝑢4對他們在v中的合作研究工作的總體貢獻。因此,Eq.(3)中的\(\mathcal O_𝑔\)項是為了最小化那些廣泛合作、貢獻高的研究人員之間的特徵向量距離。
超引數引數的設定可以平衡屬性資訊和拓撲資訊。特別地,當\(\alpha = 0\)時,特徵向量\(Z_U = X_U\),當\(\alpha = 1\)時,特徵向量\(Z_U\)完全依賴於\(\mathcal G\)的拓撲結構。
\(\mathbf Z_{\mathcal U}\)的閉型解。給定一個\(\alpha\),引理2.2表明,Eq.(3)的最優特徵向量\(Z_{\mathcal U}\)可以透過Eq.(6)中的迭代稀疏矩陣乘法來計算,而無需進行昂貴的訓練。
"Closed-form solution"(封閉形式解)是數學和工程學中的一個術語,指的是一個問題的解能用一個表示式明確寫出,而不需要透過迭代或近似方法來求解。這種解通常是精確的,並且可以用有限的數學運算直接計算出來。在處理方程、函式或最佳化問題時,如果可以得到一個封閉形式的解,那麼計算通常更簡單、更快速,因為可以直接應用公式計算出結果。例如,線性方程組的解可以表示為封閉形式的解,如果係數矩陣是方陣且可逆的話。相對的,如果一個問題不能用一個簡單的表示式來解決,而需要透過數值方法(如迭代法、插值法、數值積分等)來近似求解,那麼這種解就不是封閉形式的。在機器學習和資料科學中,如果一個模型的引數可以推匯出一個封閉形式的解,這通常意味著模型訓練更快、更直接,並且解的表示式有助於理解和解釋模型的行為。
引理2.2。當\(\gamma\rightarrow\infty\) 時,Eq.(6)中的\(Z_{\mathcal{U}}\)是Eq.(3)中最佳化問題的閉型解。
此處\(Lu\) 節點集 \(U\)的鄰接矩陣 \(B_{\mathcal U}\) 的歸一化版本。\(\mathbf{L}_{\mathcal{U}}\mathbf{L}_{\mathcal{U}}^{\top}\)歸一化鄰接矩陣與其轉置的乘積,表示節點間的連線關係。\(x_U\)是節點集$ U$ 的輸入屬性向量矩陣。
在實踐中,為了提高效率,將Eq.(6)中的\(\gamma\)設定為有限的數(通常為5)。直觀地說,\(Z_\mathcal U\)的計算本質上是根據\(\mathcal G\)中其他同質節點的多尺度鄰近度(例如,透過多個跳數(最多為\(\gamma\)跳數)的連線強度)聚集屬性。因此,具有許多直接或間接連線的節點的特徵向量將更有可能接近,從而在Eq.(1)中產生高MSA。
2.3 目標函式
基於前述𝑘-ABGC和MSA的定義,將𝑘-ABGC問題表述為以下目標函式:
更準確地說,Eq.(8)是為了識別U中𝑘個不相交的簇C1, C2,···,C𝑘,使得不同簇中兩個節點的平均MSA較低。同時,在此最佳化目標下,使同一叢集中任意兩個節點的平均MSA最大化;換句話說,同一叢集中的節點是緊密結合的。
由[52]可知,Eq.(8)是一個NP-complete組合最佳化問題。因此,當U包含大量節點時,Eq.(8)的精確解在計算上是不可行的。而且,Eq.(8)的直接最佳化要求實現\(\mathcal U ×\mathcal U\)中每個節點對的\(𝑠(𝑢_i,𝑢_𝑗)\)。因此,透過最佳化Eq.(8)得到一個近似解需要\(𝑂(|\mathcal E |·|\mathcal U|·𝑑_{\mathcal U})\)的計算成本和二次空間開銷\(𝑂(|\mathcal U|^2)\),使得它不適合大型ABGs。
補充:
非負矩陣分解(Non-negative Matrix Factorization,簡稱NMF)是一種矩陣分解技術,它將一個非負矩陣分解為兩個非負矩陣的乘積。這種方法在資料探勘、機器學習、影像處理和推薦系統等領域有廣泛的應用。NMF的目標是找到兩個非負矩陣,使得它們的乘積儘可能接近原始矩陣。
1、原理:給定一個非負矩陣 $V \in \mathbb{R}^{m \times n} $,NMF旨在找到兩個非負矩陣 $W \in \mathbb{R}^{m \times r} $ 和 $ H \in \mathbb{R}^{r \times n} ,使得:
$ V \approx WH $
其中, \(r\) 是分解的秩(rank),通常 $ r $ 遠小於 $m $ 和 \(n\) ,這樣可以捕捉矩陣 $V $ 的主要特徵,同時降低資料的維度。
2、目標函式
NMF通常透過最小化原始矩陣 $V $ 和分解後的矩陣 WH 之間的差異來實現。常用的差異度量是Frobenius範數,目標函式可以表示為:
其中, $| \cdot |_F $ 表示Frobenius範數,即矩陣元素的平方和的平方根。
3、演算法
NMF的求解通常採用迭代演算法,以下是一些常用的方法:
-
乘法更新規則(Multiplicative Update Rules):這種方法透過交替更新 W 和 H 來最小化目標函式。更新規則基於梯度下降的思想,但使用乘法而不是加法來更新矩陣元素。
-
交替最小二乘法(Alternating Least Squares, ALS):這種方法透過固定一個矩陣,然後求解另一個矩陣的最小二乘問題,交替進行直到收斂。
-
梯度下降法(Gradient Descent):直接對目標函式進行梯度下降,更新 W 和 H 。
4、優點和限制
優點:
- NMF能夠處理非負資料,這使得它在處理實際應用中的計數資料或強度資料時非常有用。
- 透過降低資料維度,NMF有助於資料的視覺化和解釋。
限制:
- NMF可能難以找到全域性最優解,通常只能保證找到區域性最優解。
- 對於大規模資料集,NMF的計算成本可能很高,儘管有一些方法可以加速計算,如隨機初始化和平行計算。
- NMF對初始化敏感,不同的初始化可能導致不同的結果。
3 TPO演算法
為了解決上述挑戰,本節將三相最佳化框架(TPO:Three-Phase Optimization framework)引入到𝑘-ABGC基於Eq.(8)的計算,而無需顯式構建MSA矩陣。
3.1 概述
在高層次上,TPO的靈感來自於Eq.(8)和Eq.(9)中最佳化目標之間的等價性,如引理3.1。
引理3.1。Eq.(8)等價於以下目標:
具體的說,如果能確定一個矩陣 \(\mathbf R\) 如 \(\mathbf R[i] \cdot\mathbf{R}[j]=\) \(s(u_{i},u_{j})\:\forall u_{i}.u_{j}\in\mathcal{U}\) , 使用最佳化目標Eq. (8) 計算 \(k\) 個不重疊叢集\(C_{\mathrm{l}}\) , \(C_{2}\) , \(\cdots\) , \(C_{k}\) 等價於將 \(\mathbf R\)分解為兩個非負矩陣\(\mathbf Y\) 和 \(\mathbf H\) ,其中\(\mathbf Y\) 代表一個歸一化聚類指示器(NCI: normalized cluster indicator,其中每一行僅包含一個非零值,表示聚類成員身份),矩陣 \(\mathbf{Y}\in\mathbb{R}^{|\mathcal{U}|\times k}\) 定義如Eq. (10).
根據Eq. (10), 對每個節點 \(u_{i}\in\mathcal{U}\) , 在歸一化聚類指示器 NCI 矩陣中對應的向量$Y[i] $僅包含一個非零元素 \(Y[i,\ell]\) ,這個非零元素表示節點 \(u_i\) 的聚類歸屬, 其值應為 \(1/\sqrt{|C_{\ell}|}\) . 這種特性確保了 \(Y\) 矩陣是列正交的,即 \(Y^{\top}Y=I\) 。然而, \(Y\) 矩陣上的這種約束使得矩陣 \(\mathbf R\) 的分解難以收斂。不直接計算精確 \(Y\)矩陣 , 而是採用兩步近似策略。更具體地說, TPO首先構建一個 \(|\mathcal{U}|\times k\) 矩陣\(\Upsilon\) ( \(\mathbf Y\)的連續版本) ,該矩陣最小化了Eq. (11)中的分解損失:
在其中,Eq. (9)中對 \(Y\) 的約束被放寬為 \(\Upsilon\ge 0\) 且\(\Upsilon^{\top}\Upsilon=I.\) 之後,任務是透過最小化它們在Eq. (9)中的差值將\(\Upsilon\) 轉換為NCI矩陣\(Y\).
如圖2, 給定一個屬性二分圖\(\mathcal G\) 、聚類數量 \(k\) , 以及作為輸入的節點集 \({\mathcal{U}}\) ,TPO透過三個階段輸出方程(8)中 \(k\) -ABGC 問題的近似解:
(i) 構建一個低維矩陣 \(R\) 使得\(\:\forall u_{i}.u_{j}\in\mathcal{U}\)有\(\mathbf{R}[i]\cdot\mathbf{R}[j]\approx s(u_{i},u_{j})\) ,而不需要顯式地實現所有節點對的多尺度屬性親和力( MSA )(Algorithm 1, Section 3.2);
(ii) 根據Eq. (11) 分解 \(R\) 以建立一個 \(\mathcal{U}\times k\) 非負列正交矩陣 \(\Upsilon\) (Algorithm 2, Section 3.3);
(iii) 有效地將 \(\Upsilon\)轉換為歸一化聚類指示器(NCI )\(Y\) (Algorithm 3, Section 3.4). 下文將詳細闡述這三種演算法子程式的細節。
由於篇幅限制,將其複雜性分析和 TPO 的分析推遲到的技術報告[78]中進行。
- 多尺度屬性親和力 (MSA):一種用於描述節點對之間在多個尺度上(文中只有一階尺度?)的相似度或關係的度量。
- 歸一化聚類指示器 (NCI):一種矩陣,用於表示節點的聚類成員身份,其中每一行對應一個節點,每一列對應一個聚類,節點屬於某個聚類就在相應的位置有一個非零值。(這不就是非負矩陣分解嘛?)
3.2 基於隨機特徵的MSA近似
演算法1展示了將Eq. (1)中的多尺度屬性親和力(MSA)近似計算線性化的虛擬碼,即將其表示為矩陣乘積\(\mathbf{R}\cdot\mathbf{R}^{\top}\). 這個基本思想是利用並調整隨機特徵[49, 82]技術,該技術旨在近似任意向量 \(\mathbf x\)和\(\mathbf y\)的高斯核\(e^{-\|\mathbf{x}-\mathbf{y}\|^{2}/2}\)。在輸入屬性二分圖\(\mathcal G\)和引數\(\alpha\),\(y\)之後,演算法1首先根據Eq. (7) 計算 \(L_{\mathcal U}\) 並初始化 \(Z_{\mathcal{U}}\) 為 \(\alpha X_{\mathcal{U}}\) (Lines 1-2)。在第3-4行,透過\(\gamma\)次迭代更新 \(Z_{\mathcal{U}}\),每次迭代執行以下矩陣乘法:
特別地,將矩陣乘法\(\mathbf{L}_{\mathcal{U}}\mathbf{L}_{\mathcal{U}}^{\top}\mathbf{Z}_{\mathcal{U}}\) 重構為方程(12)中的\(\mathbf{L}_{\mathcal{U}}\cdot(\mathbf{L}_{\mathcal{U}}^{\top}\mathbf{Z}_{\mathcal{U}})\)以提升計算效率。之後,演算法1透過在 \(Z_{\mathcal{U}}\)的每一行應用\(L_{2}\) 歸一化將 \(Z_{\mathcal{U}}\)轉換為\(\bar{Z}_{\mathcal{U}}\)(第5行),然後繼續構建 \(R\)(第6-9行)。具體來說,首先生成一個\(d_{\mathcal U}\times d_{\mathcal U}\)的高斯隨機矩陣 \(G\),每個條目都是獨立地從標準正態分佈中抽取的(第6行),然後對其執行\(QR\)分解,得到一個 \(d\eta\times d\eta\) 的正交矩陣 \(Q\)(第7行)。矩陣 \(Q\)在Stiefel流形上均勻分佈,即所有正交矩陣的空間[43]。
- QR分解:一種將矩陣分解為正交矩陣和上三角矩陣的分解方法。
- Stiefel流形:所有具有相同列數的正交矩陣構成的空間。
公式(12)是用於更新屬性二分圖(ABG)中節點集 \(\mathcal{U}\) 的特徵向量 $ Z_{\mathcal{U}} $的迭代過程。這個過程是演算法1的一部分,旨在透過迭代矩陣乘法來近似計算多尺度屬性親和力(MSA)。公式(12)的迭代更新過程:
- 初始化:首先,$ Z_{\mathcal{U}} $ 被初始化為 $\alpha X_{\mathcal{U}} $,這意味著初始的特徵向量主要由節點的屬性決定。
- 迭代更新:在接下來的 $ \gamma$ 次迭代中, $Z_{\mathcal{U}} $透過公式(12)進行更新。每次迭代中, $Z_{\mathcal{U}} $ 被更新為 $ \alpha $ 乘以 $X_{\mathcal{U}} $加上 $ L_{\mathcal{U}}$ 與 $L_{\mathcal{U}}^T Z_{\mathcal{U}} $ 的乘積。這個過程可以看作是將節點的屬性資訊與其鄰居的屬性資訊相結合,以反映節點間的拓撲結構。
- 效率提升:透過將矩陣乘法 $ L_{\mathcal{U}} L_{\mathcal{U}}^T Z_{\mathcal{U}} $ 重構為 $L_{\mathcal{U}} \cdot \left( L_{\mathcal{U}}^T Z_{\mathcal{U}} \right) $,演算法提高了計算效率。在原始的矩陣乘法中,如果直接計算 $ L_{\mathcal{U}} L_{\mathcal{U}}^T \(,這將涉及到一個\) |U| \times |U| $ 矩陣與自身的乘法,這在大規模圖中是非常耗時的。透過先計算 $ L_{\mathcal{U}}^T Z_{\mathcal{U}}$ ,我們得到一個 $ |U| \times d_{\mathcal{U}} $的矩陣,其中 $ d_{\mathcal{U}} $ 通常遠小於$ |U| $。這樣,避免了直接計算大矩陣的乘法。
接下來,演算法1透過以下方式計算 \(R'\),矩陣$ R'$ 將用於後續的多尺度屬性親和力(MSA)的近似計算:
- $ R'$ :一箇中間矩陣,其維度為 $ |\mathcal{U}| \times 2d_{\mathcal{U}} $,其中 $|\mathcal{U}| $是節點集 $ \mathcal{U} $中節點的數量, $d_{\mathcal{U}} $是節點屬性的維度。
- $ \sqrt{\frac{e}{d_{\mathcal{U}}}} $:一個縮放因子,用於調整矩陣的尺度。這裡 $e $ 是自然對數的底數, \(d_{\mathcal{U}}\) 是節點屬性的維度。
- $\sin(\widehat{Z}{\mathcal{U}}^{\circ}) \(和\) \cos(\widehat{Z}{\mathcal{U}}^{\circ})$:分別表示對 $ \widehat{Z}_{\mathcal{U}}^{\circ} $進行正弦和餘弦變換。這是透過隨機特徵方法來近似高斯核的一種技術。
- $ \widehat{Z}{\mathcal{U}}^{\circ} = \sqrt{d{\mathcal{U}}} \cdot \widehat{Z}{\mathcal{U}} \cdot Q^{\top} \(:這裡\) \widehat{Z}{\mathcal{U}}$ 是經過 $ L_2$ 歸一化處理的 $ Z_{\mathcal{U}}$ , \(Q\) 是從高斯隨機矩陣 $G $ 透過QR分解得到的正交矩陣。
最終,在第9行,透過將$ R'$ 的每一行進行歸一化,得到矩陣\(R\)。
定理 3.2. 對於任意兩個節點 \(u_{i}, u_{j} \in \mathcal{U}\),如果 \(\mathbf R\) 是演算法1的輸出,那麼以下不等式成立:
定理3.2表明 \(\mathbb{E}[\mathbf{R}[i] \cdot \mathbf{R}[j]]\)作為 \(s(u_{i}, u_{j})\)的一個準確估計器,表現出極低的偏差,特別是在實際場景中 \(d_{\mathcal U}\) 通常超過數百的情況下。
3.2.1 基於svd的屬性降維
儘管演算法1避免了為所有節點對構建多尺度屬性親和力(MSA),但在處理具有大量屬性集的屬性二分圖(ABGs)時,也就是當 $d_{\mathcal{U}} $較大時,它仍然面臨巨大挑戰。回想一下,演算法1的主要計算開銷位於第3-4行和第7-8行,分別需要 $O(\gamma \cdot |\mathcal{E}| \cdot d_{\mathcal U}) $和 $O(d_{\mathcal{U}}^{3} + |\mathcal{U}| \cdot d_{\mathcal{U}}^{2}) $時間。因此,當 $d_{\mathcal{U}} $較大時,例如 \(d_{\mathcal U} = O(|\mathcal{U}|)\),演算法1的計算複雜度急劇增加至三次方,使其在大規模ABGs中變得不實用。為了解決這個問題,透過將輸入屬性向量 \(X_\mathcal U\) 的維度從 \(d_{\mathcal U}\) 降低到一個更小的常數 \(d\) 來提煉它們 (\(d \ll d_{\mathcal{U}}\))。這種方法旨在確保 d 維近似 $X_{\mathcal{U}}^{\prime} $仍然能夠根據方程(1)準確地保留MSA。這種調整將計算成本降低到線性時間複雜度 \(O(\gamma \cdot |\mathcal{E}| + |\mathcal{U}|)\),因為 \(d\) 是一個常數。為了實現這個想法,首先對$ X_{\mathcal{U}} \(應用 top-d 奇異值分解(SVD),得到分解結果\) \mathbf{X}{\mathcal{U}} \approx \boldsymbol{\Gamma\Sigma\Psi}^{\top}\(。利用\) \Psi $的列正交(半酉)屬性,即 \(\Psi^{\top}\Psi = I\),有$ \mathbf{X}{\mathcal{U}}\mathbf{X}_{\mathcal{U}}^{\top} \approx \Gamma\Sigma\Psi{\top}\Psi\Sigma\Gamma = \Gamma\Sigma{2}\Gamma$,這意味著:
- 奇異值分解(SVD):一種將矩陣分解為三個特定矩陣的因子的線性代數技術。
- 列正交(半酉)屬性:指的是矩陣的列向量彼此正交,並且通常是單位向量。
這可以作為演算法1輸入 \(X_{\mathcal U}\) 的低維替代品。沿著這條線,可以透過簡單地將\(X_{\mathcal U}\)替換為 \(X_{\mathcal{U}}^{\prime}\),在演算法1的第2-4行的迭代過程中推匯出特徵向量 \(Z_{\mathcal{U}}\)的低維版本 \(Z_{u}^{\prime}\),即:
引理 3.3. 設 \(\Gamma\Sigma\Psi^{\top}\)是 \(X_{\mathcal U}\) 的精確 top-d奇異值分解(SVD)。
對每一對節點 \(u_{i}, u_{j} \in \mathcal{U}\)都成立,其中 \(\sigma_{d+1}\)是 \(X_{\mathcal U}\) 的第 \((d+1)\)個最大奇異值。
引理3.3建立了\(\mathbf{Z}_{\mathcal{U}}^{\prime}\)的近似保證,從理論上保證了Eq.(1)中定義的MSA的精確近似。除了保留MSA和減少計算負載的能力之外,這種基於SVD的技巧可以透過與主成分分析(PCA)的密切聯絡,令人驚訝地去噪屬性資料以增強聚類,正如在第4.2節中的實驗所驗證的那樣。
3.3 貪婪正交NMF
在構建 \(\mathbf{R} \in \mathbb{R}^{|\mathcal{U}|\times2d}\)(如果未應用第3.2.1節中的降維,則 \(d=d_{\mathcal U}\))之後,TPO 將其傳遞給第二階段,即對 \(R\) 進行正交非負矩陣分解(NMF),如方程(11)所述,以建立\(\Upsilon\)。對此問題的虛擬碼在演算法2中給出,使用交替框架迭代更新 \(\Upsilon\) 和 \(H\),以最佳化方程(11)中的目標函式(第3-5行)。具體而言,給定迭代次數 \(T_f\)以及 \(H\) 和\(\Upsilon\) 的初始估計,在每次迭代中,首先在固定 \(\Upsilon\) 的情況下,按照方程(16)更新 \(H\) 中的每個 \((j,\ell)\)-元素(\(1 \leq j \leq 2d\) 和 \(1 \leq \ell \leq k\)),然後更新 \(\Upsilon[i,\ell]\),對於 \(u_i \in \mathcal{U}\) 和 \(1 \leq \ell \leq k\),按照方程(17)進行,此時 \(H\) 保持固定。
式16表示,固定\(Y\),逐步調整 \(H\) 矩陣,使得 \(YH\) 更接近於原始矩陣$ R$。
式17表示,固定\(H\),逐步調整 \(Y\) 矩陣。
上述用於求解方程(11)的更新規則可以透過利用輔助函式方法[32]以及凸最佳化中的拉格朗日乘數法來推導,其收斂性由單調性定理[10]保證。注意,重新排序了方程(16)和(17)中的矩陣乘法 \(H\Upsilon^{\top}\Upsilon\)和 \(\Upsilon\Upsilon^{\top}RH\),分別變為 \(\mathbf{H}\cdot(\mathbf{\Upsilon}^{\top}\mathbf{\Upsilon})\)和 \(\mathbf{\Upsilon}\cdot(\mathbf{\Upsilon}^{\top}\cdot(\mathbf{RH}))\),以避免實現 \(2d \times |\mathcal{U}|\) 密集矩陣 \(H\Upsilon^{\top}\)和 \(|\mathcal{U}|\times|\mathcal{U}|\)密集矩陣 \(\Upsilon\Upsilon^{\top}\)。因此,更新 \(H\)和 \(\Upsilon\)在方程(16)和(17)中的計算複雜度降低到每次迭代 \(O(|\mathcal{U}|dk+|\mathcal{U}|k^{2})\)。
由於 \(\Upsilon\)和 \(H\) 需要多次迭代才能收斂,尤其是當它們被隨機初始化時,上述計算仍然相當昂貴。採用貪婪播種策略(一種選擇初始值以加速最佳化演算法收斂的策略)來加速收斂,這在許多最佳化問題中都有應用。也就是說,以快速但理論上合理的的方式謹慎選擇 \(\Upsilon\) 和 \(H\)的良好初始值。如演算法1的第1-2行所述,設定 \(\Upsilon\) 和 \(H\)如下:
其中 \(\Gamma\)和 \(\Psi\)分別是 \(R\) 的top-\(k\) 個左奇異向量和右奇異向量,\(\Sigma\)是一個對角矩陣,其對角線元素是 \(R\) 的top-\(k\) 個奇異值,這些值是透過呼叫截斷隨機奇異值分解(SVD)演算法[19],配合 \(R\) 和 \(k\) 獲得的。請注意,這個例程需要 \(O(|\mathcal{U}|dk+(\mathcal{U}+d)k^{2})\)時間[19],並且由於其隨機演算法設計以及底層高度最佳化的矩陣操作庫(LAPACK 和 BLAS)可以在實踐中高效地完成。
鑑於奇異向量 \(\Upsilon=\Gamma\)是列正交的,即 \(\mathbf{\Upsilon}^{\top}\mathbf{\Upsilon}=\mathbf{I}\),Eckart-Young 定理[15](附錄A中的定理A.1)明確指出,當對 \(\Upsilon\)和 \(H\)的非負約束被放寬時,方程(18)為方程(11)提供了最優解。換句話說,方程(18)立即為在方程(11)中的最佳化目標提供了一個粗略的解決方案,從而大幅度減少了第3-5行所需的迭代次數。
- Eckart-Young 定理:一個關於最佳低秩逼近的定理,表明在一定條件下,奇異值分解可以提供最佳的低秩矩陣逼近。
- 截斷隨機SVD演算法:一種用於近似大型矩陣的SVD的演算法,特別適用於處理具有大量資料的情況。
3.4 高效的NCI生成
在最後階段,TPO 透過最小化演算法2返回的 \(\Upsilon\) 與目標 NCI 矩陣 $Y $之間的“差異”來生成 NCI 矩陣 \(Y\)。回想方程(9),最初的目標是找到一個 $|\mathcal{U}|\times k $ NCI 矩陣$ Y$ 和一個 $2d\times k $非負矩陣 \(H\),使得總的平方重構誤差 $|\mathbf{R}-\mathbf{YH}{\top}|_{F}=\sum_{u_{i}\in\mathcal{U}}\sum_{j=1}{d}\left(\mathbf{R}[i,j]-\mathbf{Y}[i]\cdot\mathbf{H}[j]\right) $最小化。考慮到 \(\Upsilon\) 是$ Y$ 的連續版本(放寬方程(10)中的約束),$|\mathbf{R}-\mathbf{\Upsilon H}{\top}|_{F} $能夠獲得比 $|\mathbf{R}-\mathbf{YH}{\top}|_{F} $更低的重構誤差。因此,方程(9)的理想解 \(Y\) 確保$ |\mathbf{R}-\mathbf{YH}{\top}|_{F} $緊密近似於方程(11)中的 \(\|\mathbf{R}-\mathbf{\Upsilon H}^{\top}\|_{F}^{2}\)。從數學上講,將矩陣$ \Upsilon$ 轉換為 NCI 矩陣 \(Y\) 可以表述為最小化它們重構誤差的差異,即$ \left||\mathbf{R}-\mathbf{YH}{\top}|_{F}-|\mathbf{R}-\mathbf{\Upsilon H}{\top}|_{F}\right|=\left|\mathrm{trace}((\mathbf{Y}\mathbf{Y}{\top}-\mathbf{\Upsilon}\mathbf{Y})\cdot\mathbf{R}\mathbf{R}^{\top})\right|$,根據引理 3.4。
引理 3.4. 以下等式成立:
進一步,將問題重新表述為:
這意味著,如果 NCI 矩陣 \(Y\) 和 \(k \times k\) 行正交矩陣 \(\Phi\) 最小化 \(\|\Upsilon\Phi-Y\|_{2}\),那麼 $\mathbf{Y}\mathbf{Y}{\top}-\mathbf{\Upsilon}\mathbf{\Upsilon}\approx\mathbf{\Upsilon}\mathbf{\Phi}\mathbf{\Phi}{\top}\mathbf{\Upsilon}-\mathbf{\Upsilon}\mathbf{\Upsilon}^{\top}\approx0 $成立,因此方程(19)中的目標損失被最小化。
為了解方程(20),在 TPO 中開發了演算法3,它透過迭代框架獲得 NCI 矩陣$ Y\(,在該框架中,\)\Phi$和 \(Y\) 以交替方式被細化直到收斂。最初,演算法3以矩陣 \(\Upsilon\) 和迭代次數 \(T_{g}\) 作為輸入,並初始化 \(\Phi\) 為 $k \times k \(單位矩陣(第1行)。然後它在第2-7行啟動一個迭代過程來共同細化\) Y$ 和 \(\Phi\)。具體來說,在 $T_{g} $次迭代中的每一輪中,TPO 首先透過(第4行)確定每個節點 $u_{i} \in \mathcal{U} $的聚類ID。
然後更新節點\(u_{i}\) 的聚類指標\(Y[i]\) ,如下所示(Line 5):
在 \(Y\) 中的每一列隨後進行了 \(L_{2}\)-歸一化,即:
根據方程(10)中 NCI 約束(第6行),\(Y\) 中的每一列隨後進行了 \(L_{2}\)-歸一化。簡而言之,第3-6行透過在固定 \(\Phi\) 的情況下更新 \(Y\) 來最佳化方程(20)。解釋一下,回想方程(10)中 NCI 矩陣 \(Y\) 的約束,\(Y\) 的每一行只有一個非零項。因此,透過定位第 \(i\) 行的 $\Upsilon\Phi $中對應項 $(\Upsilon\Phi)[i,\ell^{*}] $最大的列 ID \(\ell^{*}\)(即,方程(21)),並且同時按照第5-6行的方程(22)和(23)更新 \(Y[i]\),方程(20)中 \(\Upsilon\Phi\) 與 \(Y\) 之間的距離自然就被最小化了。
有了經過細化的 \(Y\),接下來的工作變成了更新 $k \times k $矩陣 \(\Phi\),以最佳化
給定 \(Y\),利用文獻[61]中的引理 4.14,這個問題的最小化解是 \(\Phi=\Upsilon^{\top}Y\)。因此,在第7行,$\Phi $被更新為 \(\Upsilon^{\top}Y\)。
在重複了$ T_{g}$ 次迭代上述程式之後,TPO 返回 \(Y\) 作為最終的聚類結果。實際上,一打(大約十二次)迭代足以產生高質量的 \(Y\),這一點在第4.3節中得到了驗證。
個人總結:簡單來說就是使用NMF處理二部圖聚類問題。這種傳統處理方法的公式對我來說屬實有點費勁。