社交网络图挖掘3--重叠社区的发现及Simrank
- 重叠社区的发现
- 相关知识点
- 关系图模型
- 避免成员隶属关系的离散式变化
- Simrank
- 带重启的随机游走
重叠社区的发现
相关知识点
社区的本质:一个实体有可能同时属于两个社区,任一社区内的边会十分密集,但是两个社区交集内的边会更加密集,而三个社区交集内的边还要密集。
极大似然估计(maximum likelihood estimation,MLE):我们对某种对象(如朋友图)实例的生成过程(即模型)建立某种假设。模型的参数确定了任一具体实例的生成概率,该概率称为这些参数值的似然(likelihood)。
关系图模型
社区-关系图(community-affiliation graph)
社区-关系图(community-affiliation graph)机制可以从社区生成社交网络图,规定如下:
- 存在给定数目的社区,存在给定数目的个体(图的节点);
- 每个社区可以拥有任意的个体集合作为成员,即个体对社区的隶属关系是模型的参数;
- 每个社区C都有一个概率PcP_c与之相关联,该概率表示C中两个成员由于都是C中成员而通过边连接的概率,这些概率也是模型参数;
- 如果一对节点属于两个或更多社区,那么如果某个包含这两个节点的社区按照规则3判定节点间有边的话,那它们之间就有边。
计算通过上述机制生成图的概率,计算的关键点:
- 给定个体到社区的分配
- PcP_c值;
- 如何计算边的概率。如果uu和vv是社区的非空集合M中每个社区的成员,并且不是其他社区的成员,那么uu和vv之间存在边的概率为:
Puv=1−∏CinM(1−Pc)
P_{uv} = 1- \prod_{C in M}(1-P_c)
那么E等于观察图中边集合的似然为:
\prod_{(u,v) in E}P_{uv}\prod_{(u,v) not in E}(1-P_{uv})
避免成员隶属关系的离散式变化
以连续方式对个体属于社区的隶属强度进行调整,直观上看,两个个体属于同一社区的程度越强,那么该社区促使两个个体之间有边的可能性也越大。改进的模型规则:
- 固定的社区和个体集合(同);
- 对每个社区C和个体x,有一个隶属强度参数FxCF_{xC},参数为任意非负值,0意味着该个体不属于该社区。
- 社区C使得uu和vv之间存在边的概率为:
PC(u,v)=1−e−FuCFvC
P_{C}(u,v) = 1-e^{-F_{uC}F_{vC}}
节点uu和vv之间存在边的概率为:
P_{uv} = 1- \prod_{C }(1-P_c(u,v)=1-e^{- \sum_CF_{uC}F_{vC}}
那么E等于观察图中边集合的似然为:
\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,于是有:
\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相关推荐
- 社交网络图挖掘2--社区的直接发现和图划分
社区的直接发现 相关概念 利用完全二部图发现社区 图划分 图划分的好坏标准 归一化割 描述图的一些矩阵 社区的直接发现 通过寻找有很多连边的节点子集直接发现社区的技术. 相关概念 团(clique): ...
- 社交网络图挖掘1--将社交网络看作图及其聚类
将社交网络看成图 社交网络的基本概念: 社区(community):是指具有非同寻常的强连通性的节点子集,其中节点可以是构成网络的人或者其他实体. 局部性(locality):是指社交网络的节点和边趋 ...
- 社交网络图挖掘5--图的邻居性质
有向图和邻居 图的直径 传递闭包和可达性 有向图和邻居 有向图(directed graph):是指一个包含节点集合和有向边集合的图,每条有向边写成u→vu\rightarrow v,其中uu为有向边 ...
- 社交网络图挖掘4--三角形计数问题
计算一个随机图中的三角形数目期望值 由n个节点和m条边随机构成的图的中: 图中总共有(n3)=n3/6\bigl( \begin{smallmatrix} n \\ 3 \end{smallmatri ...
- 【大数据】十、社会网络图挖掘(Girvan-Newman、拉普拉斯矩阵、Simrank)
文章目录 1 社会网络图的聚类 1.1 社交图网络的距离计算 1.2 中介度 1.2 Girvan-Newman算法 2 图划分 2.1 描述图的一些矩阵 2.2 一句拉普拉斯矩阵特征值划分图 3 S ...
- 基于链接密度聚类的重叠社区发现算法
基于链接密度聚类的重叠社区发现算法 文章发表时间:2013年12月 1. 传统社区算法的局限性 传统社区算法是将网络划分为若干各互不相连的社区,每个节点都必须隶属与唯一的社区,然而,在实际的社交网络中 ...
- 微博社交圈子挖掘所面临的困难
我很喜欢<亮剑>这部电视剧,李云龙经常说:我们不能打了半天,不知道敌人是谁. 所以 ,这一篇文章,我简单分析一下,微博社交圈子挖掘目前遇到的问题是什么?不能分析了半天,只注重结果如何如何, ...
- 重叠社区检测基础算法
1.思维导图 2.算法详解 1)CPM算法 (1)算法思想 假设社区由完全连接的子图的重叠集(团)构成,并通过搜索相邻的团来检测社区. 首先识别网络中所有大小为K的团,一旦这些被识别出来,就会构建一个 ...
- 基于新闻数据的社交网络图数据分析实战
图数据处理 在这一部分,实现了对数据文件进行按词性的分词,提取其中的实体并建立社交网络,对该社交网络进行基本的数据分析. 数据文件来源于人大新闻网的新闻内容,利用结巴分词对数据文件中的新闻标题和正文内 ...
最新文章
- 一键控制全屋设备,AI交互时代来临
- Kanzi常用操作2
- R语言包在linux上的安装等知识
- android的动态注册,Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发...
- Leetcode-5846.周赛 找到数组的中间位置
- 天翼云从业认证(3.6)了解天翼云大数据SaaS服务
- 解决spring的bean同名冲突
- Android应用启动后自动创建桌面快捷方式
- ASP.NET Core File Providers
- 16、mysql中函数的创建和使用
- Linux下静态库和动态库的编译连接
- 海康威视C++应用软件开发面经
- 【快速、批量】修改图片格式
- 只有手机号或者身份证能查出来绑定QQ号码?大神请赐教
- Floyd算法、Dijkstra算法例题
- 一份机器学习的自白书
- Strerror函数和Perror函数的介绍及使用
- 金蝶账套总显示找不到服务器,金蝶财务软件为什么显示服务器存在,但是当前用户不存在或无有效账套信息...
- 从《9败1胜》了解王兴如何10年创业带领美团上市!
- 嵌入式:ARM汇编语言程序设计基础教程
热门文章
- Android 关于::app:clean :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE,引用jar冲突问题...
- 【转】jqGrid学习之参数
- 如何查看手机连接wifi密码的记录
- java svn插件_Eclipse安装SVN插件
- 超参数搜索——网格搜索和随机搜索
- 查看tensorflow安装版本
- 怎么证明正态分布积分结果为1?I^2是什么意思 (极坐标 分部积分法 雅可比行列式在积分坐标变换中 )
- OPENGFILER存储柜
- a.cmd 文件里的内容
- //Eclipse 快捷方式