1.一种基于相似性的社区检测的方法,其特征在于:所述方法包括如下步骤:
步骤一:构建一个具有N个节点的无向网络模型G(V,E),V为节点,E为连边;
步骤二:任意选取两个节点i和j,计算两个节点的共同邻居集合Int(i,j)=(Γi∩Γj)和联合邻居集合Uni(i,j)=(Γi∪Γj),遍历网络中所有节点对,计算并记录相应节点对的共同邻居集合和联合邻居集合;
步骤三:在网络中任取一个节点i,计算该节点的的局部度数比
其中D(i)表示节点i的度数,一个节点的度数为该节点的相连邻居节点的数量,Γ(i)表示与节点i相连的所有邻居节点并包括节点i,遍历网络,计算并记录网络中所有节点的局部度数比;
步骤四:计算网络中包含每个节点的的PageRank值的向量
x=D(D-αA)-1,
其中,x就是所计算的包含网络每个节点的PageRank值的向量(PR1,PR2,PR3,…,PRN),上述公式多次迭代以后x会收敛到一个非常接近真实的中心性值的值,D是网络对应的对角矩阵,其元素是Dii=max(ki,1),ki是节点i的度;α是一个正的可调参数,A是网络的邻接矩阵,表示网络节点之间连边关系,Aij=1,表示节点i和j之间有连边,反之则表示没有连边;
步骤五:在网络中任意选取节点i,计算连边(i,j)的度数比聚类值
该值表示节点i和j的度数比相似性,遍历网络,计算并记录网络中所有节点及其连边的度数比聚类值;
步骤六:在网络中任意选取节点i,找出与其度数比相似性最高的节点w,w为当连边(i,j)的度数比聚类值取最大值max{sim_P(i,j)},j∈Γ(i)时的j,遍历网络,找出所有节点对应的度数比相似性最高的节点;
步骤七:在网络中任意选取节点i,计算连边(i,j)的PageRank中心性聚类值该值表示节点i和j的PageRank相似性,遍历网络,计算并记录网络中所有节点及其连边的PageRank中心性聚类值;
步骤八:在网络中任意选取节点i,找出与其PageRank相似性最高的节点m,m为当连边(i,j)的PageRank中心性聚类值取最大值max{sim_PR(i,j)},j∈Γ(i)时的j,遍历网络,找出所有节点对应的PageRank相似性最高的节点;
步骤九:在网络中任意选取一个节点i,将与其度数比相似性最高的节点j划入到同一个社区,遍历网络,将所有节点与其度数比相似性最高的节点划入同一社团,得到初始社区划分;
步骤十:在网络中任意选取一个节点i,找到与其PageRank相似性最高的点j,如果节点i和j不在同一个社区,合并这个节点所在的初始社区;遍历网络,将每个节点与其PageRank相似性最高的节点所在的社区合并,得到最终的社区结构。