• 重叠社区的发现

    • 相关知识点
    • 关系图模型
    • 避免成员隶属关系的离散式变化
  • Simrank
    • 带重启的随机游走

重叠社区的发现

相关知识点

社区的本质:一个实体有可能同时属于两个社区,任一社区内的边会十分密集,但是两个社区交集内的边会更加密集,而三个社区交集内的边还要密集。

极大似然估计(maximum likelihood estimation,MLE):我们对某种对象(如朋友图)实例的生成过程(即模型)建立某种假设。模型的参数确定了任一具体实例的生成概率,该概率称为这些参数值的似然(likelihood)。

关系图模型

社区-关系图(community-affiliation graph)
社区-关系图(community-affiliation graph)机制可以从社区生成社交网络图,规定如下:

  1. 存在给定数目的社区,存在给定数目的个体(图的节点);
  2. 每个社区可以拥有任意的个体集合作为成员,即个体对社区的隶属关系是模型的参数;
  3. 每个社区C都有一个概率PcP_c与之相关联,该概率表示C中两个成员由于都是C中成员而通过边连接的概率,这些概率也是模型参数;
  4. 如果一对节点属于两个或更多社区,那么如果某个包含这两个节点的社区按照规则3判定节点间有边的话,那它们之间就有边。

计算通过上述机制生成图的概率,计算的关键点:

  1. 给定个体到社区的分配
  2. PcP_c值;
  3. 如何计算边的概率。如果uu和vv是社区的非空集合M中每个社区的成员,并且不是其他社区的成员,那么uu和vv之间存在边的概率为:
    Puv=1−∏CinM(1−Pc)

    P_{uv} = 1- \prod_{C in M}(1-P_c)

那么E等于观察图中边集合的似然为:

∏(u,v)inEPuv∏(u,v)notinE(1−Puv)

\prod_{(u,v) in E}P_{uv}\prod_{(u,v) not in E}(1-P_{uv})

避免成员隶属关系的离散式变化

以连续方式对个体属于社区的隶属强度进行调整,直观上看,两个个体属于同一社区的程度越强,那么该社区促使两个个体之间有边的可能性也越大。改进的模型规则:

  1. 固定的社区和个体集合(同);
  2. 对每个社区C和个体x,有一个隶属强度参数FxCF_{xC},参数为任意非负值,0意味着该个体不属于该社区。
  3. 社区C使得uu和vv之间存在边的概率为:
    PC(u,v)=1−e−FuCFvC

    P_{C}(u,v) = 1-e^{-F_{uC}F_{vC}}

节点uu和vv之间存在边的概率为:

Puv=1−∏C(1−Pc(u,v)=1−e−∑CFuCFvC

P_{uv} = 1- \prod_{C }(1-P_c(u,v)=1-e^{- \sum_CF_{uC}F_{vC}}

那么E等于观察图中边集合的似然为:

∏(u,v)inEPuv∏(u,v)notinE(1−Puv)=∏(u,v)inE(1−e−∑CFuCFvC)∏(u,v)notinEe−∑CFuCFvC

\prod_{(u,v) in E}P_{uv}\prod_{(u,v) not in E}(1-P_{uv})=\\\prod_{(u,v) in E}(1-e^{- \sum_CF_{uC}F_{vC}})\prod_{(u,v) not in E}e^{- \sum_CF_{uC}F_{vC}}

对上式进行简化(某个函数最大化的同时也使得该函数的对数最大化),简化过程用到了log(ex)=xlog(e^x)=x,于是有:

∑(u,v)inElog(1−e−∑CFuCFvC)−∑(u,v)notinE∑CFuCFvC

\sum_{(u,v) in E}log(1-e^{- \sum_CF_{uC}F_{vC}})-\sum_{(u,v) not in E}{ \sum_CF_{uC}F_{vC}}

最后采用梯度下降法来寻找成员到社区的最佳分配方案,以使该分配得到的似然使最大的。即选择一个节点x,朝着上式值最大的方向调整所有FxCF_{xC}的值。

Simrank

  • Simrank理论上适用于任何图,但最适合应用于具有不多类型节点的图。
  • Simrank的目标:计算同类型节点之间的相识度,它通过考察随机游走这从某个点出发随机游走的最终状态来计算。
  • 局限:由于Simrank必须对每个初始化节点计算一次,因此它受限于能够完全采用这种方式进行分析的图的规模。

社交网络上的随机游走者:无向图节点N上的游走者会以等概论走到其邻居节点。

带重启的随机游走

思路:假定我们关注社交网络中的一个特定点N,我们想知道游走者从改点出发游走不远后到达的位置,我们可以修改转移概率矩阵,使得从任一节点转移到N的概率很小。

  • 令M为图G的转移概率矩阵,如果节点ii的度数为kk,且ii和jj之间有边,则M中第ii行第jj列的元素为1/k1/k,否则为0。
  • 令β\beta为游走者继续随机游走的概率,则1−β1-\beta为游走者远程跳转到初始节点N的概率,令eNe_N为一个列向量,v‘v^`是下一轮位于每个节点的概率向量,则v‘v^`和vv的关系是:
    v‘=βMv+(1−β)eN

    v^`=\beta Mv+(1-\beta )e_N
    注:由于初始的迭代中有振荡,因此整个收敛过程需要时间。收敛后可以看到所有节点与节点N的相似度矩阵。

社交网络图挖掘3--重叠社区的发现及Simrank相关推荐

  1. 社交网络图挖掘2--社区的直接发现和图划分

    社区的直接发现 相关概念 利用完全二部图发现社区 图划分 图划分的好坏标准 归一化割 描述图的一些矩阵 社区的直接发现 通过寻找有很多连边的节点子集直接发现社区的技术. 相关概念 团(clique): ...

  2. 社交网络图挖掘1--将社交网络看作图及其聚类

    将社交网络看成图 社交网络的基本概念: 社区(community):是指具有非同寻常的强连通性的节点子集,其中节点可以是构成网络的人或者其他实体. 局部性(locality):是指社交网络的节点和边趋 ...

  3. 社交网络图挖掘5--图的邻居性质

    有向图和邻居 图的直径 传递闭包和可达性 有向图和邻居 有向图(directed graph):是指一个包含节点集合和有向边集合的图,每条有向边写成u→vu\rightarrow v,其中uu为有向边 ...

  4. 社交网络图挖掘4--三角形计数问题

    计算一个随机图中的三角形数目期望值 由n个节点和m条边随机构成的图的中: 图中总共有(n3)=n3/6\bigl( \begin{smallmatrix} n \\ 3 \end{smallmatri ...

  5. 【大数据】十、社会网络图挖掘(Girvan-Newman、拉普拉斯矩阵、Simrank)

    文章目录 1 社会网络图的聚类 1.1 社交图网络的距离计算 1.2 中介度 1.2 Girvan-Newman算法 2 图划分 2.1 描述图的一些矩阵 2.2 一句拉普拉斯矩阵特征值划分图 3 S ...

  6. 基于链接密度聚类的重叠社区发现算法

    基于链接密度聚类的重叠社区发现算法 文章发表时间:2013年12月 1. 传统社区算法的局限性 传统社区算法是将网络划分为若干各互不相连的社区,每个节点都必须隶属与唯一的社区,然而,在实际的社交网络中 ...

  7. 微博社交圈子挖掘所面临的困难

    我很喜欢<亮剑>这部电视剧,李云龙经常说:我们不能打了半天,不知道敌人是谁. 所以 ,这一篇文章,我简单分析一下,微博社交圈子挖掘目前遇到的问题是什么?不能分析了半天,只注重结果如何如何, ...

  8. 重叠社区检测基础算法

    1.思维导图 2.算法详解 1)CPM算法 (1)算法思想 假设社区由完全连接的子图的重叠集(团)构成,并通过搜索相邻的团来检测社区. 首先识别网络中所有大小为K的团,一旦这些被识别出来,就会构建一个 ...

  9. 基于新闻数据的社交网络图数据分析实战

    图数据处理 在这一部分,实现了对数据文件进行按词性的分词,提取其中的实体并建立社交网络,对该社交网络进行基本的数据分析. 数据文件来源于人大新闻网的新闻内容,利用结巴分词对数据文件中的新闻标题和正文内 ...

最新文章

  1. 一键控制全屋设备,AI交互时代来临
  2. Kanzi常用操作2
  3. R语言包在linux上的安装等知识
  4. android的动态注册,Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发...
  5. Leetcode-5846.周赛 找到数组的中间位置
  6. 天翼云从业认证(3.6)了解天翼云大数据SaaS服务
  7. 解决spring的bean同名冲突
  8. Android应用启动后自动创建桌面快捷方式
  9. ASP.NET Core File Providers
  10. 16、mysql中函数的创建和使用
  11. Linux下静态库和动态库的编译连接
  12. 海康威视C++应用软件开发面经
  13. 【快速、批量】修改图片格式
  14. 只有手机号或者身份证能查出来绑定QQ号码?大神请赐教
  15. Floyd算法、Dijkstra算法例题
  16. 一份机器学习的自白书
  17. Strerror函数和Perror函数的介绍及使用
  18. 金蝶账套总显示找不到服务器,金蝶财务软件为什么显示服务器存在,但是当前用户不存在或无有效账套信息...
  19. 从《9败1胜》了解王兴如何10年创业带领美团上市!
  20. 嵌入式:ARM汇编语言程序设计基础教程

热门文章

  1. Android 关于::app:clean :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE,引用jar冲突问题...
  2. 【转】jqGrid学习之参数
  3. 如何查看手机连接wifi密码的记录
  4. java svn插件_Eclipse安装SVN插件
  5. 超参数搜索——网格搜索和随机搜索
  6. 查看tensorflow安装版本
  7. 怎么证明正态分布积分结果为1?I^2是什么意思 (极坐标 分部积分法 雅可比行列式在积分坐标变换中 )
  8. OPENGFILER存储柜
  9. a.cmd 文件里的内容
  10. //Eclipse 快捷方式