07-noderepr 圖機器學習之圖表征學習


網絡中的機器學習
節點分類
鏈接預測
機器學習的生命圈需要特征工程
網絡的特征學習——特征向量   embedding


network embedding的意義
節點的表征
節點的相似度衡量→網絡相似度衡量
網絡信息編碼,生成節點表征
用途:異常檢測,屬性預測,聚類,關系預測

例子:deepwalk
難度:當前的深度學習視為序列或網格數據而設計的,但網絡結構比這些更復雜,沒有固定的空間結構,沒有固定的順序,是動態的,並且有多類特征


Embedding Nodes

假設我們有圖G,V是節點集合,A是鄰接矩陣,
將節點編碼,編碼后的向量計算得到的相似度與原網絡的一致

因此需要定義一個編碼器,以及計算節點相似度的函數,並優化encoder


淺層encoding,有一個大矩陣,存儲各類節點的向量,encoder只是look-up,類似於word embedding
常見的方法:deepwalk,node2vec,transE
如何定義節點相似性
例子:若兩個節點的embedding相似,那么在物理結構上,他們:相連?有相同鄰居?相似的結構角色?等

隨機游走→node embedding

隨機游走:從一個節點出發,隨機選擇一個鄰居節點,游走到該節點,再重復上述步驟。經過的節點組成的序列即為圖的random walk

公式表示節點u,v在random walk中共同出現的概率
步驟:
1. 隨機游走,得到若干序列
2. 優化encoder,使共同出現的節點的序列相似度更近
random walk的意義:
能充分表達網絡的結構(鄰居信息)
高效性,不需要考慮網絡中的所有節點
非監督的學習,整體的過程類似於詞向量,此處不加贅述


負樣本抽樣  窗口 + 負樣本
演變為固定短長度的random walk

如何隨機游走?


node2vec的概述
具有相似鄰居的節點得到的向量相似
游走:廣度,深度


node2vec的步驟


embedding的使用:
聚類,社區發現
節點分類
關系預測

多關系數據模型的translating Embeddings

多關系模型,例如,知識圖譜,邊具有多類關系

知識圖譜填充→關系預測


transE
三元組關系 (實體1,關系,實體2)(h,l,t)
首先,實體已被表示未向量
那么關系如何表示呢?若l也是一個向量,那么應滿足 h+l≈t



transE算法


整圖的Embedding

將整個圖通過向量表示
用途:鑒別分子是否有毒;鑒別網絡是否異常


方法1:
基於node2vec得到每個節點的向量,求和或平均得到整個網絡的向量
方法2:
引入虛擬節點來表征網絡向量??
方法3:
匿名游走??需要看論文才能了解
每個節點是匿名的


當游走長度為3時,共有5個匿名。游走長度增長時,匿名的類別數如圖所示
枚舉步長為l的ai游走,並記錄出現的次數
將圖表示為這些游走的概率分布

計算圖中所有的匿名游走可能是不可行的
抽樣得到近似的分布
需要的random walk的次數如公式所示
學習每個匿名walk的Embedding,求和/平均/拼接后的結果即為圖的表征




















免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM