课程链接:CS224W: Machine Learning with Graphs
课程视频:【课程】斯坦福 CS224W: 图机器学习 (2019 秋 | 英字)
目录
1. 前言——Spreading through networks
基于图的传播主要有以下四个方面:
- Cascading behavior 级联行为。如级联失效(Cascading failures)、信息传播(Spread of information)等。
- Diffusion of innovations 创新扩散 (这个词平时很少听到,是在传播学、广告学领域的词汇,可以参考《创新的扩散》这本书)。类似的概念在社交网络中有很多场景,例如谣言的扩散、新闻的传播、新技术的扩散、病毒式营销手段(Viral marketing)等。万物互联,例如我们在微博上的转发,就是一次传播;通过不断地转发,信息就完成了人与人之间的节点传播。
- Network effects 网络效应
- Epidemics 传染病流行——这个例子可以很好地反映出基于图传播的特点,就是信息/介质通过节点之间的不断传播进而影响到整个网络。例如在生物学或者医学里面的传染病扩散。
我们以传染病的传播来感受一下Network Cascades的过程:
病毒从一个城市开始传播,然后逐渐污染和整个网络。在这个传播的过程中,我们可以得到病毒的传播路径——传播树:
我们可以通过一些术语来描述这个传播过程:
- 描述传播对象——Contagion
- 描述感染事件——Adoption, infection, activation
- 描述节点角色——Infected/active nodes, adopters
那么,我们怎么描述扩散模型呢?主要有两种方式:
第一种是基于决策树的模型(Decision based models)。
第二种是基于概率的模型(Probabilistic models)。
这节课主要讲的是基于决策树的模型,下节课讲基于概率的模型。
2. Decision based model of diffusion
基于决策树的模型是建立在博弈论模型(Game theoretic model)
的基础上的。对于每个节点来说,它总是会作出对自己最有利的决策。
假设,对于图中的每两个节点来说,他们都需要在两个选择里面作出决策(称为决策A和决策B)。很明显,假如你是节点v,当你周围的人作出的决策都和你一致时,你的利益是最大的。(这一点可以从功利和人脉的角度去理解,在社交网络里面,和你做同样选择的人相当于和你有了共同利益,对于你来说就是属于你的阵营的)。
那么,对于每两个节点v和w来说:
- 当他们选择决策A,那么他们都获得利益a(a>0);
- 当他们选择决策B,那么他们都获得利益b(b>0);
- 当他们决策不一致时,那么他们获得的利益都是0。
对于每个节点来说,它都和周围的节点进行这样的博弈游戏。那么,我们可以得到一个支付矩阵(Payoff matrix)。节点的Payoff就是它进行所有的博弈游戏之后的获得的利益总和。
上面的描述可能有点抽象,我们直接看一下Payoff的计算——
假设节点
v
v
v有
d
d
d个节点,其中有一部分节点(
p
×
d
p \times d
p×d)个节点的决策时A,剩下的节点(也就是
(
1
−
p
)
×
d
(1-p) \times d
(1−p)×d 个节点)的决策时B。那么,对于节点A来说,如果它的决策是A,它的payoff就是
a
⋅
p
⋅
d
a \cdot p \cdot d
a⋅p⋅d;如果它的决策是B,它的payoff就是
b
⋅
(
1
−
p
)
⋅
d
b \cdot (1-p) \cdot d
b⋅(1−p)⋅d。根据博弈论,只有
a
⋅
p
⋅
d
>
b
⋅
(
1
−
p
)
⋅
d
a \cdot p \cdot d>b \cdot (1-p) \cdot d
a⋅p⋅d>b⋅(1−p)⋅d时,也就是
p
>
b
a
+
b
p>\frac{b}{a+b}
p>a+bb时,节点
v
v
v的决策是A。
令 q = b a + b q=\frac{b}{a+b} q=a+bb,表示决策阈值(payoff threshold),那么,只有 p > q p>q p>q是,节点v会选择A。
从这个角度又可以对前面的利益做一个理解——随波逐流。可以代入一个情境,我们在做决定时,总是会参考周边不同人的意见,当我们发现大多数人都选择A时,我们就会选择A。
具体的实现策略:
首先,假设图中所有人的决策都是B。接着,假设一小部分节点 S S S的决策变成A(网络状态开始改变,信息开始传播)。并且对于集合 S S S中的人来说,不管怎么样,他们的决策都是A——也就是说,在后面的演化过程中,要注意这部分节点的决策是不会随着博弈而改变的。
同时,确定好Payoff的策略——假设50%的朋友都选择A,那么这个节点也选择A。
下面就可以开始不断地进行演化,直到没有节点再改变决策为止。
总结:
3. 案例应用——Modeling protest recruitment on social networks
该案例研究使用的是Twiter上的数据,研究的是社交网络上的抗议传播(信息传播)模拟。首先确定了70个相关的标签,并抓取了一个月时间段内的推特上581750条相关的留言,并关联了发布这些消息的用户(包括消息的发布者和它们的相互关系)共87569人。
利用这些数据建立了两个网络——
- Full network: with all Twitter follow links
- Symmetric network with only the reciprocal follow links (i ➞j and j ➞i)——该网络只考虑了用户之间的强链接(交互次数越多,链接越紧密)。
首先从用户激活的条件去研究。
User activation time——用户在推特上表示抗议的时间
k
i
n
k_{in}
kin——The total number of neighbors when a user became active 被激活用户的邻居节点总数。这里的被激活用户应该可以理解为表达了抗议的用户。
k
a
k_{a}
ka——Number of active neighbors when a user became active 被激活用户的激活邻居节点总数。
Activation threshold
=
k
a
k
i
n
\text{Activation threshold} = \frac{k_a}{k_{in}}
Activation threshold=kinka——当一个节点的活跃用户达到某个阈值时,这个用户被激活。
上面建立的两个网络的激活阈值分布基本一致,除了峰值出现的时间:
这两个峰值说明信息的传播需要两个条件:
- 在强连接网络中,当 Activation threshold = 0 \text{Activation threshold} = 0 Activation threshold=0时,激活用户最多——说明信息的传播需要有很多自发传播的用户——也就是“自来水”。
- 在全连接网络中,当 Activation threshold = 0.5 \text{Activation threshold} = 0.5 Activation threshold=0.5时,激活用户最多——说明很多用户在他的大部分朋友都转发之后,他也会加入转发的队伍中——也就是“刷屏”。
从用户激活时间的角度去研究也可以得到很有趣的结论。
这个研究的假设是:如果一个用户的朋友在短时间内集中转发,那么这个用户更有可能会被激活。(想想我们的朋友圈,是不是当大家都在转某条消息的时候,我们也会跟着转)
首先,定义用户突发性的数学计算(Calculate the burstiness of active neighbors as):
Δ
k
a
k
a
=
k
a
t
+
1
−
k
a
t
k
a
t
+
1
\frac{\Delta k_a}{k_a}=\frac{k_a^{t+1}-k_a^{t}}{k_a^{t+1}}
kaΔka=kat+1kat+1−kat
可以看到,对于一个用户来说,如果他的朋友都在转发这条消息,那么他很有可能会加入到传播的行为中,并且会影响到其他的用户——就是他的转发促进了消息的传播。
从信息传播的角度来看,数据之间的级联效应定义如下:
我们可以把信息的传播可以看成是一个级联效应,在
t
t
t时刻,用户1转发了一条消息;在
t
+
Δ
t
t+\Delta t
t+Δt时刻,用户2看到了用户1转发的消息,并加入了转发的队伍;在
t
+
2
Δ
t
t+2\Delta t
t+2Δt时刻,用户3看到了用户2转发的消息,并将消息转发给了更多地人。
一传十、十传百,级联效应中涉及到的用户越来越多。当参与其中的用户达到一定的数量级后,信息可以说已经成功传播开了(这就是10W+阅读的魅力么O(∩_∩)O)。
那么,在这个传播过程中,哪些用户的传播能力更强呢?(Who starts successful cascades?)
分析方法——k-core decomposition(K-Core算法)
总结——关于社交网络媒体中的信息传播
- 信息的传播总是需要一些自发的传播者。
- 随波逐流——如果一个用户的朋友都在转发这条消息,那么他很有可能也会加入传播消息的行列中。(Uniform activation threshold for users, with two local peaks )
- Most cascades are short——很多消息可以在很短的时间内传播开来
- Successful cascades are started by central (more core) users——微博大V用户的转发可以使得信息的传播效率变高、范围变广
4. 模型的推广——Allow people adopt A and B
前面的模型只允许用户做出一个选择,但是我们成年人,全部都要!模型推广的基础就是允许用户可以既选择A,也选择B。
模型的基本思想是没有变的,改变的是payoff的博弈。其中c表示选择A且选择B时需要付出的代价。
实现策略:
同样的,在演化的开始假设所有人都选择B,同样使其中一部分用户选择A,开始演化。那么,用户的选择如何从选择B变成选择A或者变成选择AB呢?
我们假设 a > b a>b a>b,通过前面的博弈论模型可以知道,如果只能做一个选择,那么如果 a > b a>b a>b,那么用户就会选择B。而在扩展模型中,就会遇到一个问题:
例如,当
a
=
3
,
b
=
2
,
c
=
1
a=3,b=2,c=1
a=3,b=2,c=1时,信息传播可以终止:
而如果
a
=
5
,
b
=
3
,
c
=
1
a=5,b=3,c=1
a=5,b=3,c=1,会发现信息传播会一直迭代下去:
我们可以对这个模型建立一个统一的描述:
- 初始图中所有节点的选择都是B
- 对节点 w w w来说,选择A的payoff是 a a a,选择B的payoff是 1 1 1,选择AB的payoff是 a + 1 − c a+1-c a+1−c。
那么什么情况下,节点 w w w会的决策会变成A呢?我们从两种情况去考虑。
情况一:
此时,对节点
w
w
w来说,选择A的payoff是
a
a
a,选择B的payoff是
1
1
1,选择AB的payoff是
a
+
1
−
c
a+1-c
a+1−c。那么,我们可以在
a
−
c
a-c
a−c空间中得到如下规划:
情况二:
此时,对节点
w
w
w来说,选择A的payoff是
a
a
a,选择B的payoff是
1
+
1
1+1
1+1,选择AB的payoff是
a
+
1
−
c
a+1-c
a+1−c。那么,我们可以在
a
−
c
a-c
a−c空间中得到如下规划:
我们可以把上面得到的两张图合在一起:
分析:
首先,我们可以看到,如果方案A能带来的效益不够时(即B stays的区域),人们对的选择并不会改变(默认所有人的初始选择都是B)。而随着收益 a a a逐渐增加,当选择A的收益超过选择AB的代价需要付出的代价时,人们的选择会倾向决策A。
5. 小结
这一节课讲了基于决策树的网络信息传播模型。这个模型主要是基于用于决策和博弈论模型进行的,因此也要求我们能够对数据的演化规律有很清楚的把握。
然而,如果节点并不是人,而是疾病的时候,基于决策树的模型就不那么适用了。因为没有人清楚病毒的下一步行动,每个密切接触者都有可能感染病毒。下一节课要讲的就是基于概率的网络传播模型。