GCN如何處理沒有feature的graph的node分類問題?

時間 2021-05-05 23:08:34

1樓:Houye

沒有feature就造一些feature:

onehot編碼. 參考 18ICLR_Graph2Gauss_DEEP GAUSSIAN EMBEDDING OF GRAPHS_UNSUPERVISED INDUCTIVE LEARNING VIA RANKING

節點原始圖特徵, 如degree/節點型別. 參考17AAAI ProxEmbed Semantic Proximity Search on Heterogeneous Graph by Proximity Embedding

利用graph embedding技術預訓練節點表示,如deepwalk. 有文章這樣做過,想不起名字了...

2樓:

大概有幾種思路:

1. 用一些heuristic,比如度數、one-hot度數、centrality等,也可以random或者全部相同。

2. 用network embedding演算法pre-train乙個node features,比如DeepWalk。

3. 用one-hot,這等價於設了乙個look-up table,GCN的第一層引數變為了可訓練的embedding。

3樓:Zhihong Deng

沒關係的,把結點ID用作結點特徵不等於要每個結點用乙個一萬維的one-hot向量表示

只需要維護乙個可學習的embedding矩陣即可,它的行數是結點數目,列數是你設定的embedding維數,跑GCN時,用結點的ID提取結點的embedding向量,這樣每個結點的初始特徵就是乙個embedding向量,embedding維數可以遠小於結點數量。

P.S. 當結點沒有其它屬性特徵時GNN學得的是網路的結構特徵,且此時最好的情況下能達到W-L Test同等效果。

具體可參見ICLR 2019的《How Powerful are Graph Neural Networks?》。

4樓:HTLiu

個人感覺沒有屬性不影響,就隨機初始化每個節點的embedding作為node的feature就行,然後message passing, 因為最終結果也是要學習每個節點的embedding.

比如修改DGL的基本例子:DGL-GCN-example:

class

GCN(nn.

Module

):def

__init__

(self

,in_feats

,hidden_size

,num_classes

):super

(GCN

,self).

__init__

()self

.node_embeddings

=torch.nn

.Embedding

(Num_Of_Nodes

,dim

)self

.gcn1

=GCNLayer

(in_feats

,hidden_size

)self

.gcn2

=GCNLayer

(hidden_size

,num_classes

)def

forward

(self,g

):h=self

.gcn1(g

,self

.node_embeddings

.weight)h

=torch

.relu(h

)h=self

.gcn2(g

,h)return

h可供參考

腳踝扭傷如何處理?

體創首席動力熊 剛扭傷時,要採用國際通用的PRICE原則,即 1.Protect 保護,避免傷情加重 2.Rest 休息 3.Ice 冰敷48小時以內冰敷減少腫脹4.Compression 以彈性繃帶包紮加壓5.Elevation 把患處抬高 生梔了30g,生大黃30g,玄明粉30g。研粉,用蛋清或...

肺結節如何處理?

123456 第一次查出來磨玻璃結節,3個月後做一次薄層CT。記住一定要薄層。最好選能夠拿電子檔的醫院。有電子檔以後,拿dicom格式的文件。去問比較權威的醫生。比如醫科院腫瘤醫院的黃進豐,上海中山醫院的王群,自己其他胸外科的醫生。上海肺科醫院,上海胸科醫院。 楊如松 因為絕大多數都是良性的,而且首...

自考檔案如何處理

HRzhang 自考畢業之後是有檔案的,但只是學籍檔案,人才接收的是人事檔案,自考學歷要擁有乙份人事檔案也是可以的。1.自己好好努力要考乙個統招的研究生,畢業之後檔案派到人才就可轉化為人事檔案,這裡有乙個問題就是需要進行考研調檔,調檔要求是公對公進行,所以檔案必須得先存起來才能進行調檔 2.就是要麼...