扩散模型理论与实现

  1. 传播模型分很多种类,其中 大多数以随机模型(stochastic models) 来 描 述,也 有 用 博 弈 论 模 型(g a m e - theoretic models)来描述的。
  2. 随机模型又可分为离散时间和连续时间模型、递进性(progressive)和非递进性(non-progressive)模型等。递进性模型的节点状态不会发生改变,非递进性会发生改变。重点在于经典的离散时间递进性模型
  3. 影响扩散模型是用于控制某种行为将如何在用户中扩散。

一、 独立级联模型

1、前提:

  • 有向边(u,v) 之间都有一个激活成功概率 p(u,v)。即节点u 通过边(u,v) 独立的激活节点v。
  • 节点v的所有出度的用基于扩散模型pytorch实现 扩散效应理论模型_linux表示,入度用基于扩散模型pytorch实现 扩散效应理论模型_python_02表示。
  • 任何一个节点u 对它的任何一个出邻居 v 只有一次尝试激活机会,且发生在节点u刚被激活的下一时刻。

2、在离散时间的传播过程

  • t = 0 时刻,种子节点seed set 作为初始节点首先被激活,其他节点均属于不活跃状态。
  • 基于扩散模型pytorch实现 扩散效应理论模型_级联_03
  • 只有当某一时刻,不再有新的节点被激活,则传播过程结束。

3、影响力延展度

传播结束后被激活节点个数的期望值,基于扩散模型pytorch实现 扩散效应理论模型_级联_04表示,称为(最终)影响力延展 度(influence spread)。

思考:

限制节点激活的时间和机会看似局限,但是其实如果只关心最后的influence spread,则激活的次数和时间并不重要,只需要关心最后是否激活,用p(u,v) 表示节点u尝试激活节点v的总成功概率即可。

4、适用场景

很多简单实体(如新消息 在在线网络的传播或新病毒在人际间的传 播)很符合独立传播的特性。

二、线性阈值模型

1、前提

  • 有向边 (u, v) 都有一个权重 w(u, v) 基于扩散模型pytorch实现 扩散效应理论模型_linux_05
  • 每一节点v还有一个被影响阈值基于扩散模型pytorch实现 扩散效应理论模型_基于扩散模型pytorch实现_06 基于扩散模型pytorch实现 扩散效应理论模型_linux_05

2、在离散时间的传播过程

  • t = 0 时刻,种子节点seed set 作为初始节点首先被激活,其他节点均属于不活跃状态。
  • 基于扩散模型pytorch实现 扩散效应理论模型_级联_03
  • 只有当某一时刻,不再有新的节点被激活,则传播过程结束。

思考:

节点v的入邻居对节点v的影响不像独立级联模型一样是独立的,在线性阈值模型里面是联合的。可能任何一个入邻居都不 能单独激活节点v,但几个入邻居联合起来 就可能使对节点v的影响力权重超过节点v 的阈值,从而激活节点v。

3、使用场景

人类行为中在面对一个相对复杂选择时(如购买 新型手机、选择移民、参与暴乱等)经常出现的从众行为。