在现实生活中,人们的交互行为越来越趋向于社区化,即具有相同兴趣的人更容易聚集在一起形成一个社区。社区的研究在最近几年来一直受到人们的广泛关注,目前大多数的工作都几种在研究社区的形成,演化,以及社区的划分。划分社区的方法有很多种,但是大部分都是利用网络的拓扑结构,本文通过利用节点的属性,例如tag等,来划分社区。另外本文也讨论了社区的演化等内容。
方法:
首先本文定义了如下变量
A是某种属性,例如给定一个颜色集合{red, blue, black},如果属于red,那么对应的Ared=1等。在此基础上,可以定义true positive rate (tpr)
和false positive rate (fpr)
第一种方法AGP就是把所有的tpr进行累加
第二种方法DGP是考虑group内和group外节点tpr和fpr的差异
第三种方法EDGP是基于第二种方法,第二种方法在考虑差异性的时候,计算一个group的节点和其余所有节点的差异性,而EDGP只考虑与该group相关的节点,例如下图所示:
第三种方法只考虑粉红色节点,而绿色部分的节点就不再考虑。
实验:
本文在两个数据集BlogCatalog和LiveJournal上做了实验,下表是相关的统计特征
一些group的统计特性:
算法对比:
从上面两个图可以看出,DGP和EDGP的准确率比较接近,并且要远远好于AGP。这个结果在基于tag和post两种情况都符合。
上表显示了预测health这个group的时候,三个方法的预测结果,从表中可以看出,DGP和EDGP两个方法预测出的结果比较类似,与AGP有很大的区别。
来源:百分点 个性化时代