标签传播算法
来源:互联网 发布:网络安全管理责任书 编辑:程序博客网 时间:2024/05/22 14:23
标签传播算法(Label Propagation Algorithm,LPA)是由Zhu等人于2002年提出,它是一种基于图的半监督学习方法,其基本思路是用已标记节点的标签信息去预测未标记节点的标签信息。2007年,Raghavan等人首次提出将LPA算法应用于社团检测。
LPA算法思路简单清晰,其基本过程如下:
(1)为每个节点随机的指定一个自己特有的标签;
(2)逐轮刷新所有节点的标签,直到所有节点的标签不再发生变化为止。对于每一轮刷新,节点标签的刷新规则如下:
对于某一个节点,考察其所有邻居节点的标签,并进行统计,将出现个数最多的那个标签赋值给当前节点。当个数最多的标签不唯一时,随机选择一个标签赋值给当前节点。
由上述步骤可知,LPA算法中比较关键的部分为标签的更新过程。算法的每个迭代过程中节点的标签更新是基于它的邻接节点的标签。节点x在选择标签时,如果存在多组个数最多的标签,则随机选择其中一组标签进行更新。
在标签传播算法中,节点的标签更新通常有同步更新和异步更新两种方法。同步更新是指,节点x在t时刻的更新是基于邻接节点在t-1时刻的标签。异步更新是指,节点x在t时刻更新时,其部分邻接节点是t时刻更新的标签,还有部分的邻接节点是t-1时刻更新的标签。LPA算法在标签传播过程中采用的是同步更新,研究者们发现同步更新应用在二分结构网络中,容易出现标签震荡的现象。因此,之后的研究者大多采用异步更新策略来避免这种现象的出现。
Symeon等人通过实验比较了17种常见的社区检测算法的复杂度和适应社区规模的大小,发现LPA的时间复杂度和空间复杂度分别为O(n)和O(n2)(n为社区的节点数),与其他算法相比较,LPA具有线性的时间复杂度并且可以很好地适应大规模社区的检测,经过5次迭代后开始收敛,既不需要优化预定义的目标函数,也不需要关于社区的数量和规模等先验信息。
- 标签传播算法
- 标签传播算法(LPA)Python实现
- BMLPA----平衡多标签传播算法
- 社区发现算法——标签传播算法LPA
- lpa标签传播算法讲解及代码实现
- 标签传播算法(Label Propagation)及Python实现
- 学习笔记(2)-标签传播算法伪代码实现
- 标签传播算法(Label Propagation)及Python实现
- lpa 半监督学习 之--标签传播算法
- 社区发现算法之标签传播(LPA)
- 标签传播算法(Label Propagation)及Python实现
- 标签传播算法(Label Propagation)及Python实现
- 社团检测之标签传播算法Python实现
- 【社团检测】社团检测之标签传播算法Python实现
- 标签传播笔记
- 复杂网络社区结构发现算法-基于igraph 标签传播算法
- 标签传播算法在微博用户兴趣图谱的应用
- 标签传播(LPA)算法及python基于igraph包的实现
- eclipse中tomcat远程调试服务器
- 用到的Elasticsearch相关的笔记
- 一些实战中用到的类库总结
- 动态规划F
- 萧红《生死场》读后感
- 标签传播算法
- mycat的分库分表
- 集群管理——(4)开机分辨率问题,opencv编译符号链接错误解决
- JavaScript之$符号
- java导出excle的工具类
- how to install Flashpro5's driver in centOS
- 调用jiathis分享接口
- angular/正序/倒序
- 用查表法代替switch-case