1 基本概念回顾
-
图机器学习的任务:节点层面、连接层面、社交(子图)层面、全图层面
-
半监督节点分类:通过已知节点预测出未知标签节点的类别
-
半监督节点分类问题的求解方法:节点特征工程、节点表示学习(图嵌入)、标签传播(消息传递)、图神经网络
-
半监督节点分类的思路:
- 给出个节点的邻接矩阵
- 给出矩阵的标签向量,其中属于类别1,属于类别0
- 目标是预测未标签的节点分类
-
半监督节点分类问题的求解方法对比
方法 | 图嵌入 | 表示学习 | 使用属性特征 | 使用标注 | 直推式 | 归纳式 } |
---|---|---|---|---|---|---|
人工特征工程 | 是 | 否 | 否 | 否 | / | / |
基于随机游走的方法 | 是 | 是 | 否 | 否 | 是 | 否 |
基于矩阵分解的方法 | 是 | 是 | 否 | 否 | 是 | 否 |
标签传播 | 否 | 否 | 是/否 | 是 | 是 | 否 |
图神经网络 | 是 | 是 | 是 | 是 | 是 | 是 |
-
人工特征工程:节点重要度、集群系数、Graphlet等
-
基于随机游走的方法,构建自监督表示学习任务实现图嵌入,无法泛化到新节点,例如DeepWalk、Node2Vec、LINE、SDNE等
-
标签传播:假设“物以类聚、人以群分”,利用领域节点类别预测当前节点类别,无法泛化到新节点,例如Label Propagation、Interative Classification、Belief Propagation、Correct & Smooth等
-
图神经网络:利用深度学习和神经网络,构建领域节点信息聚合计算图,实现节点嵌入和类别预测,可泛化到新节点,例如GCN、GraphSAGE、GAT、GIN等
-
Label Propagation:消息传递机制,利用领域节点类别信息
-
标签传播和集体分类:
- Label Propagation(Relational Classification)
- Iterative Classification
- Correct & Smooth
- Belief Propagation
- Masked Label Prediction
2 对图的基本假设
-
homophily:具有相似属性特征的节点更可能相连且具有相同类别
-
Influence:“近朱者赤,近墨者黑”
-
相似节点更可能相近,可以使用KNN最近邻分类方法
-
对一个节点进行标签分类,需要节点自身的属性特征、领域节点类别和属性特征
3 标签传播(Label Propagation)
-
算法步骤:
- 初始化所有节点,对已知标签设置为,未知标签设置为
- 开始迭代,计算该节点周围的所有节点P值的总和的平均值(加权平均)
- 当节点P值都收敛之后,可以设定阈值,进行类别划分,例如大于0.5设置为类别1,小于0.5设置为类别0
-
算法缺点:
- 仅使用网络连接信息,没有使用节点属性信息
- 不保证收敛
4 Iterative Classification
-
定义:
- 节点的属性信息为,领域节点的类别为
- 分类器仅使用节点属性特征
- 分类器使用节点属性特征和网络连接特征(即领域节点类别信息)
- 为包含领域节点类别信息的向量
-
算法步骤:
- 使用已标注的数据训练两个分类器:、
- 迭代直至收敛:用预测,用计算,然后再用预测所有节点类别,更新领域节点,用新的更新
-
算法缺点:不保证收敛
-
该算法可抽象为马尔科夫假设,即
5 Correct & Smooth
-
算法步骤:
- 训练基础分类器,预测所有节点的分类结果,包含分类的类别概率(soft label)
- 得到训练好的基础分类器
- Correct步骤:计算training error,将不确定性进行传播和均摊(error在图中也有homophily)
- Smooth步骤:对最终的预测结果进行Label Propagation
-
Correct步骤:
- 扩散training errors
- 将邻接矩阵进行归一化,得到
- 迭代计算:
特性:
- 的特征值
- 幂运算之后,依然保证收敛
- 如果和节点相连,则
- Smooth步骤(类似Label Propagation):
- 通过图得到
- 迭代计算:
其中,中的每个节点的分类概率并不是求和为1的
- 总结:
- Correct & Smooth(C&S)方法用图的结构信息进行后处理
- Correct步骤对不确定性(error)进行扩散
- Smooth步骤对最终的预测结果进行扩散
- C&S是一个很好的半监督节点分类方法
6 Loopy Belief Propagation
-
类似消息传递,基于动态规划,即下一时刻的状态仅取决于上一时刻,当所有节点达到共识时,可得最终结果
-
算法思路:
- 定义一个节点序列
- 按照边的有向顺序排列
- 从节点到节点计数(类似报数)
-
定义:
- Label-label potential matrix :当邻居节点为类别时,节点为类别的概率(标量),反映了节点和其邻居节点之间的依赖关系
- Prior belief :表示节点为类别的概率
- :表示节点认为节点是类别的概率
- :表示节点的所有标签
-
算法步骤:
- 初始化所有节点信息都为1
- 迭代计算:
- 收敛之后,可得到结果:
-
优点:易于编程实现,可以应用于高阶
-
存在问题:如果图中有环,会不收敛
7 Masked Label Prediction
-
灵感来自于语言模型BERT
-
算法思路:
- 随机将节点的标签设置为0,用预测已标记的节点标签
- 使用预测未标注的节点
8 本章总结
本次任务,主要介绍了标签传播与节点分类相关内容,包括:
- 介绍半监督节点分类,并比较求解方法(人工特征方法、基于随机游走的方法、基于矩阵分解的方法、标签传播、图神经网络)
- 介绍5种标签传播和集体分类,包含Label Propagation、Iterative Classification、Correct & Smooth、Belief Propagation、Masked Label Prediction