2017.10.22- Laplacian Eigenmap、Word2VEC、LINE

  Network在日常生活中的使用很普遍,能够灵活的表示数据的大体结构。通过Network Mining可以从得到网络中包含的很多信息,Network Mining主要包括Link Prediction , Ranking, Community Detection , Classification , Resilience , Information Cascades 等。为了方便进行Network Mining,需要先表示network,这种表示方式要能够有效地表示各种规模、各种类型的network。
  为了表示network,可以先表示network中的各个node。通过表示Network中的Node,可以实现Node classification , Recommendation , Link prediction等。表示node,即实现Node Embedding :能够将Node表示成向量,并且node的向量表示中要保存有network的结构信息。
  因为node的向量表示中,要保存有network的结构信息,因此,network中相似的点在向量表示中距离应该很近。为了描述network中node的相似程度,定义了First-order Proximity和Second-order Proximity。First-order Proximity是指两个node之间的局部相似度,与两点之间边的权值有关。Second-order Proximity是根据两个node邻居node的重合度来定义相似度,共同邻居越多,相似度越高。因为在network中,有些合法的边没有被观测到,所以First-order Proximity不能有效的表示全局信息,Second-order Proximity能完善只用First-order Proximity带来的问题。
  下面将介绍Node Embedding的几种算法 :

Laplacian Eigenmap

  Laplacian Eigenmap利用First-order Proximity,用局部的角度去构建数据之间的关系。

当node的向量表示矩阵U使得
image.png

取到最小值时,得到最优解。其中,W是权值矩阵,U是node的向量表示矩阵,
image.png

,L=D-W称为Laplacian矩阵。
最优解U的列向量为Lu=λDu的最小非零特征值对应的特征向量。

Word2VEC

  Word2VEC算法的前提是单词的上下文可以表征这个单词的特征,算法通过学习句子确定词向量。主要有Skip-Gram和CBOW两种模型,Skip-Gram是给定input word来预测上下文。而CBOW是给定上下文,来预测input word。下面主要讲解Skip-Gram模型。
  Skip-Gram模型的算法思想为:首先将单词都进行one-hot编码,然后创建一个完整的神经网络,输入为某个单词,输出为训练样本中该单词的上下文,在训练过程中,不断调整神经网络中的参数,根据参数可以得到词向量。

  基于Hierarchical的模型:输入单词I输出单词O的概率为
image.png

,所以算法的最优解是使得
image.png

最小的v。因为softmax函数的原因,直接优化比较困难。

  基于Negative Sampling的模型
image.png

LINE

  LINE同时使用了First-order Proximity和Second-order Proximity,能同时呈现全局和局部两种网络结构信息。

  First-order Proximity的 优化函数定义为
image.png

,其中,
image.png

,表示经验相似度,
image.png

,表示模型相似度。
  Second-order Proximity的 优化函数定义为
image.png

,其中,
image.png

,表示经验相似度,
image.png

,表示模型相似度。
  优化时,可以采用Stochastic gradient descent,但是直接用SGD会有一些问题。如果网络带权的话,通常情况下,带权网络的权值是一个方差非常大的分布,而大的方差,导致了最后乘以梯度的时候,会导致梯度爆炸,而使结果不好。解决方案是edge sampling,按照概率分布采样,而概率是通过边权大小计算出来的,然后将边当成一个二元的边来处理。

你可能感兴趣的:(2017.10.22- Laplacian Eigenmap、Word2VEC、LINE)