Processing math: 100%

GraphEmbedding(4): SDNE

SNDE 算法原理

SNDE 可以看作是基于 LINE 的扩展,同时也是第一个将深度学习应用于网络表示学习中的方法。 不清楚 LINE 的同学可以参考

SDNE 使用一个自动编码器结构来同时优化 1 阶和 2 阶相似度 (LINE 是分别优化的),学习得到的向量表示能够保留局部和全局结构,并且对稀疏网络具有鲁棒性。 这个想法不错

相似度定义

SDNE 中的相似度定义和 LINE 是一样的。

  • 一阶相似度衡量的是相邻的两个顶点对之间相似性
  • 二阶相似度衡量的是,两个顶点他们的邻居集合的相似程度。

二阶相似度优化目标

L2nd=ni=1ˆxixi22

输入:邻接矩阵

对于第 i 个顶点,有 xi=si,每个 si 都包含了顶点 i 的邻居结构信息。

L2nd=ni=1(ˆxixi)bi22=(ˆXX)B2F

bi={bi,j}nj=1,若 si,j=0,则 bi,j=1 ,否则 bi,j=β>1

一阶相似度优化目标

L1st=ni,j=1si,jy(K)iy(K)j22=ni,j=1si,jyiyj22

L1st=ni,j=1yiyj22=2tr(YTLY)

整体优化目标

Lmix=L2nd+αL1st+νLreg

Powered By Valine
v1.5.2