一.社交网络分析的主要应用
在分析复杂的社会、技术以及信息系统时,我们常把这些系统描述成网络的形式。在这样的关系网络中,节点代表一个成员,而边就代表成员之间的关系。在现实生活中,一个人可能从属于不同的团体,比如其工作的部门、生活的小区、同学圈子等等。如果能把这些不同的圈子自动分析出来,大到舆情监控,小到推荐好友以及扩展新用户、精准广告投放等,这些场景都能通过社交网络分析来提升效果。结合目前日益火爆的“大数据”,这就是应用大数据来解决实际问题的一个很好的例子。
所谓圈子,就是把人归属到 不同的群体中。落实到算法上,划分圈子就是根据网络的属性特征把关系网络中各个的节点划分到各个具有含义的集合中。不同的圈子内部节点之间的连接很紧密,而圈子之间的连接相对比较松散。
通过将社会生活中的关系网络抽象成计算机能够表示的图,之后运用社区发现算法,根据图的某种特性将图划分成一个个子图,这就达到了自动识别不同圈子的目的。
二.社区发现算法简介
社区发现的算法多种思路,比较常见的有两种:一种是分离的思路,就是找出社区之间的边,把这些边从图中移除;另一种是聚合思路,将联系紧密的节点聚合为一个社区,并通过优化某个相关变量的函数来实现聚合。
前人已在两个思路上有了大量的研究,而根据这两类算法的结果看,聚合的思路比分离思路好,且算法的效率也比较高。因此,聚合算法吸引了很多学者做了大量相关研究,逐步形成了现在的社区发现算法。比如密歇根大学的M.E.J.Newman和康奈尔大学的M.Girvan,他们在2003年提出了一个基于模块属性的测量方法。他们在算法中引入了一个变量【该变量称为模块度】,用于衡量社区划分结果的合理性。其原理是用某种划分结果的