【斯坦福大学公开课CS224W——图机器学习】四、消息传递和节点分类
我们的任务是:
已知图中一部分节点的标签,用图中节点之间的关系来将标签分配到所有节点上。属于半监督学习任务。
本节课我们学习message passing方法来完成这一任务。对某一节点的标签进行预测,需要其本身特征、邻居的标签和特征。
message passing的假设是图中相似的节点之间会存在链接,也就是相邻节点有标签相同的倾向。这种现象可以用homophily(相似节点倾向于聚集)、influence(关系会影响节点行为)、confounding(环境影响行为和关系)来解释。
collective classification给所有节点同时预测标签的概率分布,基于马尔科夫假设(某一点标签仅取决于其邻居的标签)。 local classifier(用节点特征预测标签)→ relational classifier(用邻居标签 和/或 特征,预测节点标签)→ collective inference(持续迭代)
本节课讲如下三种collective classification的实现技术:
- relational classification:用邻居标签概率的加权平均值来代表节点标签概率,循环迭代求解
- iterative classification:在训练集上训练用 (节点特征) 和 (节点特征,邻居标签summary z zz) 两种自变量预测标签的分类器 ? 1和 ? 2 ,在测试集上用 ? 1 赋予初始标签,循环迭代求解 z ? 用 ? 2 重新预测标签
- belief propagation:在边上传递节点对邻居的标签概率的置信度(belief)的message/estimate,迭代计算边上的message,最终得到节点的belief。有环时可能出现问题。
1. Message Passing and Node Classification
本章重要问题:给定网络中部分节点的标签,如何用它们来分配整个网络中节点的标签?(举例:已知网络中有一些诈骗网页,有一些可信网页,如何找到其他诈骗和可信的网页节点?) 训练数据中一部分有标签,剩下的没标签,这种就是半监督学习1 对这个问题的一种解决方式:node embeddings2
本章我们介绍一个解决上述问题的方法3:message passing 使用message passing基于“网络中存在关系correlations”这一直觉,亦即相似节点间存在链接。 message passing是通过链接传递节点的信息,感觉上会比较类似于 PageRank4 将节点的vote通过链接传递到下一节点,但是在这里我们更新的不再是重要性的分数,而是对节点标签预测的概率。 核心概念 collective classification:同时将标签分配到网络中的所有节点上。
本章将讲述三种实现技术:
- relational classification
- iterative classification
- belief propagation
网络中存在关系correlations: 相似的行为在网络中会互相关联。 correlation:相近的节点会具有相同标签
导致correlation的两种解释: homophily(同质性,趋同性,同类相吸原则):个体特征影响社交连接 influence:社交连接影响个体特征
homophily:相似节点会倾向于交流、关联(物以类聚,人以群分) 在网络研究中得到了大量观察 举例:同领域的研究者更容易建立联系,因为他们参加相同的会议、学术演讲……等活动
influence:社交链接会影响个人行为。 举例:用户将喜欢的音乐推荐给朋友。
解决分类问题的逻辑: 我们已知相似节点会在网络中更加靠近,或者直接相连。 因此根据关联推定guilt-by-association:如果我与具有标签X的节点相连,那么我也很可能具有标签X(基于马尔科夫假设6) 举例:互联网中的恶意/善意网页:恶意网页往往会互相关联,以增加曝光,使其看起来更可靠,并在搜索引擎中提高排名。
预测节点 v vv 的标签需要:
1.1 collective classification概述
直觉:使用网络中的关系同时对相连节点进行分类 概率框架propabilistic framework 马尔科夫假设:节点 v 的标签 Y_v取决于其邻居N_v的标签:P ( Y v ) = P ( Y v ∣ N v )
collective classification分成三步:
- local classifier:分配节点的初始标签(基于节点特征建立标准分类,不使用网络结构信息)
- relational classifier:捕获关系(基于邻居节点的标签 和 特征,建立预测节点标签的分类器模型)(应用了网络结构信息)
- collective inference:传播关系(在每个节点上迭代relational classifier,直至邻居间标签的不一致最小化。网络结构影响最终预测结果)
2. Relational Classification / Probabilistic Relational Classifier
3. Iterative Classification
relational classifiers没有使用节点特征信息,所以我们使用新方法iterative classification。 iterative classification主思路:基于节点特征及邻居节点标签对节点进行分类
iterative classifier的结构
-
第一步:基于节点特征建立分类器 在训练集上训练如下分类器(可以用线性分类器、神经网络等算法):
- ? 1 ( f v ) 基于 f_v预测Y_v
- ? 2 ( f v , z v ) 基于 f_v和 z_v(v 邻居标签的summary)预测Y_v
-
第二步:迭代至收敛 在测试集上,用 ? 1预测标签,根据 ? 1计算出的标签计算z_v并用 ? 2 预测标签对每个节点重复迭代计算z_v、用 ? 2 预测标签这个过程,直至收敛或到达最大迭代次数(10, 50, 100……这样,不能太多10) 注意:模型不一定能收敛
4. Loopy Belief Propagation
名字叫loopy是因为loopy BP方法会应用在有很多环的情况下。
belief propagation是一种动态规划方法,用于回答图中的概率问题(比如节点属于某类的概率)。 邻居节点之间迭代传递信息pass message(如传递相信对方属于某一类的概率),直至达成共识(大家都这么相信),计算最终置信度(也有翻译为信念的)belief。 参考6:问题中节点的状态并不取决于节点本身的belief,而取决于邻居节点的belief。
4.1 message passing
算法
- 定义节点顺序(生成一条路径)
- 基于节点顺序生成边方向,从而决定message passing的顺序
- 按节点顺序,计算其对下一节点的信息(至今数到的节点数),将该信息传递到下一节点
4.2 Loopy BP Algorithm
从 i 传递给 j 的信息,取决于 i 从邻居处接收的信息。每个邻居给 i 对其状态的置信度的信息。
|