没有合适的资源?快使用搜索试试~ 我知道了~
软件X 21(2023)101293原始软件出版物reg-sgc:正则化简单图卷积的开源软件Patrick Pho,Alexander V. Mantzaris统计和数据科学系,中佛罗里达大学(UCF),4000大学大道,奥兰多,32816-2370,佛罗里达州,美国ar t i cl e i nf o文章历史记录:收到2022年2022年12月5日收到修订版,2022年MSC:90C3591D3092B20关键词:机器学习网络科学图神经网络a b st ra ct属性图是表示许多领域中的真实系统的强大工具,例如社交网络、生物代谢网络、消费者推荐系统等。将节点标记成代表性组是网络分析中的一个重要组成部分,在诸如协同过滤的任务中,因为它们既使用节点属性信息,边缘信息图神经网络(GNN)提供了一个表达方法框架,该框架结合了节点特征和网络结构,以产生最先进的节点类别分类。正则化简单图卷积神经网络是一种GNN变体,它利用灵活的约束来产生较小的权重集,有助于简化推理过程并为用户突出重要功能。本文介绍了一个Python开源软件库,它实现了正则化简单图卷积(SGC)。©2022作者(S)。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v1.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-22-00200可复制胶囊的永久链接https://github.com/phuongpho/reg-sgc#train-model法律代码许可证MIT许可证使用git的代码版本控制系统使用Python的软件代码语言、工具和服务编译要求、操作环境和跨平台依赖关系如果可用,请链接到开发人员文档/手册https://github.com/phuongpho/reg-sgc#prerequisites问题支持电子邮件alexander. ucf.edu1. 动机和意义许多复杂的现实生活系统可以自然地建模为属性图,其中节点表示包含关联属性(特征)的系统元素,而边捕获这些元素之间的连接信息。例子可以在各个领域找到,如社会科学(社会网络[1]),生物学(生物化学途径[2])和材料科学(分子网络[3])。这些系统的行为大多由其底层网络结构定义或依赖于其底层网络结构[4]。对这些网络的研究通常涉及将节点标记为代表性组的集合节点标记可以是*通讯作者。电子邮件地址:patrick. ucf.edu(Patrick Pho),alexander. ucf.edu(Alexander V.Mantzaris)。https://doi.org/10.1016/j.softx.2022.101293使用主要依赖于节点特征信息的标准分类方法(诸如逻辑回归)来推断。然而,这些方法没有考虑补充节点的连通性信息。另一方面,社区检测算法(例如Louvain [5])仅考虑节点连接信息,因此忽略了节点特征的丰富信息。图神经网络(GNN)是一类神经网络,其利用迭代消息传递机制来将节点属性与连接性组合,从而产生用于推理的信息性节点表示(节点嵌入)已经提出了许多GNN变体,并且在各种任务上实现了最先进的性能,例如节点分类[6,7],链接预测[8,9]等。随着数据集和保存它们的数据库的增长,人们越来越关注处理时间,模型的复杂性和解释结果的能力简单图卷积2352-7110/©2022作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxPatrick Pho和Alexander V. 曼萨里斯软件X 21(2023)1012932R=KC∏∑()−→×|θ|. 1+L∑(R联系我们γ-IC测井9:else:c1∈CC12c1∈Cc2∈CC1211:如果结束算法1训练正则化的SGC模型输入:属性图G=(V;X;A),训练节点Vtr,跳数k∈ [0,∞),惩罚项L1,L2,L3输出:权重ΘR=[θ T,θ T,..., θ T]12C1:初始化Θ[i=0]2:聚合输入X<$=SkX3:whilei≤num_iterdo[一][i=0]4:计算加权输入:Z=XΘR5:计算节点输出:H[i]softmax(Z[i])6、计算损失:∑∑[exp(-(ΘR(.,c))T. x(i)]i=1c= 1Cc=1)T.(xi)(一exp(−(θR(.4(−1)1Cc∈ C2×θc2c∈ C7:如果ortho_const,则:8:LR(Θ)←LR(Θ)+L3×∑ ∑(|θT| · |θc|:c1c2)2)10:LR(Θ)←LR(Θ)+L3×(∑∑(|θ T|·|θc|:c1-c2))12:使用梯度下降算法更新Θ[i+1]13:i i1十四日: endwhileFig. 1. 整体软件结构。(SGC)[10]是一个简化的GNN模型,它提供快速有效的计算,同时仍然保持出色的预测能力。工作[11,12]证明了SGC的表达节点嵌入能力,并探索了一种灵活的正则化机制,以进一步简化SGC的推理过程,同时促进有意义的解释。现有的Python包专门用于构建和训练GNN,例如Deep GraphLibrary(DGL)[13]和PyTorch Geometric(PyG)[14]。用户可以从各种预构建的GNN变体中轻松构建或修改自定义GNN模型然而,还没有实现正则化的SGC。因此,在本文中,我们通过为上述GNN模型提供基于DGL框架构建的Python开源软件来我们的软件可以被采用来为大型社交网络构建推荐系统,其中计算成本很高,因此可以快速,最好有一个有效的框架该模型可以突出有用的节点特征,这些特征对于确定产品类别或用户社区非常重要。该包的用户可以导入一个节点列表,其中的特征保存在一个numpy数组中,对应的邻接矩阵在一个scipy稀疏矩阵中,这是一个节点类别标签数组,并返回预测的节点分类,其中的权重用于预测每个类别的特征2. 软件描述2.1. 软件构架Reg-sgc是在Python 3.9中使用NumPy [15],Pytorch [16]和DGL [13]编写的,用于有效计算数值输入LR(ΘR)=+c2∈CLPatrick Pho和Alexander V. 曼萨里斯软件X 21(2023)1012933=== −== − ===−深度学习建模它是免费分发的,并在GitHubhttps://github.com/phuongpho/reg-sgc上开放供贡献。图1说明了Reg-sgc的总体结构。当执行main.py程序时,调用data_loader函数以检查数据集的存在并加载必要的输入组件,例如特征张量X,标签张量y,掩蔽张量等。生成SGC模型对象作为regConv类的实例,具有用户定义的约束L1,L2和L3。实例化torch.optim.Adam类的优化器对象以在训练过程中使用Adam算法[17]。 关于方法的更多细节可以在[11]中找到。正则化SGC的损失使用reg_loss函数计算,该函数由两个分量组成:norm_weight和loss_fnc。前一个函数对模型的权重进行归一化make_trainer实用函数接受模型、优化器和损失对象,以生成一个包装函数,该函数计算损失、梯度,并为每次训练迭代更新模型调用evaluate函数来评估权重更新后模型的损失。2.2. 软件功能主程序实现算法1中总结的正则化SGC的训练过程。首先,模型聚合相邻要素以更新结点要素输入X<$=SkX。权重集合Θ被初始化,并且使用通过线性运算Z产生初始加权输入Xθ。然后,使用softmax函数Hsoftmax(Z)计算节点输出矩阵损失是根据Eq.当量(一).用户可以选择使用默认的L3约束或修改的正交约束.该框架可以通过使用随机梯度下降更新网络权重Θ来优化损失。我们利用PyTorch [16]来更新网络3. 说明性实例在本节中,我们将演示如何使用我们的程序来拟合具有不同约束设置的正则化SGC [11]。为此,我们将在一个流行的基准属性图数据集上训练我们的模型,FaceBook Page Page数据集[14,18]。它包含Facebook页面作为节点,页面之间的相互喜欢被认为是边缘。节点特征是从总结站点用途的站点描述中提取的。感兴趣的任务是将每个页面分为四类:政治家,政府组织,电视节目和公司。用户可以有意指定每个组件L1、L2和L3这取决于它们的应用。默认情况下,这三个惩罚超参数设置为零。如果用户希望在权重向量上应用L3约束,则可以通过使用L3正交参数来选择正交惩罚。在示例1中,我们应用L11e4和正交L30的情况。00268虽然 跳过L2术语。子图图2a显示了具有上述正则化的SGC的拟合权重向量。该图包含四个热图,显示了对应于四个类别的权重向量的大小。权重向量ΘR的分量显著减少,模型的准确率达到84.2%。子图3a包含四个权值矢量的直方图这些图显示单峰分布,表明大多数组分向零收缩。图二. 在Facebook Page Page数据集上拟合的具有不同惩罚设置的SGC权重向量的热图。子图(a)示出了示例1的结果,其中我们应用L11e 4、L2 0和正交约束L30的情况。00268.子图(b)示出了示例2的结果,其中约束被选择为L1=1 e−4、L2=1 e−3和L3= 0。00268.例1:正则化的SGC,L1= 1 e − 4,正交约束L3= 0。00268python main.py--dataset fbpagepage--L1 1e-4--L3 0.00268--L3-ortho --n-epochs 200--early-stop在示例2中,我们将另一个约束L21e 3添加到示例1中使用的正则化设置中,并且还选择了相反的L3项。子图图2b呈现了四个热图,示出了与该正则化方案对应的拟合权重向量的大小。L2项的引入对模型的约束更加严格,并进一步减小了权向量的大小子图3b示出了权重向量的四个直方图,其在零处具有较高的峰值和细长的尾部。它表明Patrick Pho和Alexander V. 曼萨里斯软件X 21(2023)1012934= − ==图三. 在Facebook Page Page数据集上拟合的具有不同惩罚设置的SGC权重向量的直方图。子图(a)示出了实施例1的结果,其中我们应用L11e4,L20和正交约束L3 0。00268.子图(b)示出了实施例2的结果,其中约束条件L1= 1 e− 4,L2= 1 e− 3,L3= 0。00268.当大多数分量向零收缩时,权重向量变得更稀疏。例二: SGC,约束条件为L1=1e− 4,L2= 1e− 3,L3= 0。00268python main.py--dataset fbpagepage --L1 1e-4 --L2 0.001--L3 0.00268 --n-epochs 200--提前停止如果用户想将模型应用到他们的自定义数据集,他们可以使用我们的实用函数import_data导入他们的数据。 该函数以SciPy稀疏矩阵格式的邻接矩阵、节点特征数组、节点标签数组和掩码数组作为输入。这组输入将被转换为dgl图对象,然后可以将其加载到程序中,用于训练正则化的SGC模型。4. 影响分析具有数百万个节点和边的大规模属性图数据集[19]带来了许多挑战,例如昂贵的计算成本,来自大量不相关特征的噪声信号。所提出的正则化SGC [11]提供了一个快速有效的框架来处理图结构化数据,并且还能够生成稀疏的拟合权重集,有助于增强用户对与每个类相关的重要特征的理解。尽管有上述好处,但在流 行 的 GNN 框 架 中 , 如 DGLhttps://www.dgl.ai/ [13] 或PyGhttps://pytorch-geometric.readthedocs.io/en/latest/ [14],还没有正式实现该模型。该软件通过提供正则化SGC的正式实现来有一个实用程序功能可以帮助导入自定义数据集,以便从业者可以轻松地在其应用程序中试验模型。5. 结论在本文中,我们讨论了正则化的SGC的实现。Reg-sgc是用Python编写的,并利用开源格式。它有助于研究社区的图分析,采用他们的应用程序的模型。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作数据可用性文章中描述的研究未使用任何数据引用[1]范伟,马英,李青,何英,赵娥,唐军,等.图神经网络社会推荐。 上一篇:WorldWideWebConference2019,p.417-26.http://dx.doi.org/10.1145/3308558.3313488网站。[2]Bove P,Micheli A,Milazzo P,Podda M.用图神经网络预测生化途径的动力学性质。在:生物信息学。2020年,p. 32比43[3]Gilmer J,Schoenholz SS,Riley PF,Vinyals O,Dahl GE.量子化学的神经信息传递。上一篇:机器学习国际会议PMLR; 2017,p. 1263-72.[4]埃斯特拉达复杂网络的结构:理论与应用。牛津大学出版社;2012.[5] 放大图片作者:J. J.在大型网络中快速展开统计机械理论实验杂志2008;2008( 10 ) : P10008. http://dx.doi.org/10.1088/1742-5468/2008/10/P10008 网站。[6]Kipf TN , Welling M. 图 卷 积 网 络 的 半 监 督 分 类 。 2016 年 , arXiv 预 印 本arXiv:1609.02907。http://dx.doi.org/10.48550/arXiv.1609.02907。[7] Rong Y,Huang W,Xu T,Huang J. Dropedge:Towards deep graphconvolutional networks on node classification. 2019 年 , arXiv 预 印 本arXiv:1907.10903。http://dx.doi.org/10.48550/arXiv.1907.10903网站。[8]作者:Kim M.变分图归一化自动编码器。第30届ACM信息知识管理国际会议论 文 集 。 2021 , 第 2827-31 页 。 http://dx.doi.org/10.1145/3459637 的 网 站 。3482215[9]Yun S,Kim S,Lee J,Kang J,Kim HJ. Neo-GNNs:用于链接预测的邻域重叠感知图神经网络。34.第三十四章:你是我的女人[10]吴F,Souza A,Zhang T,Fifty C,Yu T,Weinberger K.简化图卷积网络。上一篇:机器学习国际会议PMLR; 2019,p. 6861-71[11]Pho P,Mantzaris AV.正则化简单图卷积(SGC),用于提高大型数据集的可解释性。J Big Data 2020;7(1):1-17. http://dx.doi.org/10.1186/s40537-020-00366-x网站。Patrick Pho和Alexander V. 曼萨里斯软件X 21(2023)1012935[12]Pho P,Mantzaris AV.探索正则化的SGC在社交网络数据中的应用。ICWSM;2022,http://dx.doi.org/10.36190/2022.27。[13]Wang M,Zheng D,Ye Z,Gan Q,Li M,Song X,et al. Deep graph library:一个以图形为中心的高性能图形神经网络包。 2019年,arXiv预印本arXiv:1909.01315。http://dx.doi.org/10.48550/arXiv的网站。1909.01315。[14] Fey M,Lenssen JE.使用PyTorch Geometric进行快速图形表示学习。在:ICLR研讨会上表示学习图和流形。2019年,http://dx.doi.org/10.48550/arXiv.1903.02428。[15]Harris CR , Millman KJ , van der Walt SJ , Gommers R , Virtanen P ,Cournapeau D , et al. Array programming with NumPy. Nature 2020;585(7825):357-62. http://dx.doi.org/10.1038/s41586-020-2649-2网站。[16]Paszke A,Gross S,Massa F,Lerer A,Bradbury J,Chanan G,et al. Py-Torch:An imperative style,high-performance deep learning library. In:Wallach H,Larochelle H,Beygelzimer A,d'Alché Buc F,Fox E,GarnettR,editors.神经信息处理系统进展。第32卷。柯兰联营公司2019年,第8024-http://papers.neurips.cc/paper/9015-[17]Kingma DP,Ba J. Adam:一种随机优化方法。2014年,arXiv预印本arXiv:1412.6980。http://dx.doi.org/10.48550/arXiv.1412.6980网站。[18]放大图片 作者:J.多尺度属 性节点嵌入。J Complex Netw 2021;9(2) .http://dx.doi.org/10.1093/comnet/cnab014网站。[19][10]李国忠,李国忠,李国忠.抓取facebook用于社交网络分析。在:网络智能,挖掘和语义国际会议论文集。2011年,第1-8号。网址://dx.doi.org/10.1145/1988688.1988749网站。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功