本文為“SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS”, 作者ThomasN.Kipf。
本文是基於譜的圖卷積網絡用來解決半監督學習的分類問題,輸入為圖的鄰接矩陣A,和每一個節點的特征向量H
本問對應的代碼為 https://github.com/tkipf/gcn.
半監督學習主要是cross entropy 損失函數的使用,讓只用部分樣本也能達到在全部樣本的作用下更新參數的效果。
1. 圖上譜卷積
A為鄰接矩陣, ,D為矩陣A的對角矩陣,
,Hl 為當前層輸入,H(l+1)為當前層輸出。
我們定義圖上的譜卷積為: 一個信號X 乘以 一個過濾器 gtheta = diag(theta), 這個過濾器含有傅里葉閾內的參數theta。
。
2. 例子
假設我們使用一個兩層的GCN的半監督節點分類,假設輸入為對稱的鄰接矩陣A(整數或者小數都行),每個結點的特征向量X.(最好鄰接矩陣里面的信息不包含在data X中)
以一個兩層的GCN為例子。
首先計算, 其中A~為A+I, I為單位矩陣, D為A~的對角矩陣。
兩層的更新,第一層用Relu更新,第二層用softmax激活函數。
正向傳播使用所有的樣本, 損失函數用cross-entropy error, 損失函數計算只使用所有label部分,反向傳播使用梯度下降。
因為正向傳播使用所有的樣本,而計算cross function 只使用了label部分,而在反向傳播的時候,做梯度下降的時候又使用了所有的樣本的值做更新,所以叫做半監督學習。
其中只有coss function使用了label樣本。
半監督學習主要是cross entropy 損失函數的使用,讓只用部分樣本也能達到在全部樣本的作用下更新參數的效果。
Cross entropy 的計算公式。
3. 基於圖的表示的半監督學習(semi-supervised learning using graph representations)
主要分為兩類:
(1)基於圖拉普拉斯正則化的方法
(2)Graph embedding-based 方法
4. Node embeddings with random weight
著名的Zachary的空手道俱樂部的例子,使用3層GCN模型, 每層使用隨機權重。
由下圖可以看到,隨機的權重值也可以給點很好的分開,非常的神奇。