原文:Nonuniform Hyper-Network Embedding with Dual Mechanism ——TOIS(一区 CCF-A)
超边:每条边可以连接不确定数量的顶点
我们关注超网络的两个属性:非均匀和对偶属性。
贡献:
现状:
很少有网络嵌入方法可以直接应用于超网络——无法直接推广。
传统方法是将它们转换为正常网络:团扩展、星扩展——显式或隐式导致原始超网络的信息丢失
如:团扩展将所有超边平均转换为正常边,这改变了顶点之间的关系,丢失了超边的信息。因为元组关系所暗示的所有可能的边都被平等对待,并且不再存在元组关系
到2020年为止,只有几种超网络嵌入方法被提出,主要是为具有特定属性(如均匀性和不可分解性)的超网络设计的,因此不能提高在广泛的超网络上的性能。——当前其他方法泛化能力差
本工作对超网络的独特观察:
评估实验:链接预测、顶点分类
传统图嵌入
经典的网络嵌入方法:LLE、拉普拉斯特征映射、IsoMap
随机游走嵌入方法(基于Skip-gram思想):DeepWalk(一阶游走)、Node2vec(二阶游走)
大规模网络嵌入方法:LINE(保留一阶和二阶邻近性)、SDNE、SDAE和SiNE(深度网络学习顶点嵌入)
邻域聚合编码器:依赖于顶点的特征和属性、很难应用于无监督任务
超图嵌入:
基于谱聚类技术:谱聚类假设图割对分类有用——泛化能力差。
均匀超图嵌入:异构超图嵌入(HHE)、超图嵌入(HGE)、深度超网络嵌入(DHNE)和异构超网络嵌入(HHNE)
二分(星形)扩展嵌入:多用于推荐——二分网络嵌入 (BiNE)等,其他异质图方法也可以,但针对性不强。
在超网络中进行随机游走来捕获顶点的高阶接近度。
引入了对偶超网络挖掘策略,设计了一个神经网络模型来组合原始超网络和双超网络的特征,同时训练一个元组相似度函数来评估超网络中的非均匀关系。
一阶:定义一个顶点到其邻居的转移概率
对于当前顶点 v,我们首先根据 e 的权重随机选择一个与 v 关联的超边 e,然后选择一个顶点 x ∈ e 作为随机游走的下一个顶点。最终形成超路径。
转移概率如下:
π 1 ( x ∣ v ) = ∑ e ∈ E w ( e ) h ( v , e ) d ( v ) h ( x , e ) δ ( e ) . \pi_1(x|v)=\sum_{e \in E} w(e)\frac{h(v,e)}{d(v)} \frac{h(x,e)}{\delta(e)}. π1(x∣v)=e∈E∑w(e)d(v)h(v,e)δ(e)h(x,e).
二阶:嵌入时平衡同质性和结构等价
——不仅根据当前顶点 v, 还根据**前一个顶点 u **移动到下一个顶点 x
——通过使用两个参数 p 和 q 在超网络中引入了二阶随机游走策略
当前顶点v的邻居分为三部分:前一个顶点 u、u 的邻居、其他顶点。
二阶搜索偏差 α (·) 定义如下:
α ( x ∣ v , u ) = { 1 p , if x = u 1 , if ∃ e ∈ E , x ∈ e , u ∈ e 1 q , others , \alpha(x|v,u)= \left\{ \begin{array}{l} \frac{1}{p},\space &\text{if} \space x = u \\ 1, \space &\text{if} \space \exist e \in E,x \in e,u \in e \\ \frac{1}{q}, \space &\text{others} \end{array} \right. , α(x∣v,u)=⎩ ⎨ ⎧p1, 1, q1, if x=uif ∃e∈E,x∈e,u∈eothers,
其中 p 是返回参数,它控制立即重新访问路径中前一个顶点 u 的可能性,q 是内部参数,它控制步行者探索远处还是近处的顶点。因此,二阶随机游走模型的非归一化转移概率可以表示为:
π 2 ( x ∣ v , u ) = α ( x ∣ v , u ) π 1 ( x ∣ v ) \pi_2(x|v,u)=\alpha(x|v,u)\pi_1(x|v) π2(x∣v,u)=α(x∣v,u)π1(x∣v)
基于度的有偏随机游走:——问题:DFS 和 BFS 搜索策略将引入特定的负偏差
——基于二阶模型,我们无法控制选择更大度或更小度的顶点。因此提出了度有偏随机游走模型:
可以看出BDBS 引导随机游走到(局部)中心,SDBS 引导随机游走到边界
——引入了一个基于 x 度的偏差系数 β ( x ) β (x) β(x),参数为 r。关键是使用 r 来控制两者之间的系数率
β ( x ) = d ( x ) + r ( r > 0 ) \beta (x)=d(x)+r \space(r>0) β(x)=d(x)+r (r>0)
顶点 x1 和 x2 的偏置系数率计算如下:
β ( x 1 ) β ( x 2 ) = d ( x 1 ) + r d ( x 2 ) + r ( r > 0 ) \frac{\beta(x_1)}{\beta(x_2)}=\frac{d(x_1)+r}{d(x_2)+r} \space (r>0) β(x2)β(x1)=d(x2)+rd(x1)+r (r>0)
显然, β ( x ) β (x ) β(x) 随 d ( x ) d (x ) d(x) 线性增长,随着 r 的增加,偏差系数率 β ( x 1 ) / β ( x 2 ) β (x1)/β (x2) β(x1)/β(x2) 比 d ( x 1 ) / d ( x 2 ) d (x1)/d (x2) d(x1)/d(x2) 平滑,这意味着 BDBS 趋势的程度下降。
SDBS (r < 0) 的策略可以类似于 BDBS。将r的不同情况组合在一起,最终公式如下:
β ( x ) = { d ( x ) + r , r > 0 1 d ( x ) − r , r < 0 1 , r = 0 . \beta(x)= \left\{ \begin{array}{l} d(x)+r,\space &r>0 \\ \frac{1}{d(x)-r}, \space &r<0 \\ 1, \space &r=0 \end{array} \right. . β(x)=⎩ ⎨ ⎧d(x)+r, d(x)−r1, 1, r>0r<0r=0.
结合之前的随机游走模型,最终转移概率 p 2 ′ ( x ∣ v , u ) p^′_2 (x |v, u) p2′(x∣v,u) 定义如下:
p 2 ′ ( x ∣ v , u ) = α ( x ∣ v , u ) ⋅ β ( x ) ⋅ ∑ e ∈ E w ( e ) h ( v , e ) d ( v ) h ( x , e ) δ ( e ) Z p^′_2 (x|v, u)=\frac{\alpha(x|v,u) \cdot \beta(x) \cdot \sum_{e \in E} w(e)\frac{h(v,e)}{d(v)} \frac{h(x,e)}{\delta(e)}}{Z} p2′(x∣v,u)=Zα(x∣v,u)⋅β(x)⋅∑e∈Ew(e)d(v)h(v,e)δ(e)h(x,e)
其中 α ( ⋅ ) α (·) α(⋅) 是二阶搜索偏差, Z Z Z 是归一化因子。基于转移概率 p 2 ′ ( x ∣ v , u ) p^′_2 (x|v, u) p2′(x∣v,u),我们可以在超网络中采样一系列顶点。
三部分:预处理过程、随机游走生成器、更新过程
预处理过程:处理超网络
随机游走生成器:生成一组随机游走
——修改后的转移概率在预处理过程中预先计算,使用别名采样(alias sample)在 O (1) 时间内有效地完成随机游走的每一步
更新过程:通过 Skip-gram 模型生成最终的嵌入结果
——Skip-gram是一种语言模型,它最大化句子中彼此接近的单词之间的共现概率(此处为随机游走路径)
令 f : V → R d f : V → \mathbb R^d f:V→Rd 是从顶点到嵌入的中心映射函数, f ′ : V → R d f^′ : V → \mathbb R^d f′:V→Rd 是一个上下文映射函数, C ( v ) C (v) C(v) 是 v 的上下文,我们模型的 Skip-gram 的优化问题公式如下:
max f ∑ v ∈ V ( ∑ c i ∈ C ( v ) ( f ( v ) ⋅ f ′ ( c i ) − l o g ∑ u ∈ V e f ( v ) ⋅ f ′ ( u ) ) ) \max_f \sum_{v \in V} \left( \sum_{c_i \in C(v)} \left(f(v) \cdot f'(c_i)-log \sum_{u \in V} e^{f(v) \cdot f'(u)} \right) \right) fmaxv∈V∑ ci∈C(v)∑(f(v)⋅f′(ci)−logu∈V∑ef(v)⋅f′(u))
复杂度分析:
算法 1:Hyper2vec 算法 |
---|
Input:超图 G = ( V , E , w ) G = (V , E, w ) G=(V,E,w)、嵌入大小 d、窗口大小 k、行走次数 t、行走长度 l、返回参数 p、in-out 参数 q、偏置参数 r ; |
Output:顶点表示矩阵 $\Phi \in \mathbb R^{ |
初始化游走为空; |
根据等式(1)计算转移概率矩阵 $P \in \mathbb R^{ |
for u ∈ V u \in V u∈V do |
——for v ∈ N G ( u ) v \in N_G (u) v∈NG(u) do |
———— Π ⋅ u v ′ = β ( v ) ⋅ P u v \Pi'_{\cdot uv}=\beta(v) \cdot P_{uv} Π⋅uv′=β(v)⋅Puv; |
————for x ∈ N G ( v ) x \in N_G (v) x∈NG(v) do |
——————$\Pi’_{uvx}=\alpha(x |
for i from 1 to t do |
——for v ∈ V v \in V v∈V do |
———— w a l k = RandomWalk ( G , Π ′ , v , l ) walk = \text{RandomWalk}(G, \Pi', v, l) walk=RandomWalk(G,Π′,v,l); |
————把生成的游走序列 walk 添加到 walks 列表; |
Φ = Skip-gram ( k , d , w a l k s ) \Phi=\text{Skip-gram}(k, d, walks) Φ=Skip-gram(k,d,walks); |
Function w a l k = RandomWalk ( G , Π ′ , v , l ) walk = \text{RandomWalk}(G, \Pi', v, l) walk=RandomWalk(G,Π′,v,l) |
——游走序列 walk 初始化为[s]; |
——前一个节点 u 初始化为null |
——for i from 2 to l l l do |
———— v = v= v= 游走序列walk的最后一个节点; |
———— x = AliasSample ( N G ( v ) , Π ′ u v ) ; x = \text{AliasSample}(N_G (v), \Pi′_{uv} ); x=AliasSample(NG(v),Π′uv); (别名采样算法) |
————把节点x添加到游走序列 walk中; |
———— u = v u=v u=v; |
——return walk; |
- 之前的研究只捕获了超边自己连接有哪些节点的信息(低阶信息),更详细的边缘特征(例如交互活动)可用于提高网络嵌入模型的性能;
- 本文的超网络中超边具有特别含义:文章等。使用有偏的二阶随机游走来保留顶点的高阶接近度和结构属性。
核心思想:
反转顶点和超边的定义以构建对偶超网络,使用上面的相同策略来生成对偶随机游走:
对偶超网络节点的嵌入对应于原始网络边的嵌入;
计算与 v 关联的超边的平均嵌入获得节点的嵌入。
——使用 f ∗ ( v ) f^∗ (v) f∗(v) 来表示从对偶超网络中学习到的 v 的嵌入:(加权平均)
f ∗ ( v ) = 1 ∑ e ∈ E G ( v ) w ( e ) ∑ e ∈ E G ( v ) w ( e ) ⋅ f ( e ) , f^*(v)=\frac{1}{\sum_{e\in E_G(v)}w(e)}\sum_{e\in E_G(v)}w(e)\cdot f(e), f∗(v)=∑e∈EG(v)w(e)1e∈EG(v)∑w(e)⋅f(e),
其中 f ( e ) f (e) f(e) 是从对偶超网络中学习到的超边 e 的嵌入, E G ( v ) E_G (v) EG(v) 是与 v 关联的超边集。对偶模型的过程可以与原始模型同时进行。
——从原始超网络和对偶生成的嵌入是互补的
NHNE框架:
输入层:首先对超边(顶点集)进行编码
嵌入层:
网络层:
——超网络通常是不均匀的(度不固定),超边可以看作是一个顶点序列,但顶点的顺序没有意义
使用两个一维cnn分别捕获原始超网络和对偶超网络的隐藏信息
将它们连接为输出相似度层的输入
元组相似度函数 S (·) 定义如下:
S ( e ) = σ ( W ( o u t ) [ c o ( W o ( e m b ) X e ) ; c d ( W d ( e m b ) X e ) ] + b ) , S(e)=\sigma(W^{(out)}[c_o( W_o^{(emb)}X_e);c_d(W^{(emb )}_dX_e)]+b), S(e)=σ(W(out)[co(Wo(emb)Xe);cd(Wd(emb)Xe)]+b),
其中 σ ( ⋅ ) σ (·) σ(⋅) 是 sigmoid 函数;$ W_o^{(emb)}$ 和 W d ( e m b ) W^{(emb )}_d Wd(emb) 分别表示原始嵌入层和对偶嵌入层的权重; c o ( ⋅ ) co (·) co(⋅) 和 c d ( ⋅ ) cd (·) cd(⋅) 分别表示原始和对偶1D-CNN; W ( o u t ) W^{(out)} W(out) 表示输出相似度层的权重; b 是偏差。
损失函数定义如下:
L = 1 ∣ E ∣ ∑ e ∈ E ( − log S ( e ) + ∑ e n ∈ E n log S ( e n ) ) \mathcal L=\frac{1}{|E|} \sum_{e\in E} \left(-\log S(e)+\sum_{e_n\in E_n}\log S(e_n)\right) L=∣E∣1e∈E∑(−logS(e)+en∈En∑logS(en))
其中 E n E_n En 是 e 的负样本。对于每个 e n ∈ E n e_n \in E_n en∈En , e n ∉ E e_n \notin E en∈/E 且 ∣ e n ∣ = ∣ e ∣ |e_n | = |e | ∣en∣=∣e∣。
——使用RMSProp训练模型参数
输出层:输出相似度层
结合嵌入层的节点嵌入,输出一个新的节点嵌入,同时输出一个元组相似度函数来评估顶点的元组关系。
与 Hyper2vec 学习的嵌入相比,NHNE 更新的嵌入包含更多关于顶点之间元组关系的特征
链接预测和顶点分类两个任务
数据集:
- DBLP(合著)7,995 个顶点(作者)和 18,364 个超边(出版物)
- IMDb(参演) 4,423 个顶点(演员)和 4,433 个超边(电影)
Hyper2vec 和 NHNE 在两个学习任务上的性能,与以下算法进行对比:
对于所有方法,我们将嵌入大小统一设置为32。实验重复了五次。(具体各算法参数见原文)
删除了部分边,任务是根据结果网络预测这些删除的边
顶点相似度:L1/L2距离、余弦相似度
设置:
DBLP:随机删除 50% 的现有超边作为正测试样本,生成相同数量的负样本(随机选择顶点,若不是超边则保留)
IMDB:随机删除30%
——评估AUC的大小
结果:
大多数情况下为多标签分类
设置:
按照作者/演员最多发表/参演的类型来打标签,删除一些频率非常小的类型。
逻辑回归用作外部分类器
使用Micro-F1 和 Macro-F1 来评估模型性能
结果:
对于一阶随机游走模型,最重要的一点是确保模型经过充分训练并选择适当的窗口大小
对于二阶随机游走模型,具有 DFS 趋势的随机游走在所有任务和数据集上表现更好
偏差参数 r :DBLP 超网络不需要太多度的偏差趋势,IMDb 超网络设置 r = 4
——虽然参数设置是最优的,但 Hyper2vec 无法达到 NHNE 的性能
——这意味着原始超网络没有捕获所有信息,对偶超网络提供了与原始超网络互补的信息
权重初始化的效果(略)
提出了一种名为 Hyper2vec 的灵活模型来学习超网络的嵌入
将对偶超网络中的超边特征结合起来构建一个名为 NHNE 的基于 1D-CNN 的模型
未来工作:
参数、预测任务和超参数结构之间的更深层次的关系
更智能的参数调整机制
动态调整偏差以捕获局部属性
其他偏差指标:局部聚类系数等
更多超网络的信息:顶点和超边的属性