1. 程式人生 > 其它 >使用 PyTorch Geometric 在 Cora 資料集上訓練圖卷積網路GCN

使用 PyTorch Geometric 在 Cora 資料集上訓練圖卷積網路GCN

圖結構在現實世界中隨處可見。道路、社交網路、分子結構都可以使用圖來表示。圖是我們擁有的最重要的資料結構之一。

今天有很多的資源可以教我們將機器學習應用於此類資料所需的一切知識。
已經有很多學習有關圖機器學習的相關理論和材料,特別是圖神經網路,所以本文將避免在這裡解釋這些內容。如果你對該方面不太熟悉,推薦先看下CS224W,這會對你的入門有很大的幫助。

本篇文章使用PyTorch Geometric來實現我們需要的模型,所以首先就是安裝

Cora 資料集

Cora 資料集包含 2708 篇科學出版物,分為七類之一。引用的網路由 5429 個連結組成。資料集中的每個出版物都由一個 0/1 值的詞向量描述,該向量表示字典中對應單詞是否存在。該詞典包含1433個獨特的單詞。

首先讓我們探索這個資料集以瞭解它是如何生成的:

我們可以看到一些資訊:

  • 為了獲得正確的邊數,我們必須將資料屬性“num_edges”除以2,這是因為 Pytorch Geometric “將每個連結儲存為兩個方向的無向邊”。
  • 這樣做以後數字也對不上,顯然是因為“Cora 資料集有重複的邊”,需要我們進行資料的清洗
  • 另一個奇怪的事實是,移除用於訓練、驗證和測試的節點後,還有其他節點。
  • 最後就是我們可以看到Cora資料集實際上只包含一個圖。

我們使用 Glorot & Bengio (2010) 中描述的初始化來初始化權重,並相應地(行)歸一化輸入特徵向量。( Kipf & Welling ICLR 2017 arxiv:1609.02907)

完整文章:

使用 PyTorch Geometric 在 Cora 資料集上訓練圖卷積網路GCN