李 揚,吳安彪,袁 野,趙琳琳,王國仁
(1.東北大學計算機科學與工程學院,沈陽 110169;2.北京理工大學計算機學院,北京 100081)
圖,也叫網絡,作為一種常見的數據結構,廣泛地出現在人們的日常生活中,例如社交網絡、萬維網等。在大數據時代,圖已經成為有效存儲和建模實體關系的重要媒介。在各種圖中,屬性圖引發了很多關注,屬性圖不僅保留了節點間的拓撲結構,而且還具有豐富的屬性信息。在實際應用中,屬性信息在許多任務中起著重要作用。例如,在社交網絡中,用戶是否要購買某產品不僅與他的社交狀況有關,而且與用戶最近的購買記錄密切相關。此外,有關社會科學的一些相關研究還表明,節點的屬性可以反映和影響其社區結構[1]。因此,關于屬性圖的研究是必要且有意義的。
許多屬性圖嵌入工作(例如圖卷積網絡(Graph Convolutional Network,GCN)[2])都取得了巨大的成功,可以利用它們去解決多數圖上的深度學習問題。半監督算法在保證實驗效果的基礎上極大減少了需要標記數據的數量,這是一個巨大的進步。但是在大數據時代,圖的規模非常大,具有十億個節點的大圖并不少見。以一個有十億個節點的圖為例,按照文獻[2]中最低的標記率0.001 計算,需要標記一百萬個節點。而且,由于數據標記率如此低,無法保證在圖上進行的各種下游任務都能取得良好的效果。因此,需要在大圖上標記的數據量很大。與此同時,數據標注的難度很高。以上情況導致標注過程會消耗大量的人力物力,一定程度上阻礙了有監督或半監督圖嵌入算法的實際應用。
而且,許多現有的屬性圖嵌入方法是端到端的。輸入是圖中節點的特征,輸出是下游任務的最終結果。換句話說,端到端算法所得到的嵌入向量是與標簽相關的。標簽是依賴于專家或經驗標注的,如果基于經驗的數據標注出現問題,將會對最終結果產生影響。同時,端到端算法違背了圖嵌入的初衷。圖嵌入的目的是將圖中的每個節點都表示為低維向量,并使用該向量執行一系列下游任務。端到端使嵌入變得不可見。當下游任務發生變化時,需要調整整個模型。在實際應用中,圖上的任務往往不是單一的,在滿足各種任務的同時需要調整整個模型所需的代價使得端到端算法會消耗更多的成本。
諸如GCN 一類的屬性圖嵌入方法更加關注節點的屬性信息?,F有的圖嵌入理論認為,圖上的信息主要包括拓撲信息(例如哪些節點是該節點的鄰居)和屬性信息(例如節點的特征)。GCN 一類方法的思想是沿圖上的路徑傳播屬性。與屬性信息相比,拓撲信息在GCN 的輸出中反映較少,靈活地調整屬性信息和拓撲信息對嵌入的影響是必要的。
為了解決上述問題,本文提出了一種無監督的兩階段模型:第一階段將已存在的無屬性圖嵌入方法(以DeepwalkDeepWalk 為例)作用在屬性圖上得到包含拓撲信息的嵌入向量,利用該向量可以得到屬性圖的拓撲相似度矩陣,并利用屬性圖的屬性得到屬性相似度矩陣,第二階段利用已存在的屬性圖嵌入方法(以GCN 為例)作用在屬性圖上得到低維向量,利用該向量得到的相似度矩陣以及第一階段已經得到的拓撲相似度矩陣和屬性相似度矩陣計算損失,從而反向更新GCN 的權重,最終得到屬性圖的嵌入向量。本質上,本文方法是提取圖中節點之間的拓撲相似度和屬性相似度,然后基于這些相似度嵌入節點,并通過現有的無屬性圖嵌入方法和屬性圖嵌入方法來學習這種嵌入。更具體地說,本文的主要工作如下:
1)提出了一種無監督的屬性圖嵌入方法。與現有的有監督和半監督方法不同,該方法可以在不依賴任何標簽的情況下使圖中的每個節點獲得相應的嵌入向量。
2)設計了一個損失函數,該函數是屬性信息與嵌入向量信息差值以及拓撲信息與嵌入向量信息差值的和,通過調整這兩項的權重可以靈活地調整屬性和拓撲結構對嵌入向量的影響,并最終使得到的嵌入向量盡可能地保留拓撲和屬性信息。
3)在真實數據集進行實驗,評估本文所提出的方法。實驗結果表明,在沒有任何標簽的情況下,該方法就可以實現優異的性能。
圖嵌入是一個熱門的研究方向,在此方向上已經有一系列的經典工作。下面將從圖嵌入和屬性圖嵌入兩方面來介紹相關工作。
大多數圖嵌入方法屬于以下三類:基于分解的方法、基于隨機游走的方法、基于深度學習的方法。
基于分解的方法受矩陣分解方法的啟發,該方法假定數據位于低維流形。拉普拉斯特征圖(Laplacian Eigenmaps,LE)[3]和局部保留投影(Locality Preserving Projections,LPP)算法[4]依靠特征分解來保留局部流形結構。由于特征分解操作代價高昂,這些方法在處理大規模圖時面臨困難。為了緩解這個問題,已經提出了幾種方法,有代表性的是圖分解(Graph Factorization,GF)[5]、GraRep(Graph Representation)[6]和HOPE(High-Order Proximity Preserved Embedding)[7]。這些方法的主要區別在于它們所采用的節點相似度計算方法。GF 直接從鄰接矩陣中提取一階鄰近度來計算節點相似度,而GraRep 和HOPE 分別利用鄰接矩陣和相似度度量(即余弦相似度)的不同冪獲得高階鄰近度以捕獲更準確的節點相似度。
基于隨機游走的方法假定如果一對節點經常同時出現在圖的模擬隨機游走的路徑中,那么這對節點很相似。因此與基于因式分解的方法所使用的確定性方法相比,節點相似性的計算更加隨機。DeepWalk[8]和node2vec[9]是該類方法中較為成功的方法,它們的區別在于隨機游走的方式不同。DeepWalk 模擬均勻的隨機游走,而node2vec 依賴于有偏的隨機游走。Perozzi 等[10]擴展了DeepWalk 在圖中編碼了多尺度的節點關系。與DeepWalk 和node2vec 將節點嵌入到歐幾里得空間不同,Chamberlain 等[11]將節點嵌入到雙曲空間。
基于分解和隨機游走的方法往往采用淺層模型,這導致其捕獲復雜圖結構的能力嚴重不足。為了解決這個問題,一些研究人員引入了深度學習技術。Tian 等[12]提出了一個堆疊的稀疏自編碼器通過重構鄰接矩陣來嵌入節點。Wang等[13]提出了一個堆疊的自編碼器,其通過使用一階鄰近度作為正則項來重構二階鄰近度。Cao 等[14]使用堆疊的去噪自編碼器來重構互信息矩陣。
盡管大部分圖嵌入方法都屬于上述三種類型,但仍有例外 。例 如,LINE(Large-scale Information Network Embedding)[15-16]是一個成功的淺層嵌入方法,其通過保存圖的局部和全局結構來獲得嵌入。
1.1 節中描述的圖嵌入方法僅利用圖的結構來學習節點表示,但是現實世界圖中的節點通常帶有一組豐富的屬性,為了利用節點特征,已經提出了許多屬性圖嵌入方法,這些方法分為兩大類:有監督方法和無監督方法。
有監督的屬性圖嵌入通過利用標簽信息來嵌入節點。例如,Huang 等[17]提出了一種利用頻譜技術將鄰接矩陣、節點特征矩陣和節點標簽矩陣映射到同一個向量空間中的監督方法。Hamilton 等[18]提出了GraphSAGE(Graph Sample and AGgrEgate)的四個變體,這是一種以歸納方式計算節點嵌入的框架。許多方法使用部分標簽信息來處理圖。例如,GCN[2]將頻譜卷積合并到神經網絡中。圖注意力網絡(Graph ATtention network,GAT)[19]利用注意力機制來確定相鄰節點在最終節點表示中的影響。
無監督的屬性圖嵌入方法可解決缺少標簽信息的問題,這種情況在許多實際應用中都存在。Yang 等[20]和Huang等[21]提出了矩陣分解的方法來結合圖的結構信息和節點的屬性信息。此外Kipf 等[22]提出了兩種利用圖卷積網絡的圖自動編碼器(Graph Auto-Encoder,GAE)。Pan 等[23]還介紹了一種基于對抗方法的圖形編碼器。對于圖聚類,Wang 等[24]提出了一種圖形自動編碼器,它能夠重構節點特征;然而,這種自編碼器只能重構圖的結構或圖的屬性而不能同時重構兩者。Gao 等[25]提出了一個框架,該框架由兩個常規的自動編碼器組成,它們分別重構了圖的結構和節點的屬性。
本章介紹論文中所使用的主要變量,以及屬性圖嵌入問題的相關定義。表1 總結了文中所使用的主要變量。
表1 主要變量Tab.1 Main parameters
定義1屬性圖。屬性圖是一種數據結構,可以表示為G={V,E,A},其中V={v1,v2,…,vn}表示圖中的|V|個節點組成的集合,E表示節點之間的邊的集合。A∈R|V|×m表示節點的屬性信息,其中m是屬性向量的維數,Ai是與節點vi對應的屬性向量(例如,社交網絡中用戶的年齡和性別或蛋白質-蛋白質相互作用網絡上的蛋白質類別)。
值得注意的是,這些屬性是來自應用程序域的屬性。它們不是由專家手工制作或通過嵌入技術產生的合成特征。因此,它們不包括任何拓撲信息。
在各種應用程序中,將屬性圖嵌入到低維向量空間中很有用。為了獲得嵌入,必須保留圖的拓撲結構。局部圖結構,即兩個節點是否相鄰,必須在嵌入向量中得到反映。以下定義度量了兩個節點之間的局部結構。
定義2一階鄰近度。圖中兩個節點之間的一階鄰近度是局部的成對鄰近度。對于由邊(u,v)鏈接的每對節點,定義u和v之間的一階鄰近度為1。如果無法觀察到u和v之間的邊,則它們的一階鄰近度為0。
一階鄰近度可以在一定程度上反映圖中兩個節點的相似性。例如,在網絡購物平臺上彼此成為朋友的人們傾向于購買類似的產品;在萬維網上彼此連接的用戶往往會瀏覽相似的主題。許多現有的嵌入方法(例如等距特征映射(Isometric feature Mapping,IsoMap)、局部線性嵌入(Locally Linear Embedding,LLE)、LE 和GF)都旨在保留一階鄰近度。
僅僅衡量兩個節點是否是鄰居還遠遠不夠。因為許多節點不是彼此相鄰的,所以無法根據兩個節點是否是鄰居來確定兩個節點的嵌入是否相似。一種直覺是共享鄰居的節點也可能是相似的。例如,與某人同時成為朋友的兩個人可能具有相同的愛好,并且在社交網絡中更可能成為朋友;在推薦系統中,與某人同時是好友的兩個用戶也可能會購買類似的產品。因此,一些方法還定義了二階鄰近度以保留此類信息。
定義3二階鄰近度。圖中一對節點(u,v)之間的二階接近度是它們的鄰居之間的相似度。即fpu=(fpu,1,fpu,2,…,fpu,u-1,fpu,u+1,…fpu,v-1,fpu,v+1,…,fpu,n-1,fpu,n)表示u與所有其他節點(不包括節點u和v)的一階鄰近度,則fpu和fpv之間的相似性決定了u和v之間的二階鄰近度。如果沒有節點是u和v的公共鄰居,則u和v之間的二階接近度為0。
通過保存圖中成對節點的拓撲相似度,可以極大地保留圖中的拓撲信息。利用這些拓撲信息,可以針對圖中的每個節點生成一個低維嵌入向量。值得注意的是,這個低維嵌入向量只包含拓撲信息而不包含其他信息。下面給出圖的拓撲相似度矩陣的定義。
定義4圖的拓撲相似度矩陣。圖的拓撲相似度矩陣是一個方陣,其行數和列數為圖的節點個數。其中的每一個位置對應于圖中兩個節點之間的拓撲相似度,即:
其中:ST(i,j)表示第i個節點與第j個節點間的拓撲相似度;表示節點i和節點j的拓撲嵌入;“·”表示向量的點積;| |表示向量的范數。
定義5圖的屬性相似度矩陣。圖的屬性相似度矩陣是一個方陣,其行數和列數為圖的節點個數。其中的每一個位置對應于圖中兩個節點之間的屬性相似度,即:
其中:SA(i,j)表示第i個節點與第j個節點間的屬性相似度;Ai和Aj表示節點i和節點j的屬性向量。
定義6圖的相似度矩陣。圖的相似度矩陣是一個方陣,其行數和列數為圖的節點個數。其中的每一個位置對應于圖中兩個節點之間的相似度,即:
其中:S(i,j)表示第i個節點與第j個節點間的相似度;Hi和Hj表示節點i和節點j的嵌入向量。
式(1)~(3)分別定義了圖的拓撲相似度矩陣、屬性相似度矩陣和相似度矩陣。根據上述公式計算所需的時間復雜度為O(n2),n為節點的個數。在本文中不單獨針對成對節點計算相似度而是針對整個圖計算圖上各節點之間的相似度,即首先對拓撲嵌入矩陣、屬性矩陣、嵌入矩陣作規范化,然后使用該矩陣與該矩陣的轉置作矩陣乘法,得到的結果與使用式(1)~(3)運算結果相同。計算過程如式(4)~(6)所示:
其中,HT、A、H分別為屬性圖的拓撲嵌入、屬性向量和屬性圖的嵌入。、AT、HT分別為屬性圖拓撲嵌入、屬性向量和屬性圖嵌入的轉置。normalize()是矩陣規范化函數。
問題定義無監督屬性圖嵌入。給定屬性圖G={V,E,A},屬性圖嵌入旨在通過無監督學習將節點vi映射成一個低維向量Hi∈Rd,且該向量可以同時保留節點的拓撲和屬性信息,其中d是嵌入向量的維數,d?|V|。
接下來,本文將介紹兩階段的無監督屬性圖嵌入模型,利用該模型所得到的嵌入向量可以同時保留圖的拓撲和屬性信息。
一個理想的屬性圖嵌入模型需要滿足幾個要求:第一,其生成的嵌入向量必須能夠保留圖的拓撲信息,例如節點之間的一階鄰近度或二階鄰近度;第二,其生成的嵌入向量必須保留圖的屬性信息;第三,它可以在不依賴標簽的情況下生成嵌入,并且該嵌入向量可以保存大部分信息。在本章中,提出一個屬性圖嵌入模型,該模型可以滿足所有這三個要求。
如圖1 所示,所提模型主要分為兩階段。第一階段,利用已有的無屬性圖嵌入方法(以DeepWalk 為例)提取節點的拓撲信息和節點的屬性來計算各節點之間的拓撲相似度和屬性相似度。第二階段,利用現有的屬性圖嵌入方法(以GCN 為例)獲得屬性圖的嵌入并計算相似度矩陣,根據損失函數來更新屬性圖嵌入模型的參數,最后利用更新的參數來獲得屬性圖嵌入向量。下面,分別詳細地描述算法的兩個階段。
圖1 無監督屬性圖嵌入模型Fig.1 Unsupervised attributed graph embedding model
由第2 章可知,圖上的拓撲信息和屬性信息可以被獨立表達,因此可以使用現有的無屬性圖嵌入方法來提取圖上的拓撲信息,然后計算圖的拓撲相似度矩陣。
對于無屬性圖嵌入,已經有一系列成熟的方法可用于提取圖中的局部和全局信息。這些方法主要由三類組成:基于矩陣分解的方法、基于隨機游走技術、基于深度學習的方法。其中包含一系列有影響力的方法,例如局部線性嵌入(LLE)、LE、GF、GraRep、HOPE、DeepWalk、node2vec、結構深度網絡嵌入(Structural Deep Network Embedding,SDNE)、深度遞歸網絡嵌入(Deep Recursive Network Embedding,DRNE)、LINE 等。這些方法均可以應用在本文框架中。在本文中,以DeepWalk 為例來獲得屬性圖的拓撲相似度矩陣,如算法1 所示。其中,ω、d、γ、t均為DeepWalk 算法中的參數,分別為窗口大小、嵌入向量大小、每個節點為起點所走的路徑個數、路徑長度。第1)~9)行為DeepWalk 算法的實現,第10)行是DeepWalk 算法得到的拓撲嵌入向量,第11)行利用第10)行所得到的結果根據式(4)計算出圖的拓撲相似度矩陣。最終,根據算法1,可得圖的拓撲相似度矩陣。
算法1 Topology Similarity。
對于屬性圖的屬性信息,可以通過節點之間的屬性相似度來度量。算法2 展示了如何根據屬性計算屬性圖的屬性信息。經過上述步驟可以獲得屬性圖的拓撲信息和屬性信息。下面介紹如何獲得屬性圖的嵌入。
算法2 Attributed Similarity。
通過算法1 和算法2,可以得到屬性圖的拓撲相似度和屬性相似度矩陣。接下來,使用現有的屬性圖嵌入技術來進行嵌入。可以在此框架中使用的算法包括但不限于GCN 及其一系列變體、圖注意力網絡、圖自動編碼器等。
本節以GCN 為例,下面給出GCN 模型。
GCN 模型是一個k層深度模型,可以表示為,其中W={W(1),W(2),…,W(k)},通常用于節點的端到端學習。給定一個具有節點屬性和拓撲結構的屬性圖G,GCN 同時將這兩種類型的信息編碼為每層的隱藏特征,用作網絡節點的單獨信息 。形式上,GCN的前向傳播過程為f(k)(f(k-1)(…f(1)(G)…))。GCN 的每一層都使用了鄰居聚合函數f(·),進而通過前一層的特征來生成下一層的特征,如式(7)所示:
從呈現節點屬性的最低嵌入H(0)開始,模型迭代地聚合一層中每個節點的隱藏特征與其相鄰節點的特征,以在下一層H(1)中為該節點生成隱藏特征。依此類推(見式(7))。
通過使用上述模型可以獲得屬性圖的嵌入S,一個自然的直覺是使屬性圖的嵌入盡可能與屬性圖的拓撲信息和屬性信息一致。因此,本文提出了一種損失函數,如式(8)所示:
其中,本文設置α為超參數用以控制節點拓撲信息和屬性信息在損失函數中的比例,因為節點的拓撲信息和屬性信息對不同的數據集以及在不同的任務中影響是不同的,通過該參數可以直接控制拓撲信息和屬性信息對于最終嵌入的生成。對于不同的任務,不同的屬性會導致超參數的設置有差異。這里,“‖a‖F”為向量a的Frob enius 范數。算法3 詳細描述了如何通過GCN 模型得到最終的嵌入向量。第1)~2)行是GCN 模型的構建及初始化過程,以屬性圖的屬性矩陣為輸入。第3)~4)行為GCN 模型的前向傳播過程。第5)行是利用GCN 最后一層的輸出計算相似度矩陣(見式(6))。第6)行是根據相似度矩陣、拓撲相似度矩陣、屬性相似度矩陣和超參數α來計算損失函數。第7)行是根據損失函數更新GCN 中每一層的權重W(l)。第9)~10)行,通過迭代epoch次后,確定GCN 模型中各層的權重W(l),最后將屬性圖G輸入到已訓練好的GCN 模型中輸出各個節點所對應的嵌入向量,如式(7)所示。
算法3 Attributed graph embedding。
本章使用多個基準數據集定性和定量地評估所提出的方法。
本文使用3 個基準數據集(Cora、Citeseer 和Pubmed[26]),它們被廣泛用于評估屬性圖嵌入方法。表2 給出了數據集的統計數據。
表2 數據集統計信息Tab.2 Dataset statistical information
在此實驗中,使用Adam 優化器[27]來學習模型參數,初始學習率為0.1。對于Cora 和Citeseer,超參數α設置為0.4;對于Pubmed,超參數α設置為0.5。對于Cora 和Citeseer,epoch被設置為2 500;對于Pubmed,將epoch設置為2 000。對于模型中使用的GCN,其層數設置為2,隱藏層大小為1 000,嵌入向量維數d為64。
下面將本文提出的屬性圖嵌入方法與以下最新的有監督和無監督的方法進行比較。
DeepWalk[8]:DeepWalk 是一種圖嵌入方法,可在圖上模擬隨機游走,進而利用隨機游走得到的路徑訓練SkipGram模型[28]。
增強的DeepWalk(DeepWalk+features):此基準將原始節點的屬性和DeepWalk 的嵌入向量連接在一起,以利用節點屬性。
標簽傳播(Label Propagation,LP)[29]:LP 將圖中的可用標簽傳播給未標記的節點。
圖自動編碼器(GAE)[22]:GAE 使用圖卷積網絡作為編碼器,并在編碼器中重建圖結構。
變圖自動編碼器(Variational Graph Auto-Encoder,VGAE)[22]:VGAE 是GAE 的變體版本。
GraphSAGE[18]:GraphSAGE 具有四個無監督的變體,其特征聚合器分為應用卷積樣式聚合器(GraphSAGE-GCN)、屬性向量中的元素逐項均值(GraphSAGE-mean)、通過將相鄰節點的屬性集成到LSTM 中進行匯總(Graph Sample and AGgrEgate-Long Short-Term Memory recurrent neural network,GraphSAGE-LSTM)和在應用全連接的神經網絡后執行逐元素最大池操作(GraphSAGE-pool)。
將本文所提出的方法與上述基線在節點分類任務上進行比較。DeepWalk和LP的精度可從Kipf &Welling[2]中獲取。本文還重用了Veli?kovi? 等[30]報告中的增強型DeepWalk 的指標。此外,也將本文提出的方法與GAE 和VGAE 進行了比較。
本文所提出的方法在3 個數據集上都展現出了良好的性能,如表3 所示。其中在Cora 和Citeseer 數據集上,此方法超過了所有基線方法,可以觀察到最佳無監督基線方法分別提高了1.2 個百分點和2.4 個百分點;在Pubmed 數據集上,本文方法沒有超過最好的基線方法,與最好的基線方法相比,本文方法所取得的準確率低0.9 個百分點??梢宰⒁獾剑琍ubmed 數據集節點數是Cora 數據集和Citeseer 數據集節點數的6~7 倍,然而,Pubmed 數據集的屬性向量長度只有Cora 數據集的1/3,只有Citeseer 數據集的1/7,這意味著與前兩個數據集相比,Pubmed 數據集中的節點擁有更加豐富的拓撲信息和更加貧乏的屬性信息,導致節點嵌入無法均衡地表達這兩種信息,這或許是Pubmed 數據集上節點分類任務表現不佳的原因之一。
表3 不同數據集上的節點分類任務準確率比較Tab.3 Accuracy comparison of node classification task on different datasets
此外,Cora 數據集和Citeseer 數據集與Pubmed 數據集上的超參數設置是不同的。超參數α表明拓撲信息對于嵌入向量的貢獻程度,同樣,1-α表示屬性信息對于嵌入向量的貢獻程度。由4.1 節可知,Cora 和Citeseer 數據集上的超參數α設置為0.4,Pubmed 數據集上的超參數α設置為0.5。對于Pubmed 數據集上的節點來說,它們擁有更加豐富的拓撲信息,因此拓撲信息對于嵌入向量的貢獻程度被設置得更大,最終導致嵌入向量對于屬性信息沒有完整地表達,使得準確率不高。
在可視化任務中,本文將Cora 數據集上的前400 個節點分別利用DeepWalk 算法所得到的嵌入向量和本文所提出的方法所得到的嵌入向量作為t-SNE(t-distributed Stochastic Neighbor Embedding)算法的輸入,映射到二維空間上,結果如圖2、3 所示。圖上的每一種圖形代表Cora 數據集上不同的分類。其中,t-SNE 算法的參數均使用默認設置。
圖2 為利用DeepWalk 算法所得到的嵌入向量作為t-SNE算法輸入的可視化結果。從圖2 中可以看到,DeepWalk 算法的可視化結果并不是有意義的,許多并不屬于同一類的節點聚集在一簇中,同時也存在大量的異常點獨立于簇間。原因主要歸結于DeepWalk 算法所得到的嵌入向量只能保存屬性圖中節點的拓撲信息,對于屬性信息卻完全沒有表達。
圖3 為利用本文所提出的方法得到的嵌入向量作為t-SNE 算法輸入的可視化結果。與圖2 相比,屬于同一類的節點大多能夠被分配在一個或幾個簇中。同時,DeepWalk算法可視化結果中的異常點在圖3 中也被分配到了各自的簇中。與DeepWalk 相比,本文所提出的方法生成的可視化結果是更有意義的。
圖2 DeepWalk算法在Cora數據集上的可視化結果Fig.2 Visualization result of DeepWalk algorithm on Cora dataset
圖3 本文方法在Cora數據集上的可視化結果Fig.3 Visualization result of the proposed method on Cora dataset
圖4 展示了在Cora 數據集上超參數α的變化對節點分類任務準確率的影響。當α為0.4 時,節點分類的準確率最高,達到了81.7%。針對不同的數據集以及不同的任務,α的選取一般也是不同的,選擇一個合適的α是任務質量的前提保證。
圖4 不同超參數α下的節點分類準確率Fig.4 Node classification accuracy with different hyperparameter α
圖5 展示了在Cora 數據集上嵌入向量維數d對節點分類準確率的影響。此實驗分別記錄了d為10、40、64、128、256時,節點分類準確率的變化情況。可以觀察到,當嵌入向量維數過大時,本文所提出的方法在Cora 數據集上的節點分類準確率會下降。
圖5 不同嵌入向量維度d下的節點分類準確率Fig.5 Node classification accuracy with different embedding vector dimension d
圖數據廣泛存在于實際場景中,例如社交網絡平臺、交通數據、生物醫藥網絡等。本文提出了一種針對屬性圖的無監督嵌入方法,通過傳統的無屬性圖嵌入方法和屬性圖有監督嵌入方法,利用提出的損失函數,可以獲得能夠保存屬性圖屬性信息和拓撲信息的嵌入向量。在3 個基準數據集上的實驗結果表明本文所提出的方法的有效性,它可以學習到高質量的嵌入向量。在大部分數據集上,本文所提出的方法所取得的效果已經可以超過最好的無監督基線方法。
本文所提出的方法的空間復雜度與圖中節點個數的平方成正比,因為在損失函數中需要使用節點基于拓撲和屬性信息的相似度矩陣,且使用的GCN 模型也需要計算圖的拉普拉斯矩陣,這意味著本文的方法難以直接擴展到大圖。此外,與一般的半監督或有監督屬性圖嵌入算法相比,本文方法的執行時間也較長,這是為了保證嵌入高質量的代價。因此,未來的工作是改進方法,使得該方法能夠在較短的時間內,在占用更少的資源的同時,獲得更高質量的嵌入向量。