将社交网络看成图
社交网络的基本概念:
- 社区(community):是指具有非同寻常的强连通性的节点子集,其中节点可以是构成网络的人或者其他实体。
- 局部性(locality):是指社交网络的节点和边趋向于聚为社区的这种性质。
社交网络的基本特点:
- 一大堆实体参与了网络的构成;
- 网络实体间至少存在一种关系,且关系要么存在要么不存在,关系也可以表示为度数,其中度数可为离散值和实数值;
- 对于社交网络有一个非随机性或局部性假设,其直观意义是关系倾向于聚团,即如果A与B和C都关联,那么B和C相互关联的概率会高于平均值。
社交图(social graph):将社交网络看成图,图的节点为实体,如果节点间存在刻画该网络的关系,则节点间有一条边。如果关系存在强弱之分,则每条边上还标识出关系的强弱程度。社交图可为无向图(eg:朋友图),也可为有向图(eg:粉丝关注图)。
K部图(k-partite graph):多类型节点构成的社交图。
社交网络图的聚类
对社交网络应用层次聚类:
- 将两个有边连接的节点聚成一类;
- 不在同一簇内节点间的边被随机(每条边代表的距离一样)选出,来合并这两个节点所属的簇;
- 重复第二步。
注:采用纯聚类算法永远不可能识别出重叠社区。可以降低发生错误概率的方法:
- 运行多次层次聚类算法,选择最具有紧致性(coherent)的聚类结果;
- 选择一个更负责的方式来计算多余一个节点的簇之间的距离。
中介度
一条边(a,b)的中介度(betweenness):节点对(x,y)的数目,其中(a,b)处于x和y的最短路径上。由于x和y之间可能存在多条最短路径,边(a,b)的贡献记为这些路径中通过边(a,b)的比例。高分意味着成绩差,如果边(a,b)的中介度高,则意味着它处于两个社区之间,即a和b不属于同一社区。
Girvan-Newman算法
该算法访问每个节点X一次,计算X到其他连接节点的最短路径数目。以下是算法步骤:
- 首先从节点X开始对图进行宽度优先搜索(BFS),每个节点的深度就是该节点到X的最短路径距离。
- 将每个接单用根节点到它的最短路径数目来标记,首先将根节点标记为1,然后从上往下,将每个节点Y标记为其所有父节点上的标记值之和。
- 对每一条边e,和对所有节点Y,计算Y到根节点X经过e的最短路径比例之和,这是一个自下而上对节点和边的求和过程。除去根节点之外的每个点都给个分值1,表示到该节点的最短路径。计算规则如下:
- 有向无环图(DAG,Directed Acyclic Graph)中的每个叶节点都赋予分值1;
- 每个非叶节点给的分值1加上从该节点到其下层节点的所有DAG边的分值之和;
- 从上层节点到下层节点Z的DAG边上的分值为Z的分值乘上从根节点到Z的最短路径中含e的比例。
将每个节点都作为根节点计算一遍之后,将每条边的分值求和。由于每条最短路径会重复发现两次,因此最后每条边的分值还要再除以2.
利用中介度来发现社区
- 常见做法:是从一个包含全部边的中介度,不断去掉具有最高中介度的边,直到图分裂为合适数目的连通分量为止。
- 存在的局限性:不可能把一个节点分配到两个社区中,这导致每个节点最终都分配到各自社区中。

本文介绍了如何将社交网络视为图,并探讨了社交网络图的聚类方法,包括中介度和Girvan-Newman算法。社交网络的节点具有强连通性和局部性,通过聚类可以识别社区结构。中介度衡量边在最短路径中的重要性,Girvan-Newman算法则用于社区检测,但无法处理重叠社区。

2276

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



