NeurIPS2021 《Topology-Imbalance Learning for Semi-Supervised Node Classification》 Reading Notes

Paper Introduction 类别不均衡(Class Imbalance)是真实场景中非常常见的问题。一般在我们提及类别不均衡时,默认指的是数量不均衡:即不同类中训练样本数量的不一致带来的模型于不同类别学习能力的差异,由此引起的一个严重问题是模型的决策边界会主要由数量多的类来决定 。 但是在图结构中,不同类别的训练样本不仅有在数量上的差异,也有在位置结构上的差异.这就使得图上的类别不均衡问题有了一个独特的来源:拓扑不均衡。这个工作最主要的动机就是研究拓扑不均衡的特点,危害以及解决方法,希望能够引起社区对拓扑不均衡问题的重视。 本文提出Topology-Imbalance Node Representation Learning (TINL), 主要关注拓扑不平衡导致的决策边界漂移。所谓拓扑不平衡值得是, labeled nodes的位置如果位于拓扑中的决策边界,那么会传播错误的影响。 如上图所示,颜色和色调分别表示节点从labeled node接收到的influence类型和强度,节点R1位于两类节点的拓扑边界,第一张图可以看出,两个$\mathbf{x}$节点面临influence conflict问题,两个$\mathbf{Y}$节点由于远离R2,面临影响力不足的问题。也就是,如果决策便捷有labeled node(如R1), 那么他的影响力很容易传播给另一个类的边界unlabeled节点,导致影响力冲突,从而分类错误。 而冲突较小的labeled node更可能位于类的拓扑中心(如R2),顾增加其权重,是的它在训练过程中发挥更大作用。 Understanding Topology Imbalance via Label Propagation Label Propagation中,labels从labeled node延边传播, 看做label从labeled node开始的随机游走过程。LP最终收敛状态可以认为每个节点的soft-labels: $$ \boldsymbol{Y}=\alpha\left(\boldsymbol{I}-(1-\alpha) \boldsymbol{A}^{\prime}\right)^{-1} \boldsymbol{Y}^{0} $$ 其中$\boldsymbol{A}^{\prime}=\boldsymbol{D}^{-\frac{1}{2}} A D^{-\frac{1}{2}}$,其实就是PageRank的极限分布, $\boldsymbol{Y}^{0}$为每个节点的初始one-hot label。 第$i$个节点的预测结果为$\boldsymbol{q}_{i}=\arg \max _{j} \boldsymbol{Y}_{i j}$,每个节点的预测向量反映了每个节点主要受哪个类的影响。图(a)反映了GCN与LP的预测一致性,所以LP的节点影响力边界可以作为GNN的决策边界。理想状态下,labeled node的影响力边界应与真实类边界一致,例如红色的labeled node 在LP下所传播的影响力范围,应与所有红色node的范围一致。但是如图(b)所示,蓝色的labeled node如果较多位于真实类边界,这些位于边界的节点也会传播影响力,从而导致位于边界的真是红色节点被预测为蓝色,预测边界向红色类偏移。 Measuring Topology Imbalance by Influence Conflict 可以看出,位于决策边界的labeled node 会不可避免的将影响力传播到其他类节点,因此需要衡量labeled node与其所属类的相对拓扑位置(位于类边缘还是中心)。由于Homophily, 位于类边缘的节点也具有和其邻居相似的性质,因此利用邻域特征差别来判断labeled node是否位于边缘是不可靠的。因此本文利用整个图中的节点影响力冲突,提出基于冲突检测的拓扑相对位置Conflict Detection-based Topology Relative Location metric (Totoro). ...

April 2, 2022 · 2 min · JhuoW

ICML2020 《Robust Graph Representation Learning via Neural Sparsification》 Reading Notes

Paper Introduction GNN的neighborhood aggregation中会引入邻域中任务无关的邻居,所以要移除图中有大量任务无关的边,顾本文提出NeuralSparse来解决该问题。 在构造数据集时,两个节点连接的动机可能与拿到这张图后要进行的下游任务无关,例如下游任务是节点分类,那么和这个任务相关的连接应是同类节点间产生边。但是构造图数据集是的两个节点连接的动机可能是特征相似的节点(不一定同类)。 下图给出一个例子,Blue 和 Red节点分别采样自两个独立的二维Gaussian distribution, 图1(a)显示两类节点的原始features有大量重合。对于每个节点,随机抽取10个其他节点作为他的邻居,这样生成的图(图1(b) )中的边和node label没有任何关系,即所有边都与节点分类任务无关。在这个图上做GCN得到(图1(b)下方)的node embedding,可以看到GCN学到的node embedding在任务无关的边上,无法区分两类节点。 图1(c)是DropEdge学到的node embedding,图1(d)为本文的NeuralSparse学到的node embedding。 Present work:根据监督信号来选择任务相关的边。 由sparsification network 和GNN两个模块组成. sparsification network旨在参数化稀疏过程,即在给定预算下, 为每个节点选择任务相关的一节邻居。在训练阶段,优化稀疏策略,即训练一个可以将图稀疏化的网络。在测试阶段,将测试图输入网络,得到一个稀疏化的图。 NeuralSparse Theoretical justification 首先从统计学习角度建模问题。将预测任务定义为$P(Y|G)$, 其中$Y$是预测目标,$G$是输入图。本文利用稀疏化子图来移除任务无关的边, 问题形式化为: $$ P(Y \mid G) \approx \sum_{g \in \mathbb{S}_{G}} P(Y \mid g) P(g \mid G) $$ $g$是一个稀疏化子图,$\mathbb{S}_{G}$为$G$的稀疏化子图集合。 $P(Y \mid g)$ 为给定一个稀疏化子图$g$,用$g$过GNN后预测为$Y$的概率。 $$ \sum_{g \in \mathbb{S}_{G}} P(Y \mid g) P(g \mid G) \approx \sum_{g \in \mathbb{S}_{G}} Q_{\theta}(Y \mid g) Q_{\phi}(g \mid G) $$ 用函数来近似(计算) 分布, 即给定$g$ 预测为$Y$的概率$ P(Y \mid g)$定义为一个参数为$\theta$的函数$Q_{\theta}(Y \mid g)$, 从$G$中获得子图$g$的概率$P(g \mid G)$定义为一个参数为$\phi$的函数$Q_{\phi}(g \mid G)$。 ...

April 1, 2022 · 2 min · JhuoW

NeurIPS2021 《Neo-GNNs:Neighborhood Overlap-aware Graph Neural Networks for Link Prediction》 Reading Notes

Paper Introduction 由于GNNs过度强调平滑的节点特征而不是图结构,使得在Link Prediction任务上的表现甚至弱于heuristic方法。平滑邻居难以反映邻域结构的相关性以及其他拓扑特征。 Structural information, (e.g., overlapped neighborhoods, degrees, and shortest path), is crucial for link prediction whereas GNNs heavily rely on smoothed node features rather than graph structure。 Link prediction heuristics: 基于预定义的假设的链路预测。举几个例子[1]: Common Neighbors (CN): 公共邻居较多的节点存在边(heuristic),则需要计算节点对间的公共邻居。 Preferential Attachment (PA): 一个节点当前的连接越多,那么它越有可能接受到新的连接(heuristic),这需要统计每个节点的度, i.e., $P A(x, y)=|N(x)| *|N(y)|$ Katz Index heuristic: $\sum^{\infty}_{\ell=1} \beta^{\ell}|walks(x,y)=\ell|$ 表示从$x$到$y$的所有路径数, $0<\beta<1$, 表示越长的路径权重越低。 katz Index作为Link prediction heuristic假设来作为边是否存在的预测。 本文提出了Neighborhood Overlap-aware Graph Neural Networks (Neo-GNNs)来从邻接矩阵中学习结构信息,并且估计重叠多跳邻域用于link prediction。 Preliminaries GNNs for Link Prediction $$ \hat{y}_{i j}=\sigma\left(s\left(h_{i}^{(L)}, h_{j}^{(L)}\right)\right) $$ ...

March 30, 2022 · 2 min · JhuoW

NeurIPS2021 《Representing Long-Range Context for Graph Neural Networks with Global Attention》 Reading Notes

Paper Introduction 加深GNN层数来增加感受野会导致优化不稳定性,比如梯度消失和oversmoothing。 因此本文采用Transformer-based self-attention来学习成对节点间的长距离关系,并且提出一种新型的readout池化机制来学习global graph embedding。即在一个GNN模块后接一个置换不变(permutation-invariant)Transformer, GNN模块捕获local信息,Transformer捕获global信息。 GNN作为一种专门的架构医学系节点直接邻域结构的局部表示, 而Transformer作为全局推理模块以位置无关的方式计算所有成对节点的交互。作者认为,一个没有positional encoding的Transformer是置换不变的,因此很适合图。 Motivation 强关系Inductive bias(我的理解是Homophily假设) 鼓励学习局部短距离的关联性。 而对于长距离相关性,结构化较低的模块(不需要过于考虑图的结构信息)更受欢迎。 GraphTrans leaves learning long-range dependencies to Transformer, 通过Transformer来学习图中所有节点对的依赖关系而不是只关注局部邻居。 下图中展示了一个子图的attention map。一共有17个节点,横坐标表示目标节点,纵坐标表示源节点,第$i$行第$j$列表示节点$i$在Transformer中聚合$j$的attention权重。第18行为一个特殊的$<CLS>$token 作为图的readout embedding。结合本文的SOTA效果,表面在学习长距离依赖时不考虑图结构先验(spatial priors)对Graph summarization(graph-level representation)是有必要的 Model GNN Module 一个通用的GNN模块: $$ \boldsymbol{h}_{v}^{\ell}=f_{\ell}\left(\boldsymbol{h}_{v}^{\ell-1},\left\{\boldsymbol{h}_{u}^{\ell-1} \mid u \in \mathcal{N}(v)\right\}\right), \quad \ell=1, \ldots, L_{\mathrm{GNN}} $$ Transformer Module 通过上面的GNN模块,我们可以得到每个节点的embedding $h_{v}^{L_{\mathrm{GNN}}}$, 将所有节点作为Transformer的Input。传统Transformer中输入先计算Self-attention(当前输入的$Q$向量和所有节点的$K$向量做内积得到输入节点和其他节点的att值,再用这个att值来为当前输入节点加权聚合所有节点的$V$向量),聚合后再和自身相加做residual,然后在做Layer Norm, 即对节点$i$的表示做Layer Norm 为$x_i^\prime = \frac{x_i-m}{\sigma}$, 其中$m$为$x_i$的均值, $\sigma$为$x_i$的标准差。 这里的Transformer不同的是, 先对所有节点做一次MLP,然后直接计算Layer Norm: $$ \overline{\boldsymbol{h}}_{v}^{0}=\operatorname{LayerNorm}\left(\boldsymbol{W}^{\text {Proj }} \boldsymbol{h}_{v}^{L_{\mathrm{GNN}}}\right) $$ 其中$\boldsymbol{W}^{\text {Proj }} \in \mathbb{R}^{d_{\mathrm{TF}} \times d_{L_{\mathrm{GNN}}}}$, 把GNN的输出维度转为TF的输入维度$d_{\mathrm{TF}}$。将所有节点的GNN node embeddings作为Transformer的输入(无positional encoding)。 每个节点的$Q$, $K$和$V$向量分别用$\boldsymbol{W}_{\ell}^{Q}, \boldsymbol{W}_{\ell}^{K}, \boldsymbol{W}_{\ell}^{V} \in \mathbb{R}^{d_{\mathrm{TF}} / n_{\text {head }} \times d_{\mathrm{TF}} / n_{\text {head }}}$计算, 对于第$\ell$层 Transformer, 节点$v$ 的$Q$向量$Q_v = \boldsymbol{W}_{\ell}^{Q} \overline{\boldsymbol{h}}_{v}^{\ell-1}$和节点$u$的$K$向量$K_u = \boldsymbol{W}_{\ell}^{K} \overline{\boldsymbol{h}}_{u}^{\ell-1}$做内积,得到两个节点之间的attention。然后用$\alpha_{v, u}^{\ell}$来为节点$v$聚合其他所有节点的$V$向量$V_u = \boldsymbol{W}_{\ell}^{V} \overline{\boldsymbol{h}}_{u}^{\ell-1}$, 如下所示: $$ a_{v, u}^{\ell}=\left(\boldsymbol{W}_{\ell}^{Q} \overline{\boldsymbol{h}}_{v}^{\ell-1}\right)^{\top}\left(\boldsymbol{W}_{\ell}^{K} \overline{\boldsymbol{h}}_{u}^{\ell-1}\right) / \sqrt{d_{\mathrm{TF}}} \tag{1} $$ ...

March 30, 2022 · 1 min · JhuoW

NeurIPS2021 《Not All Low-Pass Filters are Robust in Graph Convolutional Networks》 Reading Notes

paper Introduction 很多GNN易受图结构攻击的影响,本文首先证明了symmetric normalized laplacian的低频分量作为GCN的filter,在某个特征值区间内对于结构扰动更加robust。基于该理论提出GCN-LFR,通过一个辅助神经网络迁移低频分量的robustness。 Q: 对抗扰动边是否会对graph spectrum产生同等的影响?过去的研究显示来自结构攻击的扰动在图谱上表达了一种隐含的趋势。如下图所示,结构扰动后,小的特征值(低频)变化较小, 高频变化较大,即高频对扰动更加敏感。 本文证明了当normalized symmetric laplacian的特征值落于某个特定区间时,低频分量会更加robust。 Methodology Poisoning Attack是指训练前扰动: Problem 1 (Poisoning Attack): 给定一个扰动图 $\mathcal{G}^\prime$, 要对目标集合$\mathcal{T}$做对抗防御的目的是设计一个更加鲁棒的模型,使得模型在扰动图上训练后对$\mathcal{T}$中节点的预测结果和在原图上训练得到的预测结果相似: $$ \min_{\boldsymbol{\Theta}^{r *}} \sum_{u \in \mathcal{T}}\left|\left|\mathcal{M}_{u}^{r}\left(\boldsymbol{A}^{\prime}, \boldsymbol{X} ; \boldsymbol{\Theta}^{r *}\right)-\mathcal{M}_{u}\left(\boldsymbol{A}, \boldsymbol{X} ; \boldsymbol{\Theta}^{*}\right)\right|\right| $$ 即模型可以尽可能避免扰动对预测带来的影响。 其中$\mathcal{M}_{u}^{r}\left(\boldsymbol{A}^{\prime}, \boldsymbol{X} ; \boldsymbol{\Theta}^{r *}\right)=\hat{\boldsymbol{y}}_{u}^{r}$模型在扰动图上训练过后对节点$u$的预测,$\mathcal{M}_{u}^{r}$是在扰动图上训练过后的模型,最佳参数为$\boldsymbol{\Theta}^{r *}$, $\mathcal{M}$是在原图上训练过后的模型。 观察$\hat{\boldsymbol{A}}$的特征值, 因为$\hat{\boldsymbol{A}} = I - L$, 所以$\hat{\boldsymbol{A}}$的大特征值对应于低频分量,小特征值对应于高频分量。 从图1可以看出$\hat{\boldsymbol{A}}$的大特征值对于结构扰动更加鲁棒, 因为扰动之后大特征值的变化较小。所以GCN-SVD只是用最低频的分量来做defense. 接下来本文证明了只有一条边被扰动的情况下,一定存在低频$\lambda_b$,比所有高频都robust, 鲁棒区间为: $$ \max \left(0, \frac{d_{b}-d_{a}+c_{a} \lambda_{a}}{c_{b}}\right)<\lambda_{b}<\min \left(\frac{d_{b}+d_{a}-c_{a} \lambda_{a}}{c_{b}}, 1\right) $$ 即,当特征值落于这个区间中时,它一定比高频更加鲁棒。 对于Non-targeted Perturbation, 图中有多条边被扰动,那么特征值的鲁棒区间为: $$ \max_{v \in \mathcal{P}_{u}, u \in \mathcal{T}}\left(0, \frac{d_{b u v}-d_{a u v}+c_{a u v} \lambda_{a}}{c_{b u v}}\right)<\lambda_{b}<\min_{v \in \mathcal{P}_{u}, u \in \mathcal{T}}\left(\frac{d_{b u v}+d_{a u v}-c_{a u v} \lambda_{a}}{c_{b u v}}, 1\right) $$ 在得到不同扰动情况下的鲁棒区间后,我们可以基于鲁棒区间来增强GCN的鲁棒性。 ...

March 29, 2022 · 1 min · JhuoW

ICLR2020 《Inductive and Unsupervised Representation Learning on Graph Structured Objects》 Reading Notes

Paper Code Introduction 无监督图学习算法基于重构损失,不可避免的需要图相似度计算(重构embedding和输入embedding的loss), 计算复杂度较高。本文提出一种通用的归纳式无监督图学习算法SEED(Sampling, Encoding, and Embedding Distributions)。通过计算采样子图的重构损失来代替整个图的重构损失。 即 先采样子图,在用GNN编码子图,最后计算子图分布的embedding来作为整个图的representation. 过程如下图所示: SEED: Sampling, Encoding, and Embedding Distributions Anonymous Random Walk Definition 1 (Random Anonymous Walks[1]): Given a random walk $\mathbf{w}=(w_1, \cdots, w_l)$ where $\langle w_i, w_{i+1} \rangle \in E$, the anonymous walk for $\mathbf{w}$ is defined as: $$ \mathrm{aw}(\mathbf{w}) = (\mathrm{DIS}(\mathbf{w}, w_1),\mathrm{DIS}(\mathbf{w}, w_2),\cdots, \mathrm{DIS}(\mathbf{w}, w_l) ) $$ where $\mathrm{DIS}(\mathbf{w}, w_i)$ denotes the number of distinct nodes in $\mathbf{w}$ when $w_i$ first appears in $\mathbf{w}$, i.e. $$ \mathrm{DIS}(\mathbf{w}, w_i) = |{w_1, \cdots w_p}|, \quad p = \min_j {w_j=w_i} $$ 匿名随机游走和随机游走的不同在于,匿名随机游走描述了随机游走的潜在“patterns”, 不管具体被访问的节点是什么。 距离来说,给定两条随机游走序列 $\mathbf{w_1}=(v_1, v_2, v_3, v_4, v_2)$ 和$w_2=(v_2, v_1, v_3, v_4, v_1)$, 这两个RW相关联的匿名随机游走是一样的,即$\mathrm{aw}(\mathbf{w_1}) = \mathrm{aw}(\mathbf{w_2}) = (1,2,3,4,2)$, 即使$\mathbf{w_1}$和$\mathbf{w_2}$访问不同的节点。即每个节点在RW中首次被访问时的位置就是这个点在ARW中的id,如在$\mathbf{w_2}$中,$v_1$首次访问是在第二个时刻,那么他的id就是2,在ARW中用2表示。 ...

March 28, 2022 · 2 min · JhuoW

NIPS2018 《DiffPool:Hierarchical Graph Representation Learning with Differentiable Pooling》 Reading Notes

论文地址: DiffPool Introduction 传统的GNN算法在Node-level的任务如节点分类、链路预测上有着较好的效果。但是,现有的GNN方法由于其存在平面化的局限性,因此无法学习图的层级表示(意味着无法预测整个图的标签),顾无法实现图分类任务。举个栗子,一个Graph,可以分成600个subgraph,每个节点都存在于其中的某个subgraph(一个节点只存在于一个subgraph中),每个subgraph拥有一个标签,如何预测subgraph的标签是这篇文章主要想解决的问题。传统的GNN的图分类方法都是为Graph中的所有节点生成Embedding,然后将对这些Embedding做全局聚合(池化),如简单的把属于同一个subgraph的节点求和或者输入到MLP中生成一个标签向量来表示整个subgraph,但是这样可能忽略的图的层级结构信息。 本文提出了一种端到端的可微可微图池化模块DiffPool,原理如下图所示: 在深度GNN中的每层中为节点学习可微的软簇分配,将节点映射到簇中,这些簇作为新的节点作为下一层GNN的输入。上图的Original Network部分是一个Subgraph,传统的方法是直接求出这个Subgraph中每个节点的Embedding,然后相加或输入到一个神经网络中,得到一个预测向量,这种方法可以称为“全局池化”。DiffPool中,假设第$l$层的输入是$1000$个簇(如果是第一层输入就是1000个节点),我们先设置第$l+1$层需要输入的簇的个数(假设为$100$),也就是第$l$层输出的簇个数,然后在$l$层中通过一个分配矩阵将$1000$个簇做合并,合并成100个“节点”,然后将这100个节点输入到$l+1$层中,最后图中的节点数逐渐减少,最后,图中的节点只有一个,这个节点的embedding就是整个图的表示,然后将图输入到一个多层感知机MLP中,得到预测向量,在于真值的one-hot向量做cross-entropy,得到Loss。 Model:DiffPool 一个Graph表示为$\mathcal{G} = (A,F)$,其中$A \in {0,1}^{n \times n}$是Graph的邻接矩阵,$F \in \mathbb{R}^{n \times d}$表示节点特征矩阵,每个节点有$d$维的特征。给定一个带标签的子图集$\mathcal{D}=\left\{\left(G_{1}, y_{1}\right),\left(G_{2}, y_{2}\right), \ldots\right\}$, 其中 $y_{i} \in \mathcal{Y}$表示每个子图$G_i \in \mathcal{G}$的标签,任务目标是寻找映射$f: \mathcal{G} \rightarrow \mathcal{Y}$,将图映射到标签集。我们需要一个过程来将每个子图转化为一个有限维度的向量$\mathbb{R}^D$。 Graph Neural Networks 一般,GNN可以表示成"Message Passing"框架: $$ H^{(k)}=M\left(A, H^{(k-1)} ; \theta^{(k)}\right) $$ 其中$H^{(k)} \in \mathbb{R}^{n \times d}$表示GNN迭代$k$次后的node embedding,$M$是一个Message扩散函数,由邻接矩阵$A$和一个可训练的参数$\theta^{(k)}$决定。$H^{(k-1)}$是由前一个message passing过程生成的node embedding。当$k = 1$时,第一个GNN的输入为$H^{(0)}$是原始的节点特征$H^{(0)} = F$。 GNN的一个主要目标是设计一个Message Passage函数$M$,GCN(kipf.2016)是一种流行的GNN,$M$的实现方式是将线性变换和ReLU非线性激活结合起来: $$ H^{(k)}=M\left(A, H^{(k-1)} ; W^{(k)}\right)=\operatorname{ReLU}\left(\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(k-1)} W^{(k-1)}\right) $$ 其中,$\tilde{A} = A+I$是一个加上自环的邻接矩阵,$\tilde{D}=\sum_{j} \tilde{A}_{i j}$是$\tilde{A}$的度矩阵,$W^{(k)} \in \mathbb{R}^{d \times d}$是一个可训练的权重矩阵,$W$与节点个数以及每个节点的度无关,可以看做一个特征增强矩阵,用来规定GCN的输出维度。 ...

December 19, 2019 · 1 min · JhuoW

AAAI2017 M-NMF:《Community Preserving Network Embedding》 Reading Notes

论文地址:M-NMF Introduction Network Embedding的基本需求是保存网络机构和固有属性。而先前的方法主要保存了网络的围观结构(microscopic structure)如一阶相似度和二阶相似度(LINE,SDNE等), 忽略了网络结构的介观社区结构(mesoscopic community structure)。针对这个问题,本文提出了一种模块化非负矩阵分解模型M-NMF,该模型将网络的社区结构融入network embedding中。利用节点表示和社区结构之间的一致关系(consensus relationship), 联合优化基于非负矩阵分解的表示学习模型和基于模块化的社区发现模型, 这样就可以在节点表示中同时保存了微观网络结构和介观社区结构。 具体来说,对于微观结构(节点对相似性),本文使用矩阵分解来融合节点的一节相似性和二阶相似性;对于介观社区结构,通过模块度约束项来检测社区。因此,上面的两项可以通过节点的表示和基于辅助社区表示矩阵社区结构之间的一致关系来联合优化。同时,本文给出了乘法更新策略,保证了再推导参数的时候的正确性和收敛性。 M-NMF Model 对于一个无向图$G=(V,E)$, 图中有$n$个节点和$e$条边,用一个0,1二值邻接矩阵表示为$\mathbf{A}=[A_{i,j}] \in \mathbb{R}^{n \times n}$。 $\mathbf{U} \in \mathbb{R}^{n \times m}$ 为节点的表示矩阵,其中$m \leq n$,$m$是节点的嵌入维度。 建模社区结构 本文采用基于模块最大化的社区发现方法 Modularity, 给定一个邻接矩阵表示的网络$\mathbf{A}$,$\mathbf{A}$包含两个社区,根据Newman 2006b,模块度可以定义如下: $$ Q=\frac{1}{4 e} \sum_{i j}\left(A_{i j}-\frac{k_{i} k_{j}}{2 e}\right) h_{i} h_{j} $$ 其中,$k_i$表示节点$i$的度,如果$i$在第一个社区中,那么$h_i=1$,否则$h_i = -1$。 $k_ik_j$表示将所有边一分为二 参考模块度Q,那么节点$i$,$j$之间可能产生的边数。$\frac{k_{i} k_{j}}{2 e}$如果所有边随机放置,节点$i$,$j$之间的期望边数。定义一个模块度矩阵$\mathbf{B} \in \mathbb{R}^{n \times n}$,其中$B_{i,j}=A_{i,j}-\frac{k_{i} k_{j}}{2 e}$,那么$Q=\frac{1}{4 e} \mathbf{h}^{T} \mathbf{B h}$,其中$\mathbf{h}=[h_i] \in \mathbb{R}^n$,表示社区成员指标器。 如果将$Q$拓展到$k > 2$个社区,那么: $$ Q=\operatorname{tr}\left(\mathbf{H}^{T} \mathbf{B H}\right), \quad \text { s.t. } \quad \operatorname{tr}\left(\mathbf{H}^{T} \mathbf{H}\right)=n $$ 其中$tr()$表示矩阵的迹(主对角线元素和),$\mathbf{H}$是社区成员指标器,$\mathbf{H} \in \mathbb{R}^{n \times k}$,每行表示一个节点所属社区的one-hot编码。 ...

May 29, 2019 · 1 min · JhuoW

WSDM2016 《Representation Learning for Information Diffusion through Social Networks:an Embedded Cascade Model》 Reading Notes

文章链接:Embedding_IC Introduction 本文基于Network Embedding优化了传统的独立级联模型(IC),用以学习一个更具鲁棒性的扩散概率。 对于网络和社交数据,分析用户交互来为扩散现象建模具有以下困难: 用户通常是异质的,伴随着不同的行为或兴趣。并且他们通过各种通道同时交互。 用户之间的关系很难检测和表征。 例如,在信息传播过程中,不经常交互的用户之间的“弱关系”很重要,而它们很难被捕获。 不同应用中的级联长度变化很大,难以学习和预测。 本文的目的是通过从观察中学习来开发扩散模型。为此,本文专注于独立级联模型(IC),该模型定义了网络中的扩散迭代过程。在这种情况下,建模扩散的问题归结为__学习表征用户间隐含的相互影响关系的概率分布__,以便发现网络的主要通信通道。我们在此考虑的模型执行以下假设: 影响传播是二元的(被感染或不被感染), 扩散网络未知, 影响关系不依赖于传播的内容, 用户之间的感染概率不会随时间变化(一旦分配了两个节点间的感染概率,那么该概率固定)。 本文基于NE,将扩散空间建模为一个连续的潜在空间,用户间的相对位置用于定义内容传输的可能性。用户靠的越近,传播概率越高。如下图所示: Model Notations 传播事件集$\mathcal{D}={D_1,D_2,…,D_n}$ 可以视为一个graph中的$n$个级联(cascade)。其中,一个传播事件$D$是一个带有时间戳的用户集。值得注意的是,级联中的用户并不知道是谁传染它,仅知道它何时被传染。 给定一个社交网络,有$N$个用户:$\mathcal{U}={u_1,u_2,…,u_N}$,一个传播级联$D$可以定义为user和它的timestamp的集合:$D = {(u,t^D(u)) | u \in \mathcal{U} \wedge t^D(u)< \infty}$, 其中,$t^D: \mathcal{U} \to \mathbb{R}^+$ 表示用户被传染的时间戳, $\infty$表示未被传染的用户。每个用户的时间戳$t^D$表示该用户相对于源用户(source user)被传染的时间,$t^D(source \quad user) = 0$。接下来,用$D(t)$表示在时间戳$t$之前被传染的用户:$D(t) = {u \in \mathcal{U} | t^D(u)<t}$。对称地,用$\bar{D}(t)$表示在时间戳$t$之前没有被感染的用户。 $D(\infty)$表示最终所有被感染的用户,$\bar{D}(infty)$表示最终所有没被感染的用户。 Diffusion Model 本文将级联embed到连续空间中,用以捕获扩散关系的规律性。本文只考虑传播的顺序,而不是确切的感染时间戳。 在Embedding_IC中,在一个传播事件(级联)$D$中,一个用户是否被感染的概率取决于先前所有已经被感染的节点。给定一个已经被影响的用户集$I \in \mathcal{U}$, $P(v|I)$表示给定活跃用户集$I$时,节点$v$被传染的概率,其中$v \in \mathcal{U} \backslash I$: $$ P(v|I) = 1-\prod_{u \in I}(1-P_{u,v}) $$ 上式中,$\prod_{u \in I}(1-P_{u,v})$表示$I$中所有节点都不影响$v$的概率。那么$P(v|I)$就可以表示$v$被感染的概率。 ...

May 12, 2019 · 1 min · JhuoW

SIGIR18 《BiNE:Bipartite Network Embedding》 Reading Notes

论文地址:BiNE Introduction Bipartite Network(二分网络):如下图所示: 二分网络将节点分为两种类型,其中 边存在于两种类型之间,例如users-items组成的推荐网络,相同类型节点间不会产生边。传统的Network Embedding将bipartite network视为同质网络(homogeneous network), 也就是仅考虑直接联系的边。这样就存在一个问题,即在同一个类型中的节点,虽然没有直接的连接,但是也可能有间接的关系。比如两个用户同时连接到同一个商品,则这两个用户可能有有相同的购买偏好。 另一个问题, 如上两图所示, 图一可以看出,节点被访问的词数和考虑到的节点数呈现斜率为-1.582的幂律分布,但是基于随机游走的生成器相对于真实分布有所偏差, 文中分析原因在于基于随机游走的模型DeepWalk为每个节点生成相同长度的节点序列(walk_length)并且每个节点所需要的随机游走次数(walk per vertex)也是完全相同的,这样无法反应网络的特征以及异构性。 另外,对于Heterogeneous Network Embedding方法metapath2vec++, 此方法是次优的因为它将直接连接的节点与间接有关系的节点视为等价。 针对以上问题,BiNE为直接连接和间接关系分别设计了专用的目标函数,并且联合优化。 并且,所及游走的长度由该节点的重要程度决定,节点的重要程度通过HITS来衡量。 Model 如figure中的二分网络, 可以这样定义:$G=(U,V,E)$,和一个$|U| \times |V|$的$W=[w_{ij}]$为权重矩阵。输出d维embedding向量$U=[\overrightarrow{u_i}]$, $V=[\overrightarrow{v_i}]$,结构如下图所示: (取自作者的讲解ppt) Explicit Relations 同LINE一样, 基于直接连接的目标函数表示为: $$\mathrm{minimize} \quad O_1=-\sum_{e_{ij} \in E}w_{ij}\log \hat{P}(i,j)$$ Implicit Relations 构造随机游走序列 这是本文的创新点,分别为$U$和$U$构建语料库,即随机游走序列$D^U$和$D^V$。 首先给出两个同type节点相似度的定义: $$w^U_{ij}=\sum_{k \in V}w_{ik}w_{jk}$$ $$w^V_{ij}=\sum_{k \in U}w_{ki}w_{kj}$$ 其中$i$和$j$是为$U$或$V$中的同类节点,也就是说两个同类节点如果有共同目标顶点,那么他们的2介相似度不为0。 则$U$中的二阶权重矩阵$|U|\times|U|$维矩阵$W^U=[w^U_{ij}]$。$V$中同理。 其中$l=\max(H(v_i)\times \max T,\min T)$, $H(v_i)$为节点$v_i$的中心性,中心性由HITS衡量。$l$为节点$v$的random walk次数(the number of random walks),有这个节点的重要程度(centrality/importance)决定。 $$D_{v_i}=\mathrm{BiasedRandomWalk}(W^R,v_i,p)$$ 表示其中一次随机游走的节点集合$p$表示停止概率。 通过上面的推导,可以对分别对$U$,$V$中的节点构早随机游走序列,以$U$为例,若$S\in D^U$表示 那么$S$就是$U$中的一个随机游走序列。 ...

March 13, 2019 · 1 min · JhuoW