| 第56行: |
第56行: |
| | | | |
| | 每条原始记录的格式为: | | 每条原始记录的格式为: |
| − | <math>(t,\ \textit{referrer},\ \textit{host},\ \textit{path})</math> | + | <math>(t,\ \textit{referrer},\ \textit{host},\ \textit{path})</math>, |
| | 其中: | | 其中: |
| | * <math>t</math>:时间戳(Unix time) | | * <math>t</math>:时间戳(Unix time) |
| 第71行: |
第71行: |
| | | | |
| | ====统计有向转移流量<math>f_{ij}</math>==== | | ====统计有向转移流量<math>f_{ij}</math>==== |
| − | * 忽略时间戳<math>t</math>,对给定索引<math>i</math>与<math>j</math>的网站对统计用户从<math>i</math>跳转到<math>j</math>的转移次数:
| + | 忽略时间戳<math>t</math>,对给定索引<math>i</math>与<math>j</math>的网站对统计用户从<math>i</math>跳转到<math>j</math>的转移次数,定义为 |
| − | **<math>f_{ij}</math>:从网站 $i$ 到网站 $j$ 的流量(流量大小由跃迁次数计)。
| + | * <math>f_{ij}</math>,也就是从网站<math>i</math>到网站<math>j</math>的流量(流量大小由跃迁次数计)。 |
| − | * 若记录中出现<math>\textit{referrer}</math>为空/缺失(null string),表示该跃迁在观测数据中没有来源站点,则把它视为来自系统外部的输入,把<math>\textit{null}</math>映射为''源节点(source)''对应的流入。
| + | |
| | + | 若记录中出现<math>\textit{referrer}</math>为空/缺失(null string),表示该跃迁在观测数据中没有来源站点,则把它视为来自系统外部的输入,把<math>\textit{null}</math>映射为''源节点(source)''对应的流入。 |
| | | | |
| | ==== 2.3 引入源节点与汇节点表示“离线世界” ==== | | ==== 2.3 引入源节点与汇节点表示“离线世界” ==== |
| − | * 增加两个特殊节点:
| + | 增加两个特殊节点: |
| − | ** 节点 $0$:源节点 source(系统外部流入环境)
| + | * 节点<math>0</math>:源节点 source(系统外部流入环境) |
| − | ** 节点 $N+1$:汇节点 sink(系统外部流出环境)
| + | * 节点<math>N+1</math>:汇节点 sink(系统外部流出环境) |
| − | * 因为原始点击流数据只记录在线跃迁,不会记录用户何时下线,因此需要人为补全''到汇节点的耗散流(dissipation)''。 | + | *因为原始点击流数据只记录在线跃迁,不会记录用户何时下线,因此需要人为补全''到汇节点的耗散流(dissipation)''。 |
| − | | |
| − | ==== 2.4 网络平衡(Flow balancing)以补全耗散流 ====
| |
| − | 开流网络要求在稳态假设下满足平衡:对任意网站节点 $i$,
| |
| − | * 节点 $i$ 的总流入 = 节点 $i$ 的总流出
| |
| − | * 为了让“流出”包含未观测的下线行为,需要为每个节点 $i$ 添加其到汇节点的耗散流 $f_{i,N+1}$,使得平衡条件成立。
| |
| − | | |
| − | ==== 2.5 得到注意力流通量矩阵(Flux matrix) ====
| |
| − | 最终得到大小为 $(N+2)\times (N+2)$ 的通量矩阵(注意力流网络):
| |
| − | * 记为 $F$,其中 $F_{ij}=f_{ij}$
| |
| − | * 定义:
| |
| − | ** 节点 $0$ 为源节点,节点 $N+1$ 为汇节点
| |
| − | ** $f_{i,N+1}$ 表示网站 $i$ 的''注意力耗散(dissipation)''
| |
| − | ** $\sum_{j=0}^{N+1} f_{ij}$ 与 $\sum_{j=0}^{N+1} f_{ji}$ 描述系统中流量守恒与节点的重要性
| |
| − | ** 且论文中将总注意力流(总流量/traffic)表述为 $\sum_{j=1}^{N+1} f_{ij}$(其中包含流向汇节点的部分)。
| |
| − | | |
| − | === 3.(后续使用)由开流网络计算流距离并用于嵌入 ===
| |
| − | 虽然上节给出的是''网络构建'',但论文进一步定义流距离以便度量网站之间的“注意力流可达性/平均跳数”,并将网络嵌入到欧氏空间。
| |
| | | | |
| − | ==== 3.1 由通量矩阵构造马尔可夫转移矩阵 ==== | + | ==== 2.4 网络平衡以补全耗散流 ==== |
| − | 先把流量归一化为转移概率矩阵 $M$:
| + | 开流网络要求在稳态假设下满足平衡:对任意网站节点<math>i</math>, |
| − | <math> | + | * 节点<math>i</math>的总流入 = 节点<math>i</math>的总流出 |
| − | m_{ij}=\frac{f_{ij}}{\sum_{k=1}^{N+1} f_{ik}}
| + | 为了让“流出”包含未观测的下线行为,需要为每个节点<math>i</math>添加其到汇节点的耗散流<math>f_{i,N+1}</math>,使得平衡条件成立。 |
| − | </math> | |
| − | 其中 $m_{ij}$ 表示从节点 $i$ 跳转到节点 $j$ 的概率。
| |
| | | | |
| − | ==== 3.2 定义流距离(Flow distance) ==== | + | ==== 2.5 得到注意力流通量矩阵 ==== |
| − | 流距离 $l_{ij}$ 被定义为:从 $i$ 出发的用户在''首次到达'' $j$ 之前,沿所有可能路径的平均跳数(考虑源/汇结构带来的开流网络特性)。该量由马尔可夫链的伪概率(伪幂级数)构造得到。
| + | 最终得到大小为<math>(N+2)\times (N+2)</math>的通量矩阵(注意力流网络)记为 $F$,其中 $F_{ij}=f_{ij}$ |
| | | | |
| − | ==== 3.3 构造对称流距离以便欧氏嵌入 ====
| + | 定义: |
| − | 由于 $l_{ij}$ 一般不对称,论文用
| + | *节点<math>0</math>为源节点,节点<math>N+1</math>为汇节点 |
| − | <math> | + | *<math>f_{i,N+1}</math>表示网站<math>i</math>的''注意力耗散(dissipation)'' |
| − | c_{ij}=l_{ij}+l_{ji}
| + | *<math>\sum_{j=0}^{N+1} f_{ij}</math>与<math>\sum_{j=0}^{N+1} f_{ji}</math>描述系统中流量守恒与节点的重要性 |
| − | </math> | + | *总注意力流为<math>\sum_{j=1}^{N+1} f_{ij}</math>,其中包含流向汇节点的部分。 |
| − | 构造对称流距离 $C$,用于后续把节点嵌入欧氏空间。
| |
| | | | |
| | 通过上述构建得到的“集体注意力流网络”,可以用于: | | 通过上述构建得到的“集体注意力流网络”,可以用于: |