easonshi

1-概论

从社会的角度去分析和理解个人的行为。

“人的本质并不是单个人所固有的抽象物。在 其现实性上,它是一切社会关系的总和”——马克思《关于费尔巴哈的提纲》

“社会不是由个人构成,而是表示这些个人彼 此发生的那些联系和关系的总和”—— 《马克思恩格斯全集》V.46, P.220, 人民出版社, 1979年

相关应用

  • 精准营销:用户画像、个性化推荐、社会化营销
  • 舆情管理:危机预警、观点挖掘、情感分析
  • 分析预测:市场研判、新闻热点预测、用户行为画像与预测
  • 刑侦反恐:潜在关系挖掘、犯罪社团挖掘

用的教材主要是《社会媒体挖掘》一书,英文版 PDF 和 Slides 见 http://dmml.asu.edu/smm/

主要内容包括

  • 图论基础
  • 网络度量:网络权威/中心用户查找
  • 网络挖掘:小世界现象
  • 数据挖掘:社区(团)挖掘
  • 社交网络的信息传播:影响力最大化、热门话题预测
  • 影响力和同质性
  • 用户行为分析:网络学、社会学、经济学、博弈论
  • 推荐系统

image-20200626160140460

参考书目

• 《社会媒体挖掘》,Reza Zafarani等

• 《网络、群体与市场》,⼤卫·伊斯科,乔恩·克莱因伯格

• 《Pajek蜘蛛: 社会网络分析技术》,沃特·德·诺伊等

• 《社会网络分析:⽅法与应⽤》,沃瑟曼等

• 《在线社交网络分析》,⽅滨兴等

• 《社会网络分析法》,约翰·斯科特

• 《社交网站的数据挖掘与分析》,Russell

• 《Web数据挖掘》,Bing Liu

社交网络概述

由英国⽜津⼤学的⼈类学家罗宾·邓巴(Robin Dunbar)于2009年 提出:根据猿猴的智⼒与社交⺴⽹网络推断出:⼈类智⼒将允许⼈类拥有 稳定社交⺴⽹网络的⼈数是148⼈,四舍五⼊⼤约是150⼈。因此,150⼜ 称邓巴数字

该定律指出:⼈的⼤脑新⽪层⼤⼩有限,提供的认知能⼒只能使⼀个 ⼈维持与⼤约150个⼈的稳定⼈际关系,这⼀数字是⼈们拥有的、与 ⾃⼰有私⼈关系的朋友数。也就是说,⼈们可能拥有150名好友,甚 ⾄更多社交⺴⽹网站的“好友”,但只维持好与现实⽣活中⼤约150个⼈ 的“内部圈⼦”。⽽“内部圈⼦”好友在此理论中指⼀年⾄少联系⼀ 次的⼈。

社会网络分析

为理解⼈类各种社交关系的形成、⾏为特点以及信息传播 的规律,采⽤相关的分析⽅法,涉及信息学、数学、社会 学、管理学、⼼理学等多学科的融合理论和⽅法

社会网络分析⽅法基于⼀个直觉性观念,即⾏动者嵌⼊在 其中的社会关系的模式对于他们的⾏动结果有重要的影响, 社会网络分析者则⼒求揭⽰不同类别的模式

社会网络分析的特点包括

  • 源⾃于联系社会⾏动者关系基础之上的结构性思想

  • 以系统的经验数据为基础

  • ⾮常重视关系图形的绘制

  • 依赖于数学或计算模型的使⽤

社会计算

2009年2⽉,美国哈佛⼤学⼤卫·拉泽(David Lazer)等15位美国学者 在《Science》上联合发表了⼀篇具有⾥程碑意义的⽂章 《Computational Social Science》

社会计算(Social Computing),⼜称计算社会学(Computational Social Science)。 ⼀般指社会⾏为和计算系统交叉融合⽽成的⼀个研究领域,研究如何利⽤计算 系统帮助⼈们进⾏沟通与协作,如何利⽤计算技术研究社会运⾏的规律与发展 趋势。

社会计算的研究目标

1)在深⼊理解当前社会问题动态性、快速性、开放性、 交互性、数据海量性和复杂性的基础上,为解决新兴社会 问题建⽴统⼀的社会科学基础模型和理论框架

2)社会科学基础模型和理论“计算化”或建⽴其到计算 技术的映射机制,研究与社会相关应⽤中的建模与计算⽅ 法,⾃下⽽上地为解决新兴社会问题提供整套理论和技术 ⽀撑;

3)深化学科交叉研究,为⺴⽹网络化社会背景下的社会科学 研究提供实验⽅法;同时,以新兴问题促进相关研究领域 内涵和内容的延拓,推动基础理论和⽅法的创新和突破。

而社交网络挖掘是社会计算的研究内容的一部分。

社交网络挖掘

Social Media Mining is the process of representing, analyzing, and extracting meaningful patterns from social media data

社交网络挖掘的挑战:

  • 大数据悖论

    • 个体数据是往往是稀疏的,因此才需要汇聚群体/整体的⼤大数据
      • 举例:社会推荐中的冷启动问题
    • 个体⾏行为模式不能简单等同于整体,因此不能是个体的简单相加来代表整体,也不能整体的简单拆分来刻画个体
  • 数据采集与获取:爬虫、API等需要掌握的重要技术⼿手段

  • 数据清理与噪⾳音消除

    • ⼤大数据可以允许个体数据的错误,但不等于不需要数据清理
    • 消除噪⾳音个体trade-off 个体数据价值挖掘
  • 性能/作⽤用评价

    • ground truth(事实/标准答案)如何获取?
    • 没有客观标准答案的如何评价?
    • 数据挖掘出来的模式/结果能否解答“为什么”?

数据分析/挖掘的结果往往能较好地解释 what/where/when/how many/how often 但较难回答why

我们面对的是社会学的问题,我们⽤用交叉的思想去寻找解决方案,并利⽤数学和信息学的手段来解决它

2-图论基础

图是网络结构的数学模型

网络问题一般可以转化成一个图论的问题

  • 微博信息传播网络:Given a piece of information, a network of individuals, and the cost to propagate information among any connected pair, find the minimum cost to disseminate the information to all individuals.
  • 科尼斯堡问题:奇点的数目不是0个(起点即终点)就是2个(一个是起点,一个是终点)
  • 欧拉环路:途经每条边恰好 一次,起点=终点
  • 哈密顿回路(点之间只能遍历一次
  • 四色猜想/问题(拓扑学topology 原意“地质学”)

图的基本结构

  • 结点/节点 vertex/node:用户 user/actor、组织、网络、各类资源item/resource(商品、电影、音乐、论文)
  • 边 edge:有向图,入度邻居 Nin,出度邻居 Nout
    • 边的重数:具有相同始点和终点的边称为平⾏边,平⾏边的条数称为 边的重数
  • 度 degree
    • 度数为1的结点是悬挂结点,其关联的边是悬挂边
    • 度数为0的结点是孤⽴点
    • 度分布
  • 图的密度:实际边数与理论上最⼤的边数之⽐
    • 对无向图,\({L\over n(n-1)/2}\)
    • 有向图,没有系数 2

一些简单的结论

  1. 无向图中,所有节点的度数之和是其图中边数的两倍
  2. 无向图中,度数为奇数的节点有偶数个
  3. 有向图中,所有节点的入度和等于出度和

图的表示

图的同构 graph isomorphism

  • 如果图 G 中的结点集 V 与图 G’ 中的结点集 V’ 具有一一对应的关系,并且对应的边都具有相同的重数,则称 G 与 G’ 同构,记作 \(G\cong G\'\)
  • 因此,两图同构必须满足下列关系:节点数、边数相同、度数相同的节点相同。(必要非充分)
  • 判断:双射函数

图的类型

  • 零图 null graph:没有节点没有边

  • 空图 empty graph:边集空,节点集可以非空——零图是空图

  • 完全图 complete graph:任何节点之间有边

  • 无向/有向/混合图

  • 补图:由图G中的所有结点和构成完全图需添加的边所组成的图称为G的补 图,记作 \(\bar G\)

  • 简单图:两节点间最多一条边

  • 多重图 multigraph:可以多条边

  • 带权图/赋权图

  • 标号图:权重用+/-或0/1等二元表示

  • 树与森林:

    • 树是特殊的⽆无向图,没有回路
    • 树的任意两点之间恰好有⼀一条路径
    • 森林由多个互不相连的树组成
  • 生成树 spanning tree

    • 包含图中所有结点的树型子图
    • 带权图中,权重最小的生成树为最小生成树(也可能多个)
  • 斯坦纳树 steiner tree

    • 对于带权图的一个结点子集 V’,包含这个子集中所有结点且权重之和最小的子树即斯坦纳树
    • 与最小生成树的区别在于,由于关注的一个图的子集,也就意味着在所给定的节点之外利用额外的节点以减少网络的代价
  • 正则图:所有结点的度数相同,k-正则图

  • 二分图/二部图 bipartite graph

    • 所有的结点分为两个集合,每条边的两个端点分别在这两个集合中,即同一集合的结点间没有边相连
    • An affiliation network is a bipartite graph. If an individual is associated with an affiliation, an edge connects the corresponding nodes.
    • 例如这样的隶属关系网络,还比如,推荐算法:找出连个兴趣相似的人,以购买的书的数量决定,在图中表现为(用户间)通路数量
  • 多分图多部图 multipartite graph

    用户-标签-电影(三类结点)

图的连通性

  • 相邻节点 adjacent
    • 一条边联结的两个点
  • 相邻边 incident
    • 无向图:具有相同端点
    • 有向图:一条边终止结点必须是另一条便的开始结点,即两条边方向一致
  • 路径 path
    • 依次遍历相邻边产⽣的结点序列称为路径
    • 简单路径 path:不包含重复节点(所以也没有重复边)的路径称之为简单路径(本课程重点)
    • 起点和终点相同,但其他结点都不重复,且至少包含三条边的路径称之为回路/圈(cycle),即闭合 path
  • 通路 walk: sequence of incident edges visited one after another
    • 依次遍历相邻边产生的边序列称之为通路
    • 开通路 open walk:起始结点不同于终止结点
    • 闭通路 closed walk:起始结点和终止结点是同⼀个结点(圈)
    • 通路长度 length of walk:通路中遍历的边数量
    • 简单通路 trail:每条边只遍历一次的通路
    • 环路 tour/circuit:闭合简单通路

哈密顿回路 Hamiltonian Cycle:遍历了图中所有结点的回路

欧拉环路 Eulerian Tour:图中所有边均只被遍历⼀次,Konigsberg bridges

  • 连通性
    • 图中任意两个结点间存在一条路径,则为连通图
    • 有向图中,图中任何两个结点都有路径(不考虑沿边的方向前进),则为弱连通图
    • 有向图中,考虑沿着边的方向前进,图中任何两个结点存在有向路径,则为强连通图
  • 连通分支
    • 若子图中任意两个结点间存在一条路径,则该子图为连通分支(连通分量)
    • 有向图中,连通分支内任何两个结点u, v,无论是 u 到 v 还是 v 到 u,都存在有向路径连通,则为强连通分支
  • 最短路径
    • 连通图中任何两个结点之间长度最短的路径为最短路径,其长度为该两个结点间的最短距离
    • 图中所有结点对的最短路径平均值为图的平均路径长度,或称之为特征路径长度
    • 结点 v 的 n 阶邻居(n-hop neighbor)是指所有到 v 的最短路径不大于 n 的结点
  • 直径
    • 图中任何两个结点之间最短路径的最大值为图的直径(社交,聚拢程度)
    • 直径只定义在连通图中
    • 移除某条边会导致图中连通分支增加,这样的边为桥
    • 桥是超大连通分⽀形成的关键

图算法

  • 随机游走:带权图上的
  • 图/树遍历 Traversal:BFS、DFS
  • 最短路径:Dijkstra 算法,针对非负带权图,建立一个优先队列
  • 最小生成树:Prim 算法,从一个初始节点,每次在边缘中找最小的那条边
  • 网络流算法:给定一个图 \(G(V,E,C)\) 其中 C 是每条边的容量 capacity,有向,要求从 \(s\)\(t\) 的最大流,注意其需要满足,1. 网络上的流是有方向限制的;2. 对于每个节点的流量守恒。
    • Ford-Fulkerson 算法
    • 基本思想:寻找⼀条从源点到汇点的路径,使路径中的所有 边都有未使⽤的容量,使⽤该容量(路径上所有边中未使⽤ 的最⼩容量)去增加流,不断迭代直⾄没有其他路径可⽤。
    • 核心就是定义一个残流网络:对于某一条边 \((u,v)\) 来说,若是还有剩余容量则画出 \((u,v)\) 边和剩余流量;若是有流经过此边则画反向的边 \((v,u)\) 权重是流过这条边的流量;注意后者是关键,对于正向流入此边的流来说,若是其他边满足条件,可以产生相反的流从而得到增量。
  • 二分图的最大匹配
    • ⽤⼆分图 G 表⽰⽤户和商品,以及他们之间的兴趣关系
    • 匹配M是 G 中边集合 E 的⼀个⼦集, 使得 G 中每个结点⾄多出现在 M 的⼀条边上(即每个⽤户⾄多买⼀个 商品/每个商品⾄多卖给⼀个⽤户)
    • 何以在二分图的前后分别加 \(s,t\) 利用最大流算法解决。

3-网络度量

我们需要从网络中找出核心的节点。

中心性度量

  • Degree centrality: ranks nodes with more connections higher in terms of centrality

    • 有向图中,可以用

      \(C_d(v_i)=d_i^{in}\) , prestige

      \(C_d(v_i)=d_i^{out}\) , gregariousness

    • Normalized Degree Centrality:可以用理论最大度/图中最大度/图中度之和进行归一化

  • 特征向量中心性

    • Eigenvector centrality generalizes degree centrality by incorporating the importance of the neighbors (undirected) 朋友多不一定重要,要有重要的朋友才是关键

    • 计算公式

      \[C_e(v_i)={1\over \lambda}\sum_{j=1}^nA_{j,i}C_e(v_j)\\ \lambda C_e=A\'C_e \]

      其中 A 为邻接矩阵,于是就变成了求特征向量的问题,其中 \(\lambda\) 为对应的特征值

      每个节点的中心性应该都为正,而根据 Perron-Frobenius 定理,可以通过求 A 的最大特征值对应的特征向量得到

    • image-20200626202405681

  • Katz Centrality

    • 注意到上面的 Theo 中似乎要求是在连通图的情况下,所以特征向量中心性一般在无向图中较为稳定;而在有向图中,中心性将从有向边中流出,在一定情况下,例如图是 acyclic 的,则可能出现某一个节点有很多入边但是中心性为零的情况

    • 在此基础上加了偏置项 \(\beta\)

      \[C_{Kate}(v_i)=\alpha\sum_{j}A_{j,i}C_{Kate}(v_j)+\beta\\ C_{Kate}=\alpha A\'C_{Kate}+\beta\mathbf 1\\ C_{Kate}=\beta(\mathbf I-\alpha A\')^{-1}\mathbf1 \]

      其中第一行加了偏置项;整体写成第二行的形式;解析解是第三行的样子,注意到涉及到矩阵求逆,而我们知道当选取 \(\alpha={1\over\lambda}\)\(det(I-\alpha A\')=0\) ,会出现问题,所以一般会取一个小一点的数值。

  • PageRank 中心性

    • 想法是「权威的出边并不一定是权威」,因此对传递的权重进行衰减,于是有

      \[C_p(v_i)=\alpha\sum_{j}A_{j,i}{C_p(v_j)\over d_j}+\beta\\ C_p=\alpha A\'D^{-1}C_p+\beta 1\\ C_p=\beta(I-\alpha A\'D^{-1})^{-1}1 \]

    • 类似的,若 \(\lambda\)\(A\'D^{-1}\) 的最大特征值,我们要求 \(\alpha<{1\over\lambda}\)

    • 当然,这和我们熟悉的 PageRank 公式不太一样,差别只是两个权重的形式,我们可以从随机浏览的角度来理解。

  • Betweenness Centrality 中间/中介中心性

    • 从一个节点在网络上连接其他节点意义上的重要性

      \[C_b(v_i)=\sum_{s\ne t\ne v_i}{\sigma_{st}(v_i)\over\sigma_{st}} \]

      其中分母是从 \(s\)\(t\) 的最优最短路径,分子是这些路径中经过 \(v_i\) 的数量;这样定义的中心性可能对大于 1,因此需要进行归一化操作,最好情况下,对于所有的 \(s\)\(t\) 来说分式均为 1,于是极大值为 \(2\binom{n-1}{2}=(n-1)(n-2)\) 除掉即可

      \[C_b^{norm}(v_i)={C_b(v_i)\over 2\binom{n-1}{2}} \]

  • Closeness Centrality 接近中心性

    • 想法是你距离其他节点有多远

    • 因此,考虑公式

      \[C_c(i)=1/({1\over n-1}\sum_{j\ne i}l_{i,j}) \]

      其中 \(l_{i,j}\) 为 i 到 j 的最短路径长度

    • 接近中心性高的节点往往是社交网络信息传播的关键人物

image-20200704101943754

群体中心性

基于上面的对于单个节点的中心性讨论,可以将这些概念拓展到一组结点的中心性度量

image-20200704102227345

传递性与相互性 Transitivity and Reciprocity

传递性

传递性和相互性用于表示社交网络总个体间的连接行为

其中,传递性的思想是:若 BC 两人拥有一个共同的朋友 A,则 BC 之间未来成为朋友的可能性也会提高,即,我朋友的朋友也是我的朋友(考虑现实场景下的情况,可以联系到社会学、经济学的各种理论)。从网络结构的角度来看,就是容易形成紧密连接的三角形,三元闭包

三元闭包的数量体现了图的传递性强弱,通常用 聚类/聚集系数 cluster coefficient 来表示传递性。

以下定义 Global Cluster Coefficient: Count paths of length two and check whether the

third edge exists

\[C={|Closed\ Paths\ of \ Length\ 2|\over |Paths\ of\ Length\ 2|}, or\\ C={(Number\ of\ Triangles)\times6\over |Paths\ of\ Length\ 2|} \]

这里关注的是 path,因此计算起来是有方向的,更为简单的计算方法是根据 三元组 Triple,即关注一组结点,没有方向,一个三角形中包含三个不同的 Triple

\[C={(Number\ of\ Triangles)\times3\over Number\ of\ Connected\ Triples\ of\ Nodes} \]

基于上面的思想,还可以定义 Local Clustering Coefficient: Computes how strongly neighbors of a node

分类:

技术点:

相关文章: