hyper2Vec论文整理

文章目录

  • hyper2Vec
  • 参考文献

hyper2Vec

超网络(hyper-network):具有顶点集V和边集E的超图 G ( V , E ) G(V,E) G(V,E) G ( V , E , W ) G(V,E,W) G(V,E,W)表示每个超边具有 W ( e ) W(e) W(e)权重的超图,如果一个点在一条边内 ( v ∈ e ) (v \in e) (ve),则 h ( v , e ) = 1 h(v,e)=1 h(v,e)=1否则等于 0 0 0

超边(hyperedge):表示在不确定个数顶点之间的关系 ( e ∈ E ) (e\in E) (eE)

hyper2vec为了保持高阶邻近性,在Skip-gram跳字模型的框架下提出了一种有效且可扩展的有偏 2 n d 2^{nd} 2nd阶随机游走模型, ( 1 s t ) (1^{st}) (1st)阶随机游走策略根据当前顶点确定移动到另外一个顶点的概率。为了概括超网络中的随机游走,我们采用转移规则,给定当前顶点 V V V,我们首先根据 e e e的权重随机选择一个 V V V入射的超边 e e e,然后随机均匀选择下一个顶点$ (x \in e)$

( 1 s t ) (1^{st}) (1st)阶模型的各步的非归一化转变概率可以如下所示:

π 1 ( x ∣ v ) = ∑ e ∈ E w ( e ) h ( v , e ) d ( v ) h ( x , e ) δ ( e ) . \begin{aligned} \pi _1(x|v) = \sum _{e\in E} w(e)\frac{h(v,e)}{d(v)} \frac{h(x,e)}{\delta (e)}. \end{aligned} π1(xv)=eEw(e)d(v)h(v,e)δ(e)h(x,e). v v v去下一个点 x x x的概率

  • h ( v , e ) h(v,e) h(v,e) h ( x , e ) h(x,e) h(x,e)只有 v ∈ x v \in x vx x ∈ e x \in e xe的时候才能保证为 1 1 1,其他情况都为 0 0 0。满足这个条件的超边 e e e不一定只有一个所有求和

  • d ( v ) d(v) d(v)是点 v v v的度, δ ( e ) \delta(e) δ(e)是边 e e e的度,点和边的度就是去掉最少边或者点后使连通的图变得不联通了,点的度就是有几条边相连,边的度就是有几个点存在

  • 1 d ( v ) \frac{1}{d(v)} d(v)1是均匀选中这条边的概率, 1 δ ( e ) \frac{1}{\delta(e)} δ(e)1是均匀选中超边中 x x x点的概率

为了在预测任务中在同源性和结构等价性之间切换,引入一个二阶随机游动模型是可行的。将顶点 v v v的邻域划分为前一个顶点 u u u、前一个顶点 u u u的邻域和其他三类, 2 n d 2^{nd} 2nd顺序搜索偏差定义如下:

hyper2Vec论文整理_第1张图片

BFS倾向于在初始节点的周围游走,可以反映出一个节点的邻居的微观特性;而DFS一般会跑的离初始节点越来越远,可以反映出一个节点邻居的宏观特性

α ( x ∣ v , u ) = { 1 p , if  x = u ( d u x = 0 ) 1 , if  ∃ e ∈ E , x ∈ e , u ∈ e ( d u x = 1 ) 1 q , others ( d u x = 2 ) . \begin{aligned} \alpha (x|v,u) = {\left\{ \begin{array}{ll} \frac{1}{p}, &{} \text {if } x = u(d_{ux}=0) \\ 1, &{} \text {if } \exists e \in E, x \in e, u \in e (d_{ux}=1)\\ \frac{1}{q}, &{} \text {others} (d_{ux}=2)\end{array}\right. }. \end{aligned} α(xv,u)=p1,1,q1,if x=udux=0if eE,xe,ue(dux=1)others(dux=2).

上一个节点 u u u,现在的节点 v v v,下一个节点 x x x概率,这里的 u u u就是图中的 t t t d d d表示最短路径

  • x = u x=u x=u的时候,采样概率为 1 p \frac{1}{p} p1 p p pReturn parameter

    控制重复访问刚刚访问过顶点的概率,仅作用在 d u x = 0 d_{ux}=0 dux=0,即要访问的点 x x x就是刚才访问过的 u u u

    p p p越大就越不可能访问刚才那个点,越小就越有可能回头访问刚才访问过的那个点

  • x x x u u u相连接,采样概率是 1 1 1

  • 其他点,采样概率 1 q \frac{1}{q} q1 q q qIn-out papameter

    q q q控制着游走是向外还是向内

    如果 q > 1 q>1 q>1,那么游走会倾向于在起始点周围的节点之间跑,可以反映出一个节点的BFS特性。

    如果 q < 1 q<1 q<1,那么游走会倾向于往远处跑,反映出DFS特性

hyper2Vec论文整理_第2张图片

2 n d 2^{nd} 2nd阶随机游走模型的非归一化转移概率定义为 π 2 ( x ∣ v , u ) = α ( x ∣ v , u ) π 1 ( x ∣ v ) \pi _2(x|v,u) = \alpha (x|v,u)\pi _1(x|v) π2(xv,u)=α(xv,u)π1(xv),参数 p , q , 1 p,q,1 p,q,1之间的关系导致深度优先搜索(DFS)倾向于鼓励向外搜索,而宽度优先搜索(BFS)倾向于获得起始顶点的局部视图

如果我们想采用BFS,那么只需要调低p的值,如果想采取DFS,只需要调低q的值。这样游走的过程中,我们就可以自由的控制是想得到更多的局部信息还是全局信息

先前的研究表明,DFS和BFS搜索策略会引入一些负偏执,另一方面我们需要引入一些积极偏执来捕捉网络的某些特殊特征或平衡顶点的更新机会,基于以上考虑提出了一种有度偏差随机游动模型,该模型具有两种采样策略:

Big-Degree Biased Search (BDBS):walk倾向于选择度比较大的邻顶点

Small-Degree Biased Search (SDBS)::walk倾向于选择度比较小的邻顶点。

我们定义了一个有偏的 2 n d 2^{nd} 2nd阶随机游动,引入了一个基于参数 r r r x x x的度(degree of x with a parameter r)的偏差系数 β ( x ) β(x) β(x)。为了使机制更加灵活,参数 r r r不仅要指导BDBS或SDBS的策略,还要控制其度的影响(degree of influence)。为了达到上述目的,我们定义了BDBS的度偏差 β ( x ) = d ( x ) + r   ( r > 0 ) \beta (x) = d(x)+r~(r>0) β(x)=d(x)+r (r>0)。显然, β ( x ) β(x) β(x) d ( x ) d(x) d(x)线性增长,且随着 r r r的增加,BDBS的趋势程度下降。根据类似的BDBS原理,我们将SDBS ( r < 0 ) (r<0) (r<0)结合起来,得出如下的最终公式:

β ( x ) = { d ( x ) + r , r > 0 1 d ( x ) − r , r < 0 1 , r = 0 . \begin{aligned} \beta (x) = {\left\{ \begin{array}{ll} d(x)+r, &{} r>0 \\ \frac{1}{d(x)-r}, &{} r < 0 \\ 1, &{} r = 0 \end{array}\right. }. \end{aligned} β(x)=d(x)+r,d(x)r1,1,r>0r<0r=0.

  • r > 0 r>0 r>0的时候,在 α ( x ∣ v , u ) \alpha(x|v,u) α(xv,u)的基础上在乘上( x x x的度+ r r r),度越大的点概率就会越大 BDBS
  • 反之乘上 1 d ( x ) − r \frac{1}{d(x)-r} d(x)r1,度越小的点概率越大就越容易被选择 SDBS

结合 2 n d 2^{nd} 2nd阶随机游走模型,可以即算出偏向 2 n d 2^{nd} 2nd阶跃转移概率 p 2 ′ ( x ∣ v , u ) p'_2(x|v,u) p2(xv,u)

p 2 ′ ( x ∣ v , u ) = α ( x ∣ v , u ) ⋅ β ( x ) ⋅ ∑ e ∈ E w ( e ) h ( v , e ) d ( v ) h ( x , e ) δ ( e ) Z , \begin{aligned} p'_2(x|v,u) = \frac{\alpha (x|v,u) \cdot \beta (x) \cdot \sum _{e\in E} w(e)\frac{h(v,e)}{d(v)} \frac{h(x,e)}{\delta (e)}}{Z}, \end{aligned} p2(xv,u)=Zα(xv,u)β(x)eEw(e)d(v)h(v,e)δ(e)h(x,e),

其中 Z Z Z是归一化因子。基于过度概率 p 2 ′ ( x ∣ v , u ) p'_2(x|v,u) p2(xv,u),从超网络中的每个顶点开始,我们可以生成一组随机游走。我们通过Skip-gram模型产生最终的嵌入结果。跳字模型是一种语言模型,可以最大程度的提高句子窗口出现单词之间的共现概率,该模型在我们的模型中被随机游走取代

Skip-gram

P = Π t = 1 T Π − m ≤ j ≤ m , j ≠ 0 P ( w t + j ∣ w t ) P=\Pi_{t=1}^T\Pi_{-m\leq j\leq m,j\neq0}P(w^{t+j}|w^t) P=Πt=1TΠmjm,j=0P(wt+jwt)

P ( w 0 ∣ w c ) = e x p ( u o T v c ) ∑ i ∈ V e x p ( u i T v c ) P(w_0|w_c) = \frac{exp(u_o^Tv_c)}{\sum_{i\in V}exp(u_i^Tv_c)} P(w0wc)=iVexp(uiTvc)exp(uoTvc),在中心词 w c w_c wc去定为索引 c c c的时候,背景词 w 0 w_0 w0的概率可以用这个softmax表示,带入上式子进行变换求导最后就能变成链式求导,最后通过梯度下降通过最大化 P P P,就能学习 u u u

T T T:文本总长度

t t t:当前文本位置(某个字符)

m m m:窗口大小

参考文献

https://link.springer.com/chapter/10.1007/978-3-030-18590-9_27

《Hyper2vec: Biased Random Walk for Hyper-network Embedding》

https://zhuanlan.zhihu.com/p/46344860

[论文笔记]node2vec

https://blog.csdn.net/itplus/article/details/37969519

word2vec中的数学原理详解

https://blog.csdn.net/u012151283/article/details/87081272

node2vec算法原理,实现和应用

https://github.com/shenweichen/GraphEmbedding

GraphEmbedding

你可能感兴趣的:(机器学习,算法,人工智能,python,数据挖掘)