36、利用三种信息进行属性网络嵌入

利用三种信息进行属性网络嵌入

1. 研究背景与相关工作

网络嵌入算法近年来受到了越来越多的关注。早期的一些方法,如DeepWalk采用截断随机游走捕获节点间的结构邻近性,再用Skip - Gram模型获取节点表示;Node2Vec通过广度优先(BFS)和深度优先(DFS)搜索策略探索结构信息,同样使用Skip - Gram生成网络嵌入;LINE明确定义两个目标函数分别描述一阶和二阶邻近性,优化后学习节点表示;GraRep利用节点间的k阶邻近性寻找节点表示;SDNE则利用深度自动编码器模型捕获非线性结构信息以获得网络嵌入。

然而,上述方法大多仅关注利用网络结构进行嵌入学习,忽略了属性网络中的其他有价值信息,导致生成的表示效果欠佳。为了获得更好的节点表示,一些相关研究尝试联合利用网络结构、节点属性和标签信息这三种信息源。例如,PTE利用标签信息和不同层次的词共现信息生成预测性文本表示;TriDNR利用节点链接、节点内容和节点标签(若有)生成节点表示;LANE研究将标签与网络结构和节点属性集成到嵌入表示中的潜力;SEANO通过聚合当前节点属性及其平均邻域属性来平滑表示学习过程中离群值的负面影响。

2. 问题描述

给定一个属性网络$G = (V, E, X, Y)$,其中$V$是$|V|$个节点的集合,$E$是边的集合。矩阵$X \in R^{|V|×m}$收集所有节点的属性信息,其行$x_i$表示节点$v_i$的$m$维属性向量。设$Y \in R^{|V_L|×H}$是一个标签矩阵,描述$G$中$|V_L|$个有标签节点的集合,$H$是标签类别的数量。$Y$中的每个元素$y_h^i = 1$表示节点$v_i$与标签$l_h$相关联,否则$y_h^i = 0$。相应地,属性网络$G$中有$|V_U|$个无标签节点,且$|V| = |V_L| + |V_U|$。

我们的问题是将每个节点$v_i \in V$表示为低维向量空间$\varphi_i \in R^d$,其中$d \ll |V|$。学习到的节点表示要有效地整合网络结构、节点属性和节点标签这三种信息,同时保留它们之间的相关性。之后,将学习到的节点表示作为后续分析任务(如节点分类和链接预测)的输入。

3. EANE模型方法

我们提出了EANE模型,该模型综合利用网络结构、节点属性和标签这三种信息,为网络$G$中的每个节点生成最优表示。

3.1 自动编码器模块

由于节点属性通常具有噪声且维度较高,因此从属性信息中提取有用特征很重要。我们设计了一个自动编码器模块来建模节点属性,它由编码器和解码器两部分组成。编码器将具有属性$x_i$的节点$v_i$投影到低维隐藏表示中,保留节点属性中的有价值信息并降低属性维度。解码器则从隐藏表示中重建输入属性。

隐藏层的表示公式为:
$y^{(1)}_i = \sigma (W^{(1)} \cdot x_i + b^{(1)})$
$y^{(k)}_i = \sigma (W^{(k)} \cdot y^{(k - 1)}_i + b^{(k)})$,$k = 2, \ldots, K$

其中$K$表示编码器和解码器的层数,$\sigma (·)$定义激活函数(如ReLU),$W^{(k)}$和$b^{(k)}$分别是第$k$层的变换矩阵和偏置向量。自动编码器的目标是最小化输入和输出的重建误差,其过程可写为:
$L_{ae} = \sum_{i = 1}^{|V|} | \hat{x}_i - x_i |^2_2$

为了获得更好的训练性能,对参数$W^{(k)}$和$\hat{W}^{(k)}$进行正则化,损失函数重写为:
$L_{ae} = \sum_{i = 1}^{|V|} | \hat{x} i - x_i |^2_2 + \frac{\beta}{2} \sum {k = 1}^{K} (| W^{(k)} |^2_F + | \hat{W}^{(k)} |^2_F)$

其中$|·|^2_F$是$\ell_2$范数,$\beta$是正则化系数。

3.2 Skip - Gram模块

近期的工作广泛使用Skip - Gram模型来编码网络结构。实际上,节点属性与网络结构密切相关,节点属性信息可以加强节点之间的相似性,有助于获得更好的节点表示。

目标函数通过给定当前节点$x_i$及其学习到的表示$f(x_i)$,最小化Skip - Gram模型的对数概率:
$L_{sg} = - \sum_{i = 1}^{|V|} \sum_{v_j \in C_i} \log Pr(v_j|x_i)$

其中$v_j \in {v_{i - t}, \ldots, v_{i + t}} \setminus v_i$是生成的随机游走中的节点上下文,$t$是窗口大小。条件概率$Pr(v_j|x_i)$的公式为:
$Pr(v_j|x_i) = \frac{\exp (v^T_j \cdot f(x_i))}{\sum_{s = 1}^{|V|} \exp (v^T_s \cdot f(x_i))}$

为了加速训练过程,采用负采样策略,目标函数重写为:
$L_{sg} = - \sum_{i = 1}^{|V|} \sum_{v_j \in C_i} [\log \sigma (v^T_j f(x_i)) + \sum_{n = 1}^{|neg|} E_{v_n \sim P_n(v)} \log \sigma (-v^T_n f(x_i))]$

优化该式后,与网络结构一致的有用节点属性信息可以保留在表示空间中。

3.3 MLP模块

节点标签信息与节点连接性和属性信息存在内在关系。当节点具有相似的标签时,它们通常也具有结构邻近性和属性相似性,这可以增强网络中节点的相似性。因此,EANE模型引入一个规范的多层感知器(MLP)模块,通过输入学习到的表示来预测当前节点的标签。

其损失函数为:
$L_{la} = - \sum_{i \in V_L} \log Pr(y_i|f(x_i))$

其中$Pr(y_i|f(x_i))$的定义为:
$Pr(y_i|f(x_i)) = \frac{\exp (f(x_i) \cdot W^{(S)} {y_i})}{\sum {y_j \in Y} \exp (f(x_i) \cdot W^{(S)}_{y_j})}$

优化该式时,节点属性和标签信息将共同影响学习到的节点表示,使它们相互补偿。

3.4 联合优化框架

这三种信息具有内在相关性,能够潜在地加强网络中节点的相似性,从而产生更好的节点表示。受相关研究启发,我们构建了一个联合优化框架,将这三种信息有效地映射到统一表示中,同时最大化它们之间的相互关系。

最终的损失函数为:
$L = L_{ae} + \alpha L_{sg} + L_{la}$

其中$\alpha$是平滑Skip - Gram模块损失的超参数。我们使用随机梯度算法最小化$L$,迭代优化各个组件,将三种信息集成到统一的表示空间中。联合优化框架的算法流程如下:

输入: 一个属性网络$G = (V, E, X, Y)$,窗口大小$t$,每个节点的游走次数$\gamma$,游走长度$l$,学习到的节点表示的维度$d$,权衡参数$\alpha$,正则化系数$\beta$。
输出: 每个节点$v \in V$的节点表示$\Phi (v) \in R^{|V|×d}$。
1: 从每个节点开始进行$\gamma$次长度为$l$的随机游走
2: 为每个节点构建节点上下文$C$,并采样其负上下文
3: 随机初始化模型EANE中的所有参数。
4: while 未收敛 do
5:    采样一批带有上下文和负样本的节点。
6:    根据公式(3)计算$\nabla L_{ae}$的梯度;
7:    更新自动编码器模块的参数。
8:    根据公式(7)计算$\nabla L_{sg}$的梯度;
9:    更新Skip - Gram模块的参数。
10:    根据公式(8)计算$\nabla L_{la}$的梯度;
11:    更新MLP模块的参数。
12: end while
13: 根据公式(1)为每个节点$v \in V$生成表示$\Phi (v)$。
4. 实验设置
4.1 数据集

我们采用三个真实世界的属性网络数据集:Cora、Citeseer和Pubmed。这些数据集中的节点表示论文,边表示论文之间的引用关系,节点属性是相应论文的词袋表示,每个节点只有一个类别标签。数据集的统计信息如下表所示:
| 数据集 | 节点数量 | 边数量 | 属性数量 | 标签数量 |
| — | — | — | — | — |
| Cora | 2,708 | 5,429 | 1,433 | 7 |
| Citeseer | 3,327 | 4,732 | 3,703 | 6 |
| Pubmed | 19,717 | 44,328 | 500 | 3 |

4.2 基线方法

为了验证EANE模型的性能,我们将其与以下五种基线方法进行比较:
- DeepWalk:在普通网络上执行截断随机游走生成节点序列,然后将这些序列输入Skip - Gram模型学习节点表示。
- LINE:分别利用节点之间的一阶和二阶邻近性,学习两种表示后拼接形成最终的节点表示。
- SDNE:使用多层非线性函数捕获高度非线性的网络结构,生成节点表示。
- LANE:利用节点结构、属性和标签三种信息为网络中的每个节点学习表示。
- SEANO:利用深度模型获取节点嵌入,同时保留拓扑邻近性、属性相似性和标签信息相似性。

4.3 实验参数设置

对于所有基线方法,我们使用原作者发布的实现,并根据他们的报告设置默认参数。为了公平比较,所有算法学习到的表示维度$d$都设置为128。对于EANE,窗口大小$t$设置为10,游走长度$l$设置为80,每个节点的游走次数$\gamma$设置为5,负样本数量设置为5。不同数据集的神经网络层结构信息如下表所示:
| 数据集 | 每层神经元数量 |
| — | — |
| Cora | 1,433→1,000→500→128→500→1,000→1,433 |
| Citeseer | 3,703→1,000→500→128→500→1,000→3,703 |
| Pubmed | 500→200→128→200→500 |

5. 实验结果
5.1 节点分类

我们随机选择30%的有标签节点作为训练集,其余节点作为测试集。使用学习到的节点表示训练SVM分类器,对测试集进行预测,通过Macro - F1和Micro - F1值衡量预测结果,重复该过程10次并报告平均结果。实验结果如下表所示:
| 数据集 | 评估指标 | Cora | Citeseer | Pubmed |
| — | — | — | — | — |
| | Micro F1 | 0.648 | 0.587 | 0.809 |
| DeepWalk | Macro F1 | 0.602 | 0.534 | 0.795 |
| | Micro F1 | 0.612 | 0.546 | 0.766 |
| LINE | Macro F1 | 0.572 | 0.512 | 0.749 |
| | Micro F1 | 0.623 | 0.571 | 0.699 |
| SDNE | Macro F1 | 0.591 | 0.528 | 0.677 |
| | Micro F1 | 0.631 | 0.578 | 0.784 |
| LANE | Macro F1 | 0.608 | 0.541 | 0.765 |
| | Micro F1 | 0.713 | 0.719 | 0.842 |
| SEANO | Macro F1 | 0.706 | 0.671 | 0.828 |
| | Micro F1 | 0.778 | 0.738 | 0.886 |
| EANE | Macro F1 | 0.756 | 0.694 | 0.862 |

从表中可以看出,EANE在所有三个数据集上都取得了最佳性能。这表明EANE联合利用自动编码器、Skip - Gram和MLP模块有效地建模三种信息,正确捕获它们之间的相关性,从而获得更好的性能。而仅利用结构信息的方法(如DeepWalk、LINE和SDNE)分类结果较弱,SEANO虽然考虑了三种信息,但未能充分整合它们,学习到的节点嵌入效果欠佳。

5.2 链接预测

我们仅在Cora和Citeseer两个数据集上进行链接预测任务。随机隐藏30%的现有链接作为正实例,生成相同数量的不存在链接作为负实例,使用剩余的网络链接训练不同模型。获取节点表示后,基于余弦相似性函数对正、负实例进行排序,使用AUC值作为评估指标。实验结果表明,EANE在两个数据集上始终获得最佳的AUC结果。例如,在Cora数据集上,EANE比表现最好的SEANO提高了约3%。这是因为EANE联合捕获了节点的结构邻近性、属性相似性和标签相似性,而DeepWalk、LINE和SDNE仅利用网络结构,SEANO忽略了三种信息之间的相互关系,导致预测结果较弱。

综上所述,EANE模型通过有效整合网络结构、节点属性和节点标签这三种信息,在节点分类和链接预测任务中表现出色,为属性网络嵌入提供了一种有效的方法。

利用三种信息进行属性网络嵌入

6. 结论与未来展望

EANE模型是一种创新的方法,它成功地将网络结构、节点属性和节点标签三种信息结合起来,为属性网络嵌入提供了更有效的解决方案。通过自动编码器、Skip - Gram和MLP三个模块,EANE不仅能够分别对三种信息进行编码,还能在联合优化框架下最大化它们之间的相互关系,从而生成更优的节点表示。

在实验部分,通过与多种基线方法的对比,EANE在节点分类和链接预测任务中都展现出了卓越的性能。这充分证明了该模型在整合多种信息、增强节点相似性以及提高预测准确性方面的有效性。

然而,EANE模型也并非完美,仍有一些方面可以在未来的研究中进一步改进和拓展:
- 信息融合策略的优化 :虽然EANE已经考虑了三种信息的相互关系,但在信息融合的具体策略上,可能还有提升的空间。例如,可以探索更复杂的融合机制,使三种信息能够更加紧密地相互作用,进一步提高节点表示的质量。
- 模型的可扩展性 :随着网络规模的不断增大,模型的计算效率和存储需求可能会成为瓶颈。未来的研究可以致力于提高EANE模型的可扩展性,使其能够更好地处理大规模的属性网络。
- 更多应用场景的探索 :目前的实验主要集中在节点分类和链接预测任务上,EANE模型在其他网络分析任务,如社区发现、异常检测等方面的应用潜力还有待进一步挖掘。

7. 总结与启示

本次研究提出的EANE模型为属性网络嵌入领域带来了新的思路和方法。它强调了综合利用多种信息的重要性,打破了以往仅关注网络结构的局限。以下是一些从本次研究中得到的启示:
- 信息互补的价值 :网络结构、节点属性和节点标签三种信息之间存在着内在的相关性,它们相互补充、相互增强。在进行网络分析时,充分利用这些信息可以显著提高模型的性能。
- 多模块联合的优势 :通过设计多个模块分别处理不同类型的信息,并构建联合优化框架,能够有效地将这些信息整合到统一的表示空间中。这种多模块联合的方法为解决复杂的网络问题提供了一种有效的途径。
- 实验验证的重要性 :通过严格的实验验证,能够客观地评估模型的性能,为模型的改进和优化提供依据。在实际应用中,应该根据具体的任务需求和数据特点,选择合适的模型和评估指标。

8. 流程图展示

下面是EANE模型联合优化框架的mermaid流程图:

graph TD;
    A[输入属性网络G, 窗口大小t, 游走次数γ, 游走长度l, 维度d, 参数α, 系数β] --> B[进行随机游走];
    B --> C[构建节点上下文并采样负上下文];
    C --> D[随机初始化模型参数];
    D --> E{是否收敛};
    E -- 否 --> F[采样一批节点及上下文和负样本];
    F --> G[计算$L_{ae}$梯度];
    G --> H[更新自动编码器模块参数];
    H --> I[计算$L_{sg}$梯度];
    I --> J[更新Skip - Gram模块参数];
    J --> K[计算$L_{la}$梯度];
    K --> L[更新MLP模块参数];
    L --> E;
    E -- 是 --> M[生成节点表示];
    M --> N[输出节点表示];

这个流程图清晰地展示了EANE模型联合优化的整个过程,从输入数据开始,经过多次迭代优化,直到收敛并生成最终的节点表示。

9. 关键要点回顾

为了方便读者快速回顾本文的关键内容,下面列出了一些重要的要点:
- 研究目的 :提出EANE模型,联合利用网络结构、节点属性和节点标签三种信息进行属性网络嵌入。
- 模型架构 :包括自动编码器模块、Skip - Gram模块和MLP模块,分别处理节点属性、网络结构和节点标签信息。
- 联合优化 :构建联合优化框架,将三种信息映射到统一表示空间,最大化它们的相互关系。
- 实验结果 :在节点分类和链接预测任务中,EANE模型的性能优于多种基线方法。
- 未来展望 :可以从信息融合策略、模型可扩展性和更多应用场景等方面进行进一步研究。

通过本次研究,我们可以看到综合利用多种信息进行属性网络嵌入是一种具有广阔前景的研究方向。EANE模型为这一领域的发展提供了一个有价值的范例,相信在未来会有更多的创新和突破。

采用PyQt5框架与Python编程语言构建图书信息管理平台 本项目基于Python编程环境,结合PyQt5图形界面开发库,设计实现了一套完整的图书信息管理解决方案。该系统主要面向图书馆、书店等机构的日常运营需求,通过模块化设计实现了图书信息的标准化管理流程。 系统架构采用典型的三层设计模式,包含数据存储层、业务逻辑层和用户界面层。数据持久化方案支持SQLite轻量级数据库与MySQL企业级数据库的双重配置选项,通过统一的数据库操作接口实现数据存取隔离。在数据建模方面,设计了包含图书基本信息、读者档案、借阅记录等核心数据实体,各实体间通过主外键约束建立关联关系。 核心功能模块包含六大子系统: 1. 图书编目管理:支持国际标准书号、中国图书馆分类法等专业元数据的规范化著录,提供批量导入与单条录入两种数据采集方式 2. 库存动态监控:实时追踪在架数量、借出状态、预约队列等流通指标,设置库存预警阈值自动提醒补货 3. 读者服务管理:建立完整的读者信用评价体系,记录借阅历史与违规行为,实施差异化借阅权限管理 4. 流通业务处理:涵盖借书登记、归还处理、续借申请、逾期计算等标准业务流程,支持射频识别技术设备集成 5. 统计报表生成:按日/月/年周期自动生成流通统计、热门图书排行、读者活跃度等多维度分析图表 6. 系统维护配置:提供用户权限分级管理、数据备份恢复、操作日志审计等管理功能 在技术实现层面,界面设计遵循Material Design设计规范,采用QSS样式表实现视觉定制化。通过信号槽机制实现前后端数据双向绑定,运用多线程处理技术保障界面响应流畅度。数据验证机制包含前端格式校验与后端业务规则双重保障,关键操作均设有二次确认流程。 该系统适用于中小型图书管理场景,通过可扩展的插件架构支持功能模块的灵活组合。开发过程中特别注重代码的可维护性,采用面向对象编程范式实现高内聚低耦合的组件设计,为后续功能迭代奠定技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值