图网络算法——信息传递和节点分类

本文探讨了在图网络中如何利用节点间的相关性进行半监督的节点分类,包括基于节点标签、迭代分类和信念传播等算法。通过实例展示了算法的具体应用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图网络算法——信息传递和节点分类

在开始介绍下面的算法问题之前,我们首先从提出一个问题,给定一个某些节点具有分类标签的网络结构,我们应该如何去预测网络中其他节点的标签呢?

在这里插入图片描述

这种节点分类的方式称为半监督的节点分类

一、网络中的相关性

在实际的网络结构中,节点的表现与整个网络环境是相关的,换句话来说,网络中的某个节点与网络中的节点是存在关系的。并且,由于这种关系的存在,对于该节点的表现存在着一定的影响。也就是说,在网络结构中,无论是节点的表征,还是节点的行为,都会受到其自身和其他的网络节点的共同决定。我们用一个图来简单描述一下:
在这里插入图片描述

1.1 “同质性”和“影响”

同质性:

是指网络中的某些节点与其相关节点建立联系的一定趋势。举一个具体的例子来说,在一个关于用户和音乐的网络中,喜欢相同类型音乐的用户,更容易建立社交关系。

影响:

网络中的相互联系能够对于网络中的单个节点产生一定的影响。这种影响可能表现在节点表征之上,或者节点的行为之上。

我们举一个具体的例子:
在这里插入图片描述

上图是一个真实的社交网络,在这个网络中存在不同的种族,由于上面提到的同质性,同一个种族之间的人建立一定的联系,通过这种同质性,我们可以将不同的种族的人分割开。

1.3、相关性和节点分类

下面,我们要根据上面所提到的表示相关性的同质性和影响来完成节点分类的工作。我们首先从一个例子开始:
在这里插入图片描述

在上图中,已知节点6,7的分类标签为+,1,2节点的分类标签为-,我们的目标就是利用网络中的相关性来预测其他节点的分类标签。

1.3.1 基于节点标签的节点分类

在一个网络中,相似的节点往往距离很近或者直接存在边相连。

逐个关联性: 如果当前节点连接到一个分类标签为X的节点,那么当前的节点可能也具有X的分类标签。例如,在一个描述医疗的网页中,通过该网页进行连接的其他网页一般也是描述医疗的网页。我们举一个例子来说明一下逐个相关性:

在这里插入图片描述

如上图所示,给定一个网络和一些有标签的节点,假设网络中的节点是具有同质性的,我们的目标是寻找网络中其他节点的分类。

第一步、我们使用邻接矩阵n*n的邻接矩阵W来表示图结构。
第二步、假设Y={-1,0,1}^n 作为分类标签的向量表示。
其中:1表示正分类,-1表示负分类,0表示不能确定分类节点。
第三步、预测那些不能确定分类的节点对于积极分类的相似情况。
第四步、直观上,使用逐个相关性可以对互相连接的节点进行直接分类。

逐个相关性的分类的假设是马尔科夫假设,也就是说节点i的标签Yi依赖于其相连节点Ni,用公式表达就是:
P ( Y i ∣ i ) = P ( Y i ∣ N i ) P(Y_i|i)=P(Y_i|N_i) P(Yii)=P(YiNi)

总结一下,相关性分类包括以下几个步骤:

  1. 初始化节点标签向量。
  2. 捕获不同节点之间的相关性。
  3. 通过网络结构来传播这种相关性。

利用这种相关性的节点分类本身是一个NP—Hard的问题,也就是说,只有网络满足某种条件的时候,才能对节点的分类进行精确的推断。所以,下一步,我们将关注的交点放在近似推断上面。

对于同一个分类下的节点,存在一个联合的分布函数P,在这个函数P之下,我们定义节点的随机变量。对于某个节点的边际概率而言,其等于其他节点下的概率的和。在精确推理中,我们将花费指数级的时间来对节点的分类进行判断,而通过近似推断,我们可以缩小节点信息传播的范围和节聚类的数量来进行分类的推断。一般来讲,这种近似的推理可以分为基于关系的节点分类,迭代分类,循环信念传播,接下来,我们逐个的进行介绍。

1.3.2 基于关系的节点分类

现在,回到我们最初的那个问题:
在这里插入图片描述

对于这个问题,根据我们上面的叙述,我们可以有一个直观的想法,我们可以按照节点i的邻居节点的分类加权平均来决定当前节点i的分类。对于i的邻居节点,如果其本身存在标签,我们可以直接利用邻居节点的真实分类标签来初始邻居节点的分类标签Yn。对于不存在真实分类的节点i,我们可以对其分类标签给定一个统一的值。然后,随机的去更新网络中所有节点,通过迭代,直到整个网络处于一个相对收敛的状态。

上面的分类过程是一个利用网络中的关系进行分类的一个过程,在这个过程中,对于每一个节点i和一个分类标签c,节点i属于分类c的概率为:

P ( Y i ∣ c ) = 1 ∑ i , j ∈ E W ( i , j ) ∑ ( i , j ) ∈ E W ( i , j ) P ( Y j = c ) P(Y_i|c)=\frac{1}{∑_{i,j∈E}W_{(i,j)}}∑_{(i,j)∈E}W_{(i,j)}P(Y_j=c) P(Yic)=i,jEW(i,j)1(i,j)EW(i,j)P(Yj=c)

其中 W ( i , j ) W_{(i,j)} W(i,j)表示边 ( i , j ) (i,j) (i,j)之间的距离的长度。我们稍微的解释一下上面的公式,对于节点i而言,其属于分类c的概率等于其邻居节点j属于c的概率以及节点i和j之间的距离的乘积的求和。下面,我们用图示来描述一下计算的过程:

首先,是初始化的过程:

在这里插入图片描述第一轮迭代,我们以节点3为例,通过信息传递,节点3属于正分类的概率更新为:

在这里插入图片描述
对于节点4,我们可以计算其属于正分类的概率为:

在这里插入图片描述对于节点5,我们可以计算其属于正分类的概率为:

在这里插入图片描述

在第一轮迭代结束之后,我们可以暂时确定所有节点属于正分类的概率为:

在这里插入图片描述
同理,第二轮迭代、第三轮迭代、第四轮迭代之后的结果如下图所示:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

最终,经过五轮的迭代,网络中个节点属于正分类的概率趋于稳定,其最终的结果如下图所示:

在这里插入图片描述

1.3.3、迭代分类

在我们上面所描述的基于关系的分类中,我们只用到了节点之间的关系,但是没有用到节点自身的表征信息,下面,我们介绍节点表征和节点关系结合的迭代分类方式。

这种分类的核心思想在于,节点i的分类是基于节点本身的表征和节点i的标签的两种信息。根据这个核心思想,我们知道,首先,对于某一个节点i而言,其必须有一个节点的表征向量 a i a_i ai,同时,节点i拥有大量的邻接节点,我们可以采用统计,众数,比例,均值等等来进行综合统计。

迭代分类器的基本结构:

BootStrap阶段:
首先,将每一个节点i使用一个表征向量 a i a_i ai来进行转换。使用一个局部的分类器 f ( a i ) f(a_i) f(ai)来计算向量 a i a_i ai的最优的分类 Y i Y_i Yi

迭代阶段:
对于每一个节点i,我们需要重复以下两个过程:

  1. 更新节点的标签 a i a_i ai
  2. 通过分类器f来更新节点i的标签 Y i Y_i Yi

迭代的过程在标签收敛或者到达了最大的迭代次数之后停止。

我们下面举一个例子来说明这种迭代分类的过程,以Web网页分类为例,对于某一个网页而言,我们假设其是由一些词汇所组成,首先,我们利用这些词汇对于网页进行分类,如下图所示:

在这里插入图片描述
在上图中,网页的分类包括A,B两个类别,对于中间的网页的,其实际的类别是分类B,但是由于其词汇的表征是和左侧的网络的表征相同,所以,在预测中,将其分类为A。显然仅仅根据单词来进行分类是有缺陷性的。

进一步,我们在每一个网页中,令其维护一个其邻居节点的标签向量,这里使用I/O来表示,其中I表示引用,O表示被引用。这样,我们就在节点本身特征的条件下,添加了关于网络结构的信息,如下图所示:

在这里插入图片描述
训练过程:在不同的训练集上,训练出两个分类器,一个分类器仅仅使用节点的表征进行分类,第二个分类器使用表征和连接进行分类。如下图所示:

在这里插入图片描述我们利用绿色的数据集来训练一个只针对节点表征的分类器,利用红色的数据集来训练一个综合节点特征和关系的分类器。

测试过程:

使用已经训练和的基于节点表征的分类器和BootStrap方法对测试集进行测试,通过这种分类器分类之后,其结果如下图所示:
在这里插入图片描述
在单基于节点表征分类器分类之后,中间节点的预测结果错误。所以,下一步,我们将利用网络中的相邻关系来对其进行修正。

迭代过程:

首先,根据之前基于节点表征的分类来更新当前邻域的分类标签,如下图所示:
在这里插入图片描述
更新完邻域的标签向量之后,综合节点表征和邻域的标签,形成新的表征向量,如下图所示:
在这里插入图片描述

在形成新的向量之后,重新进行节点分类:

在这里插入图片描述

重复上述的迭代过程,直到网络收敛,其分类结果如下图所示:

在这里插入图片描述

1.3.4 信念传播

信念传播是一种动态的信息传递过程,其基于图的结构计算了查询的条件概率。并且,通过迭代的过程将信息传递给其他的节点。在所有节点的信息趋于稳定之后,计算最终的信念值。

信息传递过程:

假设条件:每个节点仅仅和其直接相连的节点之间传递信息。如下图所示:

初始结构如下图所示:
在这里插入图片描述
消息传递如下图所示:
在这里插入图片描述

根据上图所示,每一个节点只能看到流向它的信息。从上图来看,节点的信息表征包括其前面的信息传递,后面的信息传递,以及其本身的信息。

根据这种传递方式,我们假设一个图的形式,图中的每一个节点从其邻接节点接收信息:

在这里插入图片描述
在接收到信息之后,经过信息的整合,继续向前传播,如下图所示:
在这里插入图片描述
在这里插入图片描述

这里值得注意的是,这种信念传播中,要求不能存在环结构,因为一旦存在环结构,会导致信息循环传递,无法收敛。

相关变量设定:

  1. 标签潜在矩阵ψ( Y i , Y j Y_i,Y_j Yi,Yj):表示在给定邻接节点i属于类别标签 Y i Y_i Yi的条件下,节点j属于类别 Y j Y_j Yj的概率。
  2. 先验概率φ:概率 φ i ( Y i ) φ_i(Y_i) φi(Yi)表示节点i属于分类 Y i Y_i Yi的概率。
  3. L表示所有分类状态的集合。
  4. m i − > j ( Y j ) m_{i->j}(Y_j) mi>j(Yj)表示由第i个节点来预测第j个节点为分类 Y j Y_j Yj。用公式表示就是:
    在这里插入图片描述

过程描述:

首先,初始化传递的信息。然后,重复传递到每一个节点。如下图所示:
在这里插入图片描述
最终,在信息传递收敛之后,则第i个节点属于分类 Y i Y_i Yi的概率为: b i ( Y i ) b_i(Y_i) bi(Yi),其计算公式为:

在这里插入图片描述

2、总结

对于网络中的节点分类任务,我们可以从以下三个方面去考虑,对于某个节点O而言:

  1. O节点自身的特征。
  2. O节点附近的节点特征。
  3. O节点附近的节点标签。

在这里插入图片描述

3、参考

  1. 斯坦福 cs224w
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值