The invention discloses a social network community discovery method based on improved density peak clustering. The method first calculates two indices for each user in the network: local density and relative distance, in which the local density is calculated by Gaussian kernel density estimation, and the relative distance indicates that the user and the density are larger than it and the distance is the most from it. The distance between near points. Then, points with large local density and relatively large distance are selected as community centers based on Gaussian distribution, and the remaining non-central points are allocated to the communities with denser and nearest points. Finally, based on the merging factor to measure the distance between two communities, the communities whose merging factor is greater than a given threshold are merged into one community. Compared with the prior art, the invention can simultaneously discover spherical and non-spherical community structures in social networks, and solves the clustering problem of arbitrarily shaped communities with fewer parameters and higher accuracy.
【技术实现步骤摘要】
一种基于改进的密度峰值聚类的社交网络社区发现方法
本专利技术属于数据挖掘
,更具体地,涉及一种基于改进的密度峰值聚类的社交网络社区发现方法。
技术介绍
Web2.0时代,网络空间定位技术趋于成熟,使得基于位置的社交网络(LBSNs)得到快速发展,例如Foursqure,大众点评等,人们之间的交流更加方便快捷,社交网络的社区化日趋明显。对于一组给定的数据对象,聚类分析的目标是将其划分成若干个非空子集,其中每个子集将作为一个社区,使得社区内的对象彼此之间很相似,而不同社区之间的对象则彼此有很大差异。对于社交网络中社区结构的聚类分析已经成为现代网络分析中的一个研究热点,这个过程中产生了许多优秀的聚类方法。基于划分的聚类方法,如K-Means以及K-Means++等,使用距离来表示两个节点之间的相似性,因此这类方法大部分都只能发现球形的社区,而对于非球形的社区发现则效果不尽人意;基于密度的聚类方法,如DBSCAN等,以及基于谱聚类的方法,如SC等,能发现非球形的社区结构,然而,这些方法引入了较多的参数,如何选择合适的参数以及对于稀疏网络如何保证鲁棒性成为上述方法不得不面临的问题;密度峰值聚类DPC方法主要基于对社区中心的两种假设,将那些具有较大的局部密度p以及相对较大的相对距离δ的用户选为社区中心,将那些非中心用户分配到比其密度更大而离他最近的用户所在的社区当中,该方法参数较少,且能发现任意形状的社区,然而,DPC需要在以ρ为横坐标δ为纵坐标的决策图上手动选择社区中心,且其时间复杂度为O(n2),限制了DPC在大数据集上的应用。综上所述,目前已有的聚类方法大 ...
【技术保护点】
1.一种基于改进的密度峰值聚类的社交网络社区发现方法,其特征在于,包括以下步骤:S1.收集社交网络中所有用户的签到数据,并初始化社区集合C为空集;S2.基于所有用户的签到数据,构建用户距离矩阵Dm×m,m为用户数;S3.基于用户距离矩阵Dm×m计算截断距离dc;S4.基于用户距离矩阵Dm×m和截断距离dc,为每个用户计算局部密度ρ和相对距离δ,标准化处理得到ρ′和δ′,定义γ=ρ′×δ′;S5.基于γ值判断每个用户是否为社区中心,若是,则生成以该用户为中心的社区,并将该社区插入到社区集合C;否则,将该用户分配到局部密度比它大且离它最近的用户所在社区;S6.输出社区集合C,社区集合C中所有社区即为发现的社区。
【技术特征摘要】
1.一种基于改进的密度峰值聚类的社交网络社区发现方法,其特征在于,包括以下步骤:S1.收集社交网络中所有用户的签到数据,并初始化社区集合C为空集;S2.基于所有用户的签到数据,构建用户距离矩阵Dm×m,m为用户数;S3.基于用户距离矩阵Dm×m计算截断距离dc;S4.基于用户距离矩阵Dm×m和截断距离dc,为每个用户计算局部密度ρ和相对距离δ,标准化处理得到ρ′和δ′,定义γ=ρ′×δ′;S5.基于γ值判断每个用户是否为社区中心,若是,则生成以该用户为中心的社区,并将该社区插入到社区集合C;否则,将该用户分配到局部密度比它大且离它最近的用户所在社区;S6.输出社区集合C,社区集合C中所有社区即为发现的社区。2.如权利要求1所述的社区发现方法,其特征在于,步骤S1包括:用U=(u1,u2,...,um)来表示用户集合,其中,m表示用户数;用Ai=(ui1,ui2,...,uia)表示用户ui的属性集合,其中,a为用户ui的属性数,uia表示用户ui的第a个属性;用V=(v1,v2,...,vn)表示签到地点集合,其中,n表示签到地点数;用T=(t1,t2....,tl)表示时间窗口集合,其中,l表示时间窗口数;矩阵中矩阵元素表示用户ui在ty时间窗口内,在地点vx上的签到次数。3.如权利要求1所述的社区发现方法,其特征在于,步骤S2中矩阵Dm×m中矩阵元素dij表示用户ui与uj之间的距离,其计算公式如下:式中,datr(ui,uj)表示用户ui与uj属性之间的欧式距离,a表示用户ui的属性数,uik表示用户ui的第k个属性;dcheckin(ui,uj)表示用户ui与uj签到数据之间的欧氏距离,n表示签到地点数,表示用户ui在ty时间窗口内,在地点vx上的签到次数,l表示时间窗口数。4.如权利要求1所述的社区发现方法,其特征在于,步骤S3中计算截断距离dc的计算方法为:对于m个用户,形成m*(m-1)/2个用户对(ui,uj),将所有用户对的距离dij存储在数组B[m*(m-1)/2]中,对该数组进行升序排序,取数组元素作为dc的值,q取值范围为[1%,2%]。5.如权利要求1所述的社区发现方法,其特征在于,步骤S4中局部密度ρi的计算公式为:其中,dij表示用户ui与uj之间的距离,m表示用户数;相对距离δi表示用户ui与局部密度比他大而离他最近的用户之间的距离,计算公式为:其中,P为所有用户...
【专利技术属性】
技术研发人员:李玉华,李瑞轩,袁清亮,辜希武,徐明丽,梁天安,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。