LINE: Large-scale Information Network Embedding
概述
- LINE是一种Graph Embedding的方法,在非NN的方法中是比较好的。
- LINE的提出:考虑到因式分解的方法只适用于无向图、且只考虑一阶的相似关系;而DeepWalk方法没有明确表现出维持了什么特征。
- 所以LINE实现了可用于有向无向图、有权无权,以及维持了局部和全局结构(主要是二阶)。另外提出了一种边采样方法。
依据:真是世界的网络中,很多关系是没能被直接观测到的(即一阶相似性first-order),但他们可以通过邻居实现间接关联的(二阶相似性second-order)
定义
- 图、点、边——G、V、E,权重用w
- 一阶相似性,指直接相连的两个点(即边),权重即相似性,不相连则为0;一阶相似性通常表示两个直接关联物体,
- 二阶相似性,指结点的邻居之间的相似性。pu=(wu,1,...,wu,∣V∣)p_u=(w_{u,1},...,w_{u,|V|})pu=(wu,1,...,wu,∣V∣)表示结点u与邻居的的一阶相似性,则二阶相似性用pup_upu和pvp_vpv表示,若u,v没有共同邻居,则二阶相似性为0
- LINE(Large-scale Information Network Embedding)
建模
- 一阶相似性建模
p1(vi,vj)=11+exp(−u⃗iT⋅u⃗j)p_1(v_i,v_j)=\frac{1}{1+exp(-\vec{u}^T_i \cdot \vec{u}_j)}p1(vi,vj)=1+exp(−uiT⋅uj)1
其中
u⃗i∈Rd\vec{u}_i \in R^dui∈Rd是结点viv_ivi的低维向量表示
p(⋅,⋅)p(\cdot,\cdot)p(⋅,⋅)是空间V*V的分布,其经验概率为p^1(i,j)=wijW\hat{p}_1(i,j)=\frac{w_{ij}}{W}p^1(i,j)=Wwij,W=∑(i,j)∈EwijW=\sum_{(i,j)\in E}w_{ij}W=∑(i,j)∈Ewij
那么为了保持一阶相似性,则最小化目标函数:
O1=d(p^1(⋅,⋅),p1(⋅,⋅))O_1=d(\hat{p}_1(\cdot,\cdot),p_1(\cdot,\cdot))O1=d(p^1(⋅,⋅),p1(⋅,⋅))
d(⋅,⋅)d(\cdot,\cdot)d(⋅,⋅)表示两个分布的距离,如KL散度则为
O1=−∑(i,j)∈Ewijlogp1(vi,vj)O_1=-\sum_{(i,j)\in E}w_{ij} \log p_1(v_i,v_j)O1=−(i,j)∈E∑wijlogp1(vi,vj)
注意:一阶相似性只适用于无向图
- 二阶相似性
p2(vj∣vi)=exp(u⃗k′⋅u⃗i)∑k=1∣V∣exp(u⃗k′⋅u⃗i)p_2(v_j|v_i)=\frac{exp(\vec{u}'_k\cdot \vec{u}_i)}{\sum_{k=1}^{|V|} exp(\vec{u}'_k\cdot \vec{u}_i)}p2(vj∣vi)=∑k=1∣V∣exp(uk′⋅ui)exp(uk′⋅ui)
其中
u⃗i′\vec{u}'_iui′是结点viv_ivi的“上下文”(邻居)低维向量表示
同样,使得环境的条件概率分布和经验条件概率近似
O2=∑i∈Vλid(p^2(⋅∣vi),p2(⋅∣vi))O_2=\sum_{i\in V}\lambda_{i} d(\hat{p}_2(\cdot|v_i),p_2(\cdot|v_i))O2=i∈V∑λid(p^2(⋅∣vi),p2(⋅∣vi))
p^2(⋅∣vi)=wijdi\hat{p}_2(\cdot|v_i)=\frac{w_{ij}}{d_i}p^2(⋅∣vi)=diwij,di是结点i的出度,di=∑k∈N(i)wikd_i=\sum_{k\in N(i)} w_{ik}di=∑k∈N(i)wik
O2=−∑(i,j)∈Ewijlogp2(vj∣vi)O_2=-\sum_{(i,j)\in E}w_{ij} \log p_2(v_j|v_i)O2=−(i,j)∈E∑wijlogp2(vj∣vi)
以后再补吧。。。