Structural Deep Network Embedding

本论文是kdd2016的一篇论文

主要的目的也是做node embedding。

主要的想法就是通过deep autoencode对node进行embedding,不过在在embedding的时候不仅考虑了1-hop的信息而且考虑了n-hop的信息。使其变成半监督学习的模式(其实就是对loss function改了改)

输入是一个graph的n*n的邻接矩阵S,其实可以看成有n个数据的训练集,每个数据的feature个数是n,即与图上各点的连接情况

框架如下: 

这里写图片描述

 

垂直看是正常的deep autoencode(没有稀疏项),水平看,在每个smaple(node)的最后一个encoding层,还加上了和其他smaple(node)的约束关系,其实就是邻接关系的约束。


具体看Loss function: 

这里写图片描述 
这里写图片描述 
这里写图片描述

 

Lmix为最后的loss function。

L2nd是在正常的算loss的平方差的基础上点乘了一个B, 

这里写图片描述


其实就是放大了原本邻接的那一项的loss,为了使loss越小,bp后,邻接项就会更有邻接的趋势。

 

L1st就是在最后一个encoding层,增加了与其他node的邻接信息,这样做的结果就是,在训练时为了使loss变小,那么bp后,yi-yj更加趋于0,也是就是说邻接项会更加的邻接。这就是所谓的监督学习,并且这里就体现了1-hop的信息;而原本的deep autoencode,是无监督学习,并且体现的是 n-hop的信息。因此结合起来就是半监督学习的,考虑1-hop和n-hop信息的一个structure。

Lreg就是L2正则。


训练时,每次跑完n个node,然后计算loss和梯度,依次BP更新权重即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值