MMD_3a_CommunitiesInSN

本文探讨了社交网络中社区发现的方法,介绍了从Community-Affiliation Graph Model (AGM)到bigClam模型的发展过程。bigClam模型通过计算个体对特定组的归属度来识别社交网络中的重叠社区。

SN means social network。

The first 12 videos cover this topic.

The first four videos are part of the basic track, and cover machine-learning techniques for finding the best set of “overlapping communities,” following the intuition that people generally belong to more than one community, e.g., their high-school friends, their coworkers, etc.

Videos 5-12 are part of the advanced track. They use concepts from linear algebra to explain how to break graphs optimally (i.e., break the fewest edges) into disjoint “communities.”

概述

实例

想要将社交网络所属的不同组给划分开来。

这里写图片描述

需要解决的问题

这里写图片描述

从AGM到Network

如何从模型推出社交网络

所谓社交网络,就是两个人U,V是不是朋友,或者理解成图论中的两个node是否需要连接。

模型

Community-Affiliation Graph
这里写图片描述

特点

flexibility
这里写图片描述

从AGM到bigClam

AGM是一种计算P(u,v),即u,v两个点之间是否有edge的概率。
同样的,bigClam也是计算两点间是否有edge的概率。

区别是:
前者有:社区C中的任何两个人是朋友的概率
后者有:每个人对于特定组的归属度

这里写图片描述

bigClam的求解问题

这里讨论的是,已知一个网络,求解模型的问题。

已知:
网络中的任何两个人是否是好友,是否有edge相连。也就是前面讨论中求出的连接概率。
求:
网络的参数F矩阵。

转化成优化问题,可以使用梯度法求解。
并且根据一些trick,将问题的复杂性减小。

最大似然的优化问题

这里写图片描述

注意,这里对优化问题去了log值,理由是:

  1. 乘法问题变成了加法问题,方便计算分析
  2. 乘法问题的话错误会不断快速地累积,加法问题可以避免这个问题
  3. log不改变原来的单调性

梯度下降法

对每个点进行一次迭代,每经过一个点更新参数,直到达到稳定值。

注意,这里是求最大似然值

  1. 可以变下符号
  2. 更新参数的时候把减号变成加好,因为求导的方向也就是梯度的方向,是函数增长最快的方向。

但是,这种方法有个缺点,对于和u不适邻居的数据,都要进行迭代计算,所以每次更新的话会遍历所有的样本点,这样时间复杂度是 O(N) 的,不利于大数据的计算。
这里写图片描述

改进的梯度下降

改进后的方法,只需要预先计算一次全体值,然后cache方便之后计算。
接下来每次只需要计算与u相邻的节点值,这样的话在大数据的情况下极大地减少了时间,时间复杂度是关于邻居集合的线性的。
这里写图片描述

Scalability

这里写图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值