摘要:在2018年1月6日的云栖社区数据智能技术论坛上,浙江大学计算机学院助理教授杨洋分享了以社交网络中的群体用户行为分析他们的行为特征,例如群体本身是怎样演化的,怎么用机器学习的方法把这个群体的用户和其他的用户区分出来,并列举四个经典案例。此外,他还对社交网络的表示学习进行了介绍。
以下为精彩视频整理:
移民者的都市梦——感知移民群体的行为模式
以中国为例,中国的城市化人口增长速度一直很快,在我国每年有2.6亿的人离开家乡涌入城市,由中国电信提供的上海市2016年9月的完整通话网络,包括了7亿条通话记录以及5400万的电信用户,通过这个记录可以勾画成通话网络。对于每个用户本身也会得到一些属性,比如说性别、年龄、出身地等。
把用户分成三大类,分别是本地人、老移民者、新移民者。现在的目标是区分这三类人群,如上图所示,第一个图是上海总人口的人口分布,颜色越深的地方人口密度越大。第二个图是上海本地人的人口分布,可以看出本地人更多远离市中心多分布在郊区。图三是老移民者的分布,可以看出市中心已经被他们占领。从图四新移民者的分布可以看出,他们的分布比较松散,在各个区域都有他们的影子,在某几个区域会集中生活。
从更多的角度来说,从不同维度的角度特征来对比这三类人,他们在网络上的表现形式会有怎样的区别。图二可以理解为中心节点的两个邻居互相认识的概率,可以看出新移民者在圈子里是比较稳定的,可以有两种解释,一个是在一个圈子里所有人都互相认识,第二个是他不愿去发展特别多样的关系。具体来说我们还考虑了用户的年龄、性别等各种属性,用户的通话行为,用户在城市的地理位置等。
我们可以把这些特征扔给一个分类器,然后做一个三分类。给定一个用户的通话网络的特征,来判断这个用户是本地人还是老移民者,或者是新移民者。从图中可以看出从不同的时间段,折线的变化,绿色是新移民者被误判成本地人的概率,蓝色是老移民者被误判为本地人的概率。
是什么原因使新移民者没有在大都市生活下来。据分析到达一个城市前两周很关键,进一步将移民者划分为离开都市的人和留在都市的人。经过分析发现有两点是比较有影响力来决定新移民者是否能够留在大都市,一个是要拓展人脉,其次是发展多样性的关系。我们也结合上海的房价数据,把用户的地理位置分布和房价结合起来,然后来看他住的地方房价怎么样,最后发现房价低的区域新移民者移入成功的概率更大。
社交网络的表示学习
近年来不管是学术界还是工业界都比较关注的就是表示学习。它的应用也很广,比如可以预测未来两个节点会不会有一条边,也可以看这两个节点在影空间是否足够接近,如果足够接近可能会存在一条边。
这项研究工作和别人不一样的地方是,我们想面向社交网络的一个分析。这个表尽量保留社交网络的特性,一个是网络的动态性,一个是网络的无标度性。怎样去让表示向量可以捕捉网络的动态性和无标度性,针对这两个特性我们各自做了一个算法,先来看一个非常简单的例子。
面向动态网络的表示学习
在图中有A、B两个节点,它们的结构基本上是对称的,都有三个朋友,边上的权重就表示这个用户花了多少的精力用来发展和这个朋友的关系。从下一时间可以看出A、B的演化过程是不一样的,可以判断A、B的性格是不一样的。把A介绍给两个朋友互相认识叫三角闭合,比如说现在有一个开三角i、j、k,在这里k与i、j都认识但i、j互不认识,当i、j认识后就说开三角闭合了。三角闭合取决于k介绍i、j认识的概率。
参考代码:https://github.com/luckiezhou/DynamicTriad
面向无标度网络的表示学习
一旦用表去学习得到了每个节点的表示向量以后怎么来重构一个网络。对于任意的节点i,j它们表示向量的距离,比如说它们的2范数,它们的欧式距离,它们是否小于某个阈值。距离越近也就越相似,会存在边。所以定义阈值来判断表示向量是否特别近,如果近就连一条边就可以重构出一条网络。现在的问题是重构出的网络是否还满足无标度性,最后发现不是。
从理论层面来分析为什么现在的算法不能保留无标度性。整个过程得到一个图每个节点的embedding,我们要做的就是确定节点在影空间的位置,可以把阈值定义为1,把红色的中心节点放在二维空间的原点,现在要放白色的邻居,并且希望这些邻居和红色点的距离都小于1,而白色节点与白色节点的距离要大于1,。可以把这个问题转化成数学中比较经典的求填充问题,比如说红色节点有n个邻居,要在半径为1.5的圆中放入这n个半径为0.5的邻居,使得这些圆互相不重叠,构建最后的网络。
本文由云栖志愿者小组smile小太阳整理编辑,审核程弢。
活动相关文章