作者:林子
链接:https://blog.csdn.net/Leoch007/article/details/80397094
欢迎转载,记得注明出处
网络表示学习
Network Embedding,也叫Network Representation Learning,中文可称为网络表示学习,是保留图的拓扑结构以及其他图中节点的信息,将图中的节点“向量化”(embedding)的一种技巧。网络表示学习的目标,就是学习每个节点的低维向量表示。这样的转化能够将复杂的网络信息变成结构化的多维特征,从而能够更好地应用传统的机器学习方法。
M-NMF
算法解析
M-NMF,即Modularized Nonnegative Matrix Factorization,是2017年发表的《Community Preserving Network Embedding》中提出的网络表示学习方法。该方法既保留了网络中的拓扑结构(一阶相似度和二阶相似度),同时也保留了网络的社区结构(基于模块度),通过非负矩阵分解的方法将二者结合了起来,以解决过往网络表示学习算法中只保留一阶二阶相似度的问题。
作者创作性地将网络微观的节点间拓扑信息和整个网络宏观的社区结构信息结合了起来,具体结合的方式看以下数学定义:
一阶相似度: S(1)=A∈Rn×n S ( 1 ) = A ∈ R n × n ,A为邻接矩阵
二阶相似度: S(2)ij=NiNj∥Ni∥∥Nj∥ S i j ( 2 ) = N i N j ‖ N i ‖ ‖ N j ‖ ,其中 Ni N i 为 S(1) S ( 1 ) 第i行
故可用S矩阵来保留一阶二阶相似度: S=S(1)+5S(2) S = S ( 1 ) + 5 S ( 2 )
而社区结构可用Newman提出的模块度来定义 Q=14e∑ij(Aij−kikj2e)hihj Q = 1 4 e ∑ i j ( A i j − k i k j 2 e ) h i h j ,
这里更适合用其矩阵形式表达: Q=tr(HTBH) Q = t r ( H T B H ) ,s.t. tr(HTH)=0 t r ( H T H ) = 0 ,其中 Bij=Aij−kikj2e B i j = A i j − k i k j 2 e ,H为社区指示矩阵, H∈Rn×k H ∈ R n × k , B∈Rn×n B ∈ R n × n
引入了上述的符号来定义相关的数学含义后,paper提出了M-NMF的目标函数:
minM,U,H,C∥∥S−MUT∥∥2F+α∥∥H−UCT∥∥2F−βtr(HTBH) m i n M , U , H , C ‖ S − M U T ‖ F 2 + α ‖ H − U C T ‖ F 2 − β t r ( H T B H )
s.t., M≥0,U≥0,H≥0,C≥0,tr(HTH)=0 M ≥ 0 , U ≥ 0 , H ≥ 0 , C ≥ 0 , t r ( H T H ) = 0
最小化目标函数,将S和H中的信息映射到 U∈Rn×m U ∈ R n × m ,m为降维后的维数。
有了目标函数后,便可得到相应的更新规则,四个变量M,U,C,H,前三个变量通过非负矩阵分解得到,最后一个变量通过结合拉格朗日乘子得到:
M←M⨀SUMUTU M ← M ⨀ S U M U T U
U←U⨀STM+αHCU(MTM+αCTC) U