半监督节点分类相当于在一个图当中,用一部分节点的类别上已知的,有另外一部分节点的类别是未知的,目标是使用有标签的节点来推断没有标签的节点
注意 半监督节点分类属于直推式学习,直推式学习相当于出现新节点后,需要重新进行训练
但是图神经网络属于归纳式学习,当图当中出现一个新节点的时候,可以快速进行泛化
半监督节点分类问题的解决方法:节点特征工程;节点表示学习(图嵌入,如随机游走);标签传播(消息传递);图神经网络
massage passing:消息传递机制 相当于使用一个节点的领域的其他节点,来预测该节点
1.标签传播 label propagation (relational classification)
Two explanations for why behaviors of nodes in networks are correlated:
Homophily:具有相同属性的节点,更可能相连并具有相同的类别
Influence:社交关系会影响节点类别
首先,在初始化当中,需要将已知标签节点的类别设定为0或1.
然后将所有不知道类别的节点类别设定为0.5。
然后需要对所有未知节点值进行多轮加权平均/平均的计算。
然后不断进行计算,直到收敛(convergence)
Update all nodes in a random until convergence or until max number of Iteration is reached
缺点:仅使用到了网络的连接信息,没有使用到节点的属性特征;且并不能保证收敛
2.iterative classfication 算法 / ICA算法
既要用到图当中节点的属性特征,又要去用用图当中节点的连接信息
需要去训练两个分类器
第一个分类器仅仅使用节点的属性特征 base classifier
第二个分分类器,输入的是属性特征和连接信息。
使用节点的属性特征和网络的连接特征(即一个包含邻域节点类别信息的向量Z) relational classifier
首先需要使用已经标准的节点 作为训练集 来训练两个分类器
然后相当于使用第一个分类器来提供初始的节点标签
然后再使用第二个分类器进行不断的循环迭代。不断更新Y和Z
- Correct and Smooth
是一种后处理的方法
具体步骤:
首先需要理由已经标注的节点来训练一个 base predictor
第二步:然后use this base predictor to predict soft labels of all nodes
(注意这里第二步预测的是软标签,即例如class 0的概率是一个值,class 1的概率是一个值,这两个值的加和为1,且包括已经有类别标签的节点也许需要预测,得到所有节点的soft label)
We expect these soft label to be decently accurate.
we can use graph structure to post-process the predictions to make them more current.
相当于想让模型对于这些不太确信的节点更加确信。
第三步:post-process the predictions using graph structure to obtain the final prediction of all nodes
Correct and smooth use the 2-step procedure to post-process the soft predictions
分为correct step 和 smooth step
Correct step 当中相当于认为error在图当中也有homophily,因此应该分散不确定性和困惑度,仅仅计算有标注的
下一时刻的error矩阵既要和上一时刻的error矩阵相关,又需要和传播扩散相关
相当于将不确定性和困惑度进行了扩散
需要注意的是,在correct 和 smooth 当中,前者使用的是误差矩阵进行传播,但是后者
使用节点分类预测的置信度进行传播
4.Loopy Belief propagation
Belief propagation is a dynamic programming approach to answering probability
Queries in a graph
相当于节点和节点之间是可以传递消息的