Graph Embedding——(5)SDNE理论

SDNE理论

1)理论

SDNE(Structural Deep Network Embedding )是和node2vec并列的工作,均发表在2016年的KDD会议中。可以看作是基于LINE的扩展,同时也是第一个将深度学习应用于网络表示学习中的方法。

之前的Deepwalk,LINE,node2vec,struc2vec都使用了浅层的结构, 浅层模型往往不能捕获高度非线性的网络结构。即产生了SDNE方法, 使用多个非线性层来捕获node的embedding。

SDNE使用一个自动编码器结构来同时优化1阶和2阶相似度(LINE是分别优化的)。简单来说,一阶相似度衡量的是相邻的两个顶点对之间相似性。二阶相似度衡量的是,两个顶点他们的邻居集合的相似程度。

2)优化目标

在这里插入图片描述

二阶相似度优化

L 2 n d = ∑ i = 1 n ∣ ∣ x ^ i − x i ∣ ∣ 2 2 L_{2nd}=\sum^n_{i=1}||\hat{x}_i-x_i||^2_2 L2nd=i=1nx^ixi22

这里我们使用图的邻接矩阵 S S S进行输入,SDNE直接使用一个深度自编码器,学习网络邻接矩阵的编码与重构。对于第 i i i个顶点,有 x i = s i x_i=s_i xi=si,每一个 s i s_i si所以这样的重构过程能够使得结构相似的顶点具有相似的embedding表示向量。

文章给出的一个方法是使用带权损失函数,对于非零元素具有更高的惩罚系数。 修正后的损失函数为:
L 2 n d = ∑ i = 1 n ∣ ∣ ( x ^ i − x i ) ⊙ b i ∣ ∣ 2 2 = ∣ ∣ ( X ^ i − X i ) ⊙ B ∣ ∣ 2 2 L_{2nd}=\sum^n_{i=1}||(\hat{x}_i-x_i)\odot {\bf b_i}||^2_2=||(\hat{X}_i-X_i)\odot {\bf B}||^2_2 L2nd=i=1n(x^ixi)bi22=(X^iXi)B22
其中, ⊙ \odot 为逐元素积, b i = { b i , j } j = 1 n {\bf b_i}=\lbrace{b_{i,j}}\rbrace ^n_{j=1} bi={bi,j}j=1n,若 s i , j = 0 s_{i,j}=0 si,j=0,则 b i , j = 1 b_{i,j}=1 bi,j=1,否则 b i , j = β > 1 b_{i,j}=\beta>1 bi,j=β>1

一阶相似度优化

针对一阶相似度的损失函数,其实很直接,因为我们最终是将自编码器的隐层当作最终的节点Embedding。

对于一阶相似度,损失函数定义如下:
L 1 s t = ∑ i , j = 1 n s i , j ∣ ∣ y i ( K ) − y j ( K ) ∣ ∣ 2 2 = ∑ i , j = 1 n s i , j ∣ ∣ y i − y j ∣ ∣ 2 2 L_{1st}=\sum^n_{i,j=1}s_{i,j}||{\bf y_i}^{(K)}-{\bf y_j}^{(K)}||^2_2=\sum^n_{i,j=1}s_{i,j}||{\bf y_i}-{\bf y_j}||^2_2 L1st=i,j=1nsi,jyi(K)yj(K)22=i,j=1nsi,jyiyj22
L 1 s t L_{1st} L1st还可以表示为:
L 1 s t = ∑ i , j = 1 n s i , j ∣ ∣ y i − y j ∣ ∣ 2 2 = 2 t r ( Y T L Y ) L_{1st}=\sum^n_{i,j=1}s_{i,j}||{\bf y_i}-{\bf y_j}||^2_2=2tr(Y^TLY) L1st=i,j=1nsi,jyiyj22=2tr(YTLY)
其中 L L L是图对应的拉普拉斯矩阵, L = D − S L=D-S L=DS D D D是图中顶点的度矩阵, S S S是邻接矩阵, D i , i = ∑ j s i , j D_{i,i}=\underset{j}{\sum}s_{i,j} Di,i=jsi,j

整体优化目标

联合优化的损失函数为 :
L m i x = L 2 r d + α L 1 s t + ν L r e g L_{mix}=L_{2rd}+\alpha L_{1st}+\nu L_{reg} Lmix=L2rd+αL1st+νLreg
L r e g L_{reg} Lreg是正则化项, α \alpha α为控制一阶损失的参数, ν \nu ν为控制1阶损失的参数。
L r e g = 1 2 ∑ k = 1 k ( ∣ ∣ W ( k ) ∣ ∣ F 2 + ∣ ∣ W ^ ( k ) ∣ ∣ F 2 ) L_{reg}=\frac{1}{2}\sum^k_{k=1}(||W^{(k)}||^2_F+||\hat{W}^{(k)}||^2_F) Lreg=21k=1k(W(k)F2+W^(k)F2)

Graph Embedding——(1)DeepWalk理论
Graph Embedding——(2)LINE理论
Graph Embedding——(3)Node2vec理论
Graph Embedding——(4)Struc2vec理论
Graph Embedding常见类型的理论详解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值