谱聚类:用于社区检测的左右振荡算法
1. 左右振荡算法概述
在研究了谱聚类算法的各种改进后,设计了一种用于复杂网络社区检测的算法,即左右振荡(Left-Right-Oscillate,LRO)算法。该算法利用谱排序,使相似的顶点在索引上更接近,不相似的顶点在索引上更远。
1.1 关键步骤
- 计算Fiedler向量 :确定排序时,需计算矩阵 $L = D - W$ 的第二小特征值对应的特征向量(Fiedler向量)。对于大型复杂网络数据,使用Lanczos方法近似计算Fiedler向量。
- 划分顶点 :计算出Fiedler向量后,检测合适的间隙,将图的顶点划分为社区。但这种基于间隙的划分会导致一些分配不佳的子图,原因是Fiedler向量只是线性排序。
- 改进分配 :设计了左右算法,将小的子图合并到较大的社区中,逐步提高计算的模块性。
1.2 算法流程
以下是社区检测的左右算法(Algorithm 1)的详细步骤:
算法1. 社区检测的左右算法
输入: 相似度矩阵 W = wi,j (i = 1,...n) 和最小社区大小 Sc
输出: 社区 Ck,检测到的社区的模块性
1. 使用连通图 G = (V,E,W) 的相似度矩阵 W 创建拉普拉斯矩阵 L = D - W。
2. 计算Fiedler向量(拉普拉斯矩阵的第二个特征向量)。
3. 根据Fiedler向量对顶点重新
超级会员免费看
订阅专栏 解锁全文
88

被折叠的 条评论
为什么被折叠?



