本发明涉及网络表示学习技术领域,尤其涉及一种基于邻居信息的网络表示学习方法及系统。
背景技术:
真实世界中的实体互相交互形成了大规模复杂网络。传统的网络分析技术将每个网络节点看作唯一的符号,这种方法存在的稀疏性问题极大地影响了个性化推荐、异常检测等问题的效果。为了克服稀疏性问题,针对复杂网络分析的表示学习方法被提出。网络表示学习是将大规模网络中节点的信息编码到一个低维空间中,这种低维表示可以用来判断节点之间的距离远近、有无关系等,还可以作为分类和聚类等任务的特征向量。
对于真实世界中的网络,节点往往拥有其他的附加信息。例如,在真实世界的电商平台中,一些卖家为了提升店铺的排名和销量通常会雇佣水军来进行刷单,恶意的刷单用户和正常的普通用户之间通常会形成一种群聚关系,即刷单用户与刷单店铺进行交易的比例占刷单用户总交易笔数较大,而普通用户与刷单店铺进行交易的比例占普通用户总交易笔数较小。这种群聚关系将他们约束在一个相似的群体中,利用这种关系可以解决网络结构一度关系稀疏性的问题,进而学习出更有代表性的节点向量以便进行后续的一些分析工作,例如识别恶意买家和卖家等。目前已有的工作,并没有将这种邻居信息考虑到表示向量的学习当中。
因此,同时考虑网络结构信息以及邻居信息对于学习更好的节点表示是十分必要的。
技术实现要素:
本发明提供了一种基于邻居信息的网络表示学习方法,该方法可以充分利用已有信息,提高网络节点表示的质量。
本发明提供了如下技术方案:
一种基于邻居信息的网络表示学习方法,包括以下步骤:
(1)构建包含各个网络节点关联信息的网络信息数据集,所述关联信息用于表示网络的结构,构建并初始化各个网络节点的低维向量表示;
(2)根据网络的一度关系和邻居信息构造网络的目标函数;
(3)采用随机梯度下降算法对目标函数进行优化,得到各网络节点的最优向量表示;
(4)输出学习到的网络节点的最优向量表示。
在网络中,如果两个节点之间存在边,那么这两个节点就互为邻居。
本发明的网络表示学习方法结合网络节点的网络结构信息及邻居信息,充分利用网络节点的邻居信息,可以解决网络结构一度关系稀疏性的问题,进而学习出更有代表性的节点向量,以便进行后续的一些分析工作,如分类、聚类、推荐等。
本发明的网络表示学习方法适用于同构网络和异构网络两种不同类型的网络结构,具有较好的扩展性。
步骤(2)中,所述的目标函数通式为:
其中,
所述
其中,s为网络中节点的个数;n(i)表示节点i的邻居数;d(x,y)为距离度量函数;vi为节点i的向量表示;
背景向量
其中,n(j)表示节点j的邻居数;vk表示除了节点i之外的所有节点j的邻居节点向量。
针对不同的网络类型,一度关系目标函数不同。
针对同构网络,用节点的联合概率分布来衡量网络结构中的一度关系,其一度关系目标函数表示为:
其中,
为了使每一个训练样本仅仅改变一小部分参数,在所述的一度关系目标函数中,第二项利用了负采样算法。
为了和一度关系目标函数的形式保持一致,将邻居信息目标函数变形,表示为:
综合同构网络的一度关系目标函数和邻居信息目标函数,得到的同构网络的最终目标函数为:
针对异构网络(如,推荐系统),学习节点的向量表示的基础任务是用两个节点向量的乘积去拟合预测评分,其一度关系目标函数为:
其中,s是用户节点集合,μ是常数项,bi、bj分别为节点i、j的偏置向量,lij为实际评分,
假设节点a和节点b之间有边,且将邻居节点向量的平均值作为该节点的背景向量,那么节点a的向量应和节点b的背景向量相似,这种相似性用欧式距离来衡量,则异构网络的邻居信息目标函数为:
综合异构网络的一度关系目标函数和邻居信息目标函数,得到异构网络的最终目标函数为:
优选的,步骤(3)中,采用随机梯度下降算法对目标函数进行优化,包括:
(3-1)计算目标函数对每个参数的梯度;
(3-2)根据设定的学习速率,利用随机梯度下降算法最小化目标函数;
(3-3)重复步骤(3-1)和(3-2)直至目标函数收敛或迭代次数达到设定的最大迭代次数,得到各节点的最优向量表示。
优选的,步骤(3-1)中,对同构网络的目标函数的梯度求解方式为:
对异构网络的目标函数的梯度求解方式为:
优选的,设定的学习速率为0.001。
优选的,设定的最大迭代次数为1000。
本发明还提供了一种基于邻居信息的网络表示学习系统,包括:
数据输入模块,将含各个网络节点关联信息的网络信息数据集输入所述的网络表示学习系统,构建并初始化各个网络节点的低维向量表示;
目标函数构建模块,根据网络的一度关系和邻居信息构造网络的目标函数;
目标函数优化模块,采用随机梯度下降算法对目标函数进行优化,得到各网络节点的最优向量表示;
数据输出模块,输出学习到的网络节点的最优向量表示。
与现有技术相比,本发明的有益效果为:
本发明的网络表示学习方法结合网络节点的网络结构信息及邻居信息,充分利用网络节点的邻居信息,可以解决网络结构一度关系稀疏性的问题,进而学习出更有代表性的节点向量,以便进行后续的一些分析工作,如分类、聚类、推荐等。
附图说明
图1为本发明的网络表示学习系统的架构示意图;
图2为本发明的网络表示学习方法的流程示意图;
图3为在同构网络下网络表示学习方法的实施流程示意图。
具体实施方式
本发明提出的基于邻居信息的网络表示学习系统通过四个模块实现:数据输入模块、目标函数构建模块、目标函数优化模块、数据输出模块,其系统架构如图1所示。
基于网络表示学习系统的网络表示学习方法流程如图1所示。由于不同的网络结构仅在目标函数上有细微差别,其余部分完全相同,因此在下面的实例中仅以同构网络为例,并结合附图对上述方法进行更加详细的介绍。
假设现有一用户需要学习包含5个节点的网络表示,用户使用本发明网络表示学习系统进行网络表示学习时,其流程如图3所示,具体步骤如下:
(1-1)将网络节点关联信息数据输入系统,系统将网络存储为(1,5),(2,5),...(4,5)等节点之间的关联信息,由这些关联信息可恢复出整个网络结构;
(1-2)设定节点的低维向量表示维数为4、并初始化每个节点的低维向量表示为[1,1,1,1],因此系统中的参数一共有4×5=20个。
(2-1)构建一度关系目标函数:针对同构网络,用节点的联合概率分布来衡量网络结构中的一度关系,其一度关系目标函数表示为:
其中,
为了使每一个训练样本仅仅改变一小部分参数,在所述的一度关系目标函数中,第二项利用了负采样算法。
(2-2)构建邻居信息目标函数:为了和一度关系目标函数的形式保持一致,将邻居信息目标函数变形,表示为:
(2-3)综合同构网络的一度关系目标函数和邻居信息目标函数,得到的同构网络的最终目标函数为:
其中,背景向量的影响系数α=1;
(3-1)计算目标函数对每个参数的梯度,求解方式为:
(3-2)根据给定的学习速率(0.001),利用随机梯度下降算法最小化目标函数;
(3-3)重复步骤(3-1)和(3-2)多次,直到目标函数收敛或迭代次数达到设定的最大迭代次数(1000次);
(3-4)当目标函数收敛到最小值时,节点就学习到了最优向量表示,例如节点1的最优向量表示为v1=[0.1,-0.5,0.9,-0.3];
(4)用户读取学习到的网络节点最优向量表示,将其用于后续的各种网络分析任务,如分类、聚类、推荐等。
以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。