机器学习——社区发现算法

ε祈祈猫儿з 提交于 2020-01-23 04:24:12

一、什么是社区?

答:同一社区内的节点与节点之间的连接很紧密,而社区与社区之间的连接比较稀疏。

设图G=G(V,E)G= G(V,E),所谓社区发现是指在图G中确定nc(1\geq 1)个社区:
C={C1,C2,...,Cnc}(1)C= \{C_{1},C_{2},...,C_{nc}\}\tag{1}
使得各社区的顶点集合构成V的一个覆盖。

若任意两个社区的顶点集合的交集均为空,则称C为非重叠社区,否则称为重叠社区。
在这里插入图片描述
如下图所示,不同颜色的属于不同的社区,中间的部分属于多个社区
在这里插入图片描述

二、社区发现算法的应用场景

  • 在社交网络中社区圈子的识别(Community Detection)
  • 基于好友关系为用户推荐商品或内容
  • 社交网络中人物影响力的计算
  • 信息在社交网络上的传播模型
  • 虚假信息和机器人账号的识别、
  • 就与社交网络信息对股市、大选的预测
  • 互联网金融行业中的反欺诈预测

三、社区发现算法

在说社区发现算法之前,有必要说图的结构。
给出一些定义:

一个具体的网络可以抽象为一个由节点集合V(Vertex或node)和边(edge)集合E组成的图G=(V,E),节点数记为n=|V|,边数记为m=|E|。

衡量指标:

  • 度(degree):入度(比如微博上多少人关注我)和出度(比如微博上我关注多少人)
  • 密度(density)
  • 团(clique)
  • 度中心性(deg0.+58ree centrality)
  • 紧密中心性(closeness centrality)
  • 介数中心性(betweenness centrality)
  • 聚集系数(clustering coefficient)

未完待续……

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!