Label Propagation Algorithm

1 Label Propagation Algorithm

1.1 简介

标签传播算法(label propagation algorithm,LPA)是Zhu等人2002年提出的一种基于图的半监督学习方法。其基本思想是用部分已标记标签的节点预测所有未标记的节点标签信息。Usha等人于2007年首次将LPA思想用于社区检测。标签传播的半监督学习形式为

minfi=1Lfiyi2+λijL+UWijfifj2 min f ∑ i = 1 L ‖ f i − y i ‖ 2 + λ ∑ i j L + U W i j ‖ f i − f j ‖ 2

其中, L L 为带标记样本总数,U为未标记样本总数,以及
Wij=exp(d2ijσ2)=exp(Dd=1||xidxjd||2σ2) W i j = exp ⁡ ( − d i j 2 σ 2 ) = exp ⁡ ( − ∑ d = 1 D | | x i d − x j d | | 2 σ 2 )

LPA尽力给具有较大权值的两个样本具有相同的标签。

1.2 算法

首先,我们定一个概率转移矩阵 P P :

Pij=P(ij)=WijkWik

Pij P i j 表示从节点 i i 跳转到j的概率。

假设有 C C 个标签类别,L个标记样本 YLRL×C Y L ∈ R L × C U U 个未标记样本YURU×C。我们将这两个数据矩阵合为一个数据矩阵,

X=[YL;YU] X = [ Y L ; Y U ]

那么,LP算法如下所示:

while($X$收敛)
{
    执行传播: $X=PX$;
    重置标签: $X_L=Y_L$;
}
1.3 改进

LPA每次迭代第2)步的时候,这部分计算者可以省略。矩阵分块就可以做到。我们可以将矩阵 P P 做以下划分:

P=(PLLPLUPULPUU)

相应地,算法更新为,

XUPUUXU+PULXL X U ← P U U X U + P U L X L


2 Community Detection by LPA

Usha等人于2007年首次将标签传播算法用于社区识别(CDLPA)。不同于第一部分的LPA,Usha等人提出的算法并没有考虑到已标注的标签信息,这导致该算法的不稳定,即CDLPA可能得到多个不同的社区划分结果。

CDLPA的具体算法如下所示:

1) Initialize the labels at all nodes in the network. For a given node x x , set Cx(0)=x;
2) t1 t ← 1 ;
3) Arrange the nodes in the network in a random order and set it to X X ;
4) For each xX chosen in that specific order, let Cx(t)=f(Cxi1(t),...,Cxim(t),Cxi(m+1)(t1),...,Cxik(t1)) C x ( t ) = f ( C x i 1 ( t ) , . . . , C x i m ( t ) , C x i ( m + 1 ) ( t − 1 ) , . . . , C x i k ( t − 1 ) ) . f f returns the label occurring with the highest frequency among neighbors and ties are broken uniformly randomly.
5) If every node has a label that the maximum number of their neighbors have, then stop the algorithm. Else, set tt+1 and go to 3).

算法终止条件:

If i has label Cm then dCmidCjij. I f   i   h a s   l a b e l   C m   t h e n   d i C m ≥ d i C j ∀ j .

说明:
Cx(t) C x ( t ) : 是结点 x x 在时刻t的标签。
dCji d i C j : 是结点 x x 具有标签Cj的邻居结点个数。


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值