CS224W Lecture5笔记

Message Passing and Node Classification

lecture 5主要介绍的是一种用于结点分类的Framework: Message Passing。在结点分类中,我们的任务其实是semi-supervised:已知部分结点的label,预测未知结点的label。而Message Passing是一种利用了图的同质性的模型,简言之,就是通过neighbor来预测未知结点,遵循的思想就类似于“近朱者赤近墨者黑”

Homophily

Message Passing框架的前提假设就是Homophily: Individuals have tendency to associate with similar others,比如有相同爱好的人相互之间联系更紧密、在同一个领域做研究的人相互之间认识的可能性更大等等。

在这里插入图片描述

上面这张图就是一个例子。那么反过来,个体之间的联系也会对个体产生影响。基于以上两点,我们就可以设计Message Passing的模型了。

Collective Classification

lecture中介绍的方法叫做collective classification。collective classification是一种利用结点之间correlation的概率模型,它通常分为三个部分:

  • Local Classifier:用于给每个结点赋一个initial label
  • Relational Classifier:用于捕获结点之间的correlation
  • Collective Inference:用于在网络中传递Relational Classifier所获取到的correlation

具体来说,有三种不同的模型:

  1. Relational Classification
  2. Iterative Classification
  3. Belief Propagation

Relational Classification

Relational Classification是最简单的一种,它的核心思想就是对结点的neighbor取一个平均。对于每个结点 u u u和label c(二分类, c ∈ { 0 , 1 } c \in \{0,1\} c{0,1}), u u u的label Y u Y_u Yu等于 c c c的概率为:
p ( Y u = c )   =   1 ∑ ( u , v ) ∈ E A u v ∑ ( u , v ) ∈ E A u v p ( Y v = c ) p(Y_u=c)\ =\ \frac{1}{\sum_{(u,v) \in E}{A_{uv}}}\sum_{(u,v) \in E}A_{uv}p(Y_v=c) p(Yu=c) = (u,v)EAuv1(u,v)EAuvp(Yv=c)
但是这个方法是不能保证一定converge,并且很明显这里没有用到任何结点的feature。

Iterative Classification

Iterative Classification做了一些改进,它将node feature考虑进来,因此我们现在是基于结点特征 f u f_u fu和结点类别 z u z_u zu(这里的 z u z_u zu也是一个vector,计算的方式有很多,可以自行设置,比如 N u N_u Nu中每种label的数量等)进行分类。我们训练两个分类器 ϕ 1 , ϕ 2 \phi_1,\phi_2 ϕ1,ϕ2 ϕ 1 \phi_1 ϕ1的输入是node feature f u f_u fu,输出是label,因此 ϕ 1 \phi_1 ϕ1的作用是根据node feature预测label; ϕ 2 \phi_2 ϕ2的输入是node feature f u f_u fu和邻居label summary z u z_u zu,输出也是label,因此 ϕ 2 \phi_2 ϕ2的作用是根据 f u f_u fu z u z_u zu来预测label。算法分为两个阶段:

  1. Phase 1:在训练集上,我们训练这两个分类器 ϕ 1 \phi_1 ϕ1 ϕ 2 \phi_2 ϕ2
  2. Phase 2:在测试集上,我们把 ϕ 1 \phi_1 ϕ1当作Local Classifier,用于给待预测结点赋初始标签;把 ϕ 2 \phi_2 ϕ2当作Relational Classifier,结合每个结点的邻居的label summary z u z_u zu u u u的label进行更新。每次更新过后,不要忘记更新收到影响的 z z z。不断重复迭代直至收敛。

这种方法解决了Relational Classification中没有利用node feature的问题,但依然无法保证收敛。

Belief Propagation

Belief Propagation is a dynamic programming approach to answering probability queries in a graph (e.g. probability of node 𝑣 belonging to class 1)

Belief Propagation 更多是在考虑结点之间的“交流”。首先明确几个概念:

  • label-to-label potential matrix ψ \psi ψ: ψ ( Y i , Y j ) \psi(Y_i,Y_j) ψ(Yi,Yj)正比于已知 i i i的邻居结点 j j j的label为 Y j Y_j Yj i i i 的label为 Y i Y_i Yi的概率
  • Prior belief ϕ \phi ϕ ϕ ( Y i ) \phi(Y_i) ϕ(Yi)正比于结点 i i i的label为 Y i Y_i Yi的概率(类似于先验)
  • m i → j ( Y j ) m_{i \rightarrow j}(Y_j) mij(Yj):表示 i i i对于 j j j的label为 Y j Y_j Yj的信息/估计

在这里插入图片描述

以上图的结构为例,此时我们要预测的结点为 j j j,我们的转移方程为:
m i → j ( Y j )   =   ∑ Y i ψ ( Y j , Y i ) ϕ ( Y i ) ∏ k ∈ N ( i ) − { j } m k → i ( Y i ) m_{i \rightarrow j}(Y_j)\ =\ \sum_{Y_i} \psi(Y_j, Y_i)\phi(Y_i)\prod_{k \in N(i)-\{j\}}m_{k \rightarrow i}(Y_i) mij(Yj) = Yiψ(Yj,Yi)ϕ(Yi)kN(i){j}mki(Yi)
式子中 ϕ ( Y i ) ∏ k ∈ N ( i ) − { j } m k → i ( Y i ) \phi(Y_i)\prod_{k \in N(i)-\{j\}}m_{k \rightarrow i}(Y_i) ϕ(Yi)kN(i){j}mki(Yi)这一项其实就是结点 i i i label为 Y i Y_i Yi的一个总信息(概率),因此这里的 ψ ( Y j , Y i ) \psi(Y_j,Y_i) ψ(Yj,Yi)可以看作是一个transition probability

收敛后,我们就可以计算每个结点不同label的belief:
b u ( Y u )   =   ϕ ( Y u ) ∏ v ∈ N ( u ) m v → u ( Y u )           Y u   ∈ { Y 1 , Y 2 , … , Y m } b_u(Y_u) \ =\ \phi(Y_u)\prod_{v \in N(u)}m_{v \rightarrow {u}}(Y_u) \ \ \ \ \ \ \ \ \ Y_u \ \in \{Y_1, Y_2, \dots,Y_m\} bu(Yu) = ϕ(Yu)vN(u)mvu(Yu)         Yu {Y1,Y2,,Ym}
从转移方程我们可以看出,我们做了条件独立性假设,也就是neighbor对于当前节点的信息传递是互相独立的。因此,BP在遇到的时候会失效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值