Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Weisfeiler-Lehman图同构测试及其他

Weisfeiler-Lehman图同构测试及其他

作者头像
全栈程序员站长
发布于 2022-07-23 04:28:01
发布于 2022-07-23 04:28:01
79001
代码可运行
举报
运行总次数:1
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

有问题欢迎留言讨论


Weisfeiler-Lehman图同构测试及其他

Weisfeiler-Lehman Test (WL Test)

Boris Weisfeiler and Andrey Lehman, 1968

Graph Isomorphism

一个简单的同构图例子:

1-dimensional WL Test

输入:两个可有节点属性的图

输出:两个图是否同构(满足WL Test是两图同构的必要条件)

  • 演示1
  • 演示2
  • 更加具体的描述
  • 稳定状态
  • 失效情况

注意这里和原ppt不同,2-WL其实应该是无法区分这个六边形和两个三角形的。(一种说法是1-WL和2-WL的能力其实是一样的。)

k-dimensional WL Test

3维的WL Test首先枚举图中所有三个点的组合,初始化标签,然后按照类似的方法进行细化。

k维的WL Test考虑了k个节点的组合。

Morgan Algorithm

Morgan, 1965

  • Chemical Fingerprints (ECFP) The ECFP generation process has three sequential stages:
    1. An initial assignment stage in which each atom has an integer identifier assigned to it.
    2. An iterative updating stage in which each atom identifier is updated to reflect the identifiers of each atom’s neighbors, including identification of whether it is a structural duplicate of other features.
    3. A duplicate identifier removal stage in which multiple occurrences of the same feature are reduced to a single representative in the final feature list. (The occurrence count may be retained if one requires a set of counts rather than a standard binary fingerprint.)
    4. 初始化原子标识符。哈希函数处理非氢原子属性(原子序号、连接性等),得到一个整数
    5. 标志符的迭代更新。类似Mogan算法,但是迭代次数是预先设定的,不追求得到1-WL的区分度。
    6. 标识符去重。保留所有不同的标识符,压缩到一个比特串中。
  • Canonical SMILES

利用Mogan算法迭代连通度,直到稳定(更新后连通度直方图形状不变),利用连通度进行排序,得到唯一的SMILES记法。(这种算法是商业化的,所以计算Canonical SMILES要用Daylight软件。)


Message-Passing Neural Network (MPNN)

Weisfeiler-Lehman Netwrok (WLN)

WLN的思想是将1-WL 中离散的呈指数增长的节点标签用嵌入向量代替

用于预测有机分子化学反应,NeurIPS 2017

MPNN

消息传递网络MPNN是一种聚合邻近点信息的图神经网络框架。

MPNN contains two phases, a message passing phase (namely the propagation step) and a readout phase.

  • The message passing phase runs for T times and is defined by message function Mt and vertex update function Ut.

where m v t m_v^t mvt​ is message and e v w e_{vw} evw​ is the feature of the edge from node v to w

  • The reader phase computes a feature vector for the whole graph using readout function

How Powerful Are Graph Neural Networks?

ICLR 2019

WL Test & MPNN

  • MPNN
  • 1d WL Test

1-WL 是MPNN类型的GNN的性能上界

不过利用WL得到的节点特征是离散的,或者说是one hot类型的,不能用于计算图的相似度等。

  • 设计合适的更新函数和聚合函数非常重要
  • 常用的聚合函数如MAX、MEAN不能处理的一些情况

聚合函数需要是 单射(injective) 的,即函数不同的输入不能有相同的输出。

Graph Isomorphism Networks (GIN)

  • 更新(以及聚合)函数:MLP+SUM
    • 存在这样一个函数是单射的
  • 用MLP拟合 f ϕ f\phi fϕ
  • READOUT函数

实验(图分类 Graph Classification)

训练集:

测试集:


Beyond WL

Beyond 1-WL

non local

基于k-WL及各种变种k-WL设计的网络,虽然理论很好但实际效果不佳。

  • k-GNNs 需要 O ( n k ) O(n^k) O(nk)级别内存
  • Invariant Graph Networks (IGN) based on k-order tensors
    • 3-WL 级别的IGN有平方级别的复杂度,但较MPNN的线性复杂度还是略显臃肿

Beyond WL

  • GSN 在MPNN的基础上,使聚合的信息包括局部图结构(保留了局部性和线性复杂度)
  • 近似同构,用某种度量来衡量两图的相似性

Reference

Michael Bronstein’s Blog (Recommended)

WL Test

  • Combinatorial Properties of the Weisfeiler-Leman Algorithm by Sandra Kiefer
  • Weisfeiler-lehman graph kernels
  • On Weisfeiler-Leman Invariance: Subgraph Counts and Related Graph Properties

Chemical Fingerprint

WLN

  • Predicting organic reaction outcomes with weisfeiler-lehman network NeurIPS2017

MPNN

  • Graph neural networks: A review of methods and applications arXiv 2018
  • Neural message passing for quantum chemistry arXiv 2017

GIN

  • How powerful are graph neural networks? ICLR 2019

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126245.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras1D卷积 val_acc:0.99780)
轴承是在机械设备中具有广泛应用的关键部件之一。由于过载,疲劳,磨损,腐蚀等原因,轴承在机器操作过程中容易损坏。事实上,超过50%的旋转机器故障与轴承故障有关。实际上,滚动轴承故障可能导致设备剧烈摇晃,设备停机,停止生产,甚至造成人员伤亡。一般来说,早期的轴承弱故障是复杂的,难以检测。因此,轴承状态的监测和分析非常重要,它可以发现轴承的早期弱故障,防止故障造成损失。 最近,轴承的故障检测和诊断一直备受关注。在所有类型的轴承故障诊断方法中,振动信号分析是最主要和有用的工具之一。 在这次比赛中,我们提供一个真实的轴承振动信号数据集,选手需要使用机器学习技术判断轴承的工作状态。
小宋是呢
2019/06/27
2K0
[深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras1D卷积 val_acc:0.99780)
实战 | 基于KerasConv1D心电图检测开源教程(附代码)
本实战内容取自笔者参加的首届中国心电智能大赛项目,初赛要求为设计一个自动识别心电图波形算法。笔者使用Keras框架设计了基于Conv1D结构的模型,并且开源了代码作为Baseline。内容包括数据预处理,模型搭建,网络训练,模型应用等,此Baseline采用最简单的一维卷积达到了88%测试准确率。有多支队伍在笔者基线代码基础上调优取得了优异成绩,顺利进入复赛。
AI科技大本营
2019/06/14
2.9K0
[深度应用]·使用一维卷积神经网络处理时间序列数据
许多技术文章都关注于二维卷积神经网络(2D CNN)的使用,特别是在图像识别中的应用。而一维卷积神经网络(1D CNNs)只在一定程度上有所涉及,比如在自然语言处理(NLP)中的应用。目前很少有文章能够提供关于如何构造一维卷积神经网络来解决你可能正面临的一些机器学习问题。本文试图补上这样一个短板。
小宋是呢
2019/06/27
16.1K2
[深度应用]·使用一维卷积神经网络处理时间序列数据
基于深度学习的面部表情识别系统
来源商业新知网,原标题:零起步,数据科学家手把手教你coding表情识别(内附代码)
商业新知
2019/06/14
7.8K0
基于深度学习的面部表情识别系统
用Keras Tensorflow 2.0实现YOLO V1
本文尝试使用Tensorflow 2.0复现论文<You Only Look Once: Unified, Real-Time Object Detection>的效果。
YoungTimes
2022/04/28
1.3K0
用Keras Tensorflow 2.0实现YOLO V1
keras系列︱Sequential与Model模型、keras基本结构功能(一)
中文文档:http://keras-cn.readthedocs.io/en/latest/ 官方文档:https://keras.io/ 文档主要是以keras2.0。
全栈程序员站长
2022/11/03
1.9K0
【keras】一维卷积神经网络做回归「建议收藏」
数据集大小仍然是247*900,不同的是数据集的第247位变成了湿度特征的真实湿度值。
全栈程序员站长
2022/11/09
2.3K0
【keras】一维卷积神经网络做回归「建议收藏」
TensorFlow教程:快速入门深度学习五步法(附Keras实例)
作为一个程序员,我们可以像学习编程一样学习深度学习模型开发。我们以 Keras 为例来说明。我们可以用 5 步 + 4 种基本元素 + 9 种基本层结构,这 5-4-9 模型来总结。
数据派THU
2018/07/30
1.5K0
TensorFlow教程:快速入门深度学习五步法(附Keras实例)
基于1DCNN(一维卷积神经网络)的机械振动故障诊断
机械振动故障诊断最为经典的还是凯斯西储实验室的轴承故障诊断,开学一周了,上次改编鸢尾花分类的代码可用,但是并不准确。开学一周重新改编了别人的一篇代码,亲测好用。不多咧咧直接放上去(基于Tensorflow2.0)(Spyder4 软件上跑的)数据集时本人把凯西轴承实验驱动端内圈损坏尺寸0.14和0.21做的二分类,数据集中0代表的0.14而1代表的0.21具体看下面最后
全栈程序员站长
2022/06/27
7500
基于1DCNN(一维卷积神经网络)的机械振动故障诊断
Keras 学习笔记(三)Keras Sequential 顺序模型
你可以通过将网络层实例的列表传递给 Sequential 的构造器,来创建一个 Sequential 模型:
种花家的奋斗兔
2020/11/12
2.4K0
keras 基础入门整理
在进行自然语言处理之前,需要对文本进行处理。 本文介绍keras提供的预处理包keras.preproceing下的text与序列处理模块sequence模块
学到老
2019/01/25
1.5K0
Deep learning with Python 学习笔记(7)
卷积神经网络能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效地利用数据。这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让它对序列处理特别有效。对于某些序列处理问题,这种一维卷积神经网络的效果可以媲美 RNN,而且计算代价通常要小很多,并且,对于文本分类和时间序列预测等简单任务,小型的一维卷积神经网络可以替代 RNN,而且速度更快
范中豪
2019/09/10
7350
Deep learning with Python 学习笔记(7)
Tensorflow2——卷积神经网络的搭建
***** 以下有关代码全是在jupyter notebook 里面调试完后曾,如果直接复制粘贴到pycharm可能不太行,自己得改改
Albert_xiong
2021/06/21
1.3K0
Tensorflow2——卷积神经网络的搭建
照片解锁手机不能忍?教你用OpenCV做活体检测 | 有代码
名叫Adrian Rosebrock的程序猿,写了份事无巨细的教程,从构建数据集开始,一步步教大家用AI分辨真人和照片,精细到每行代码的用途。
量子位
2019/04/23
1K0
照片解锁手机不能忍?教你用OpenCV做活体检测 | 有代码
keras系列︱Sequential与Model模型、keras基本结构功能(一)
该文章介绍了在深度学习模型中,不同的层对输入进行计算,从而影响模型的性能。文章详细讨论了卷积层、池化层、全连接层和LSTM层的特点和作用,以及如何使用这些层来构建高性能的模型。此外,文章还探讨了如何通过冻结层和重新训练层来提高模型的性能。
悟乙己
2018/01/02
10.3K0
keras系列︱Sequential与Model模型、keras基本结构功能(一)
[深度应用]·首届中国心电智能大赛初赛开源Baseline(基于Keras val_acc: 0.88)
为响应国家健康中国战略,推送健康医疗和大数据的融合发展的政策,由清华大学临床医学院和数据科学研究院,天津市武清区京津高村科技创新园,以及多家重点医院联合主办的首届中国心电智能大赛正式启动。自今日起至2019年3月31日24时,大赛开启全球招募,预计大赛总奖金将高达百万元!目前官方报名网站已上线,欢迎高校、医院、创业团队等有志于中国心电人工智能发展的人员踊跃参加。
小宋是呢
2019/06/27
1.2K0
[深度应用]·首届中国心电智能大赛初赛开源Baseline(基于Keras val_acc: 0.88)
100天搞定机器学习|day40-42 Tensorflow Keras识别猫狗
前文我们用keras的Sequential 模型实现mnist手写数字识别,准确率0.9713。今天我们完成day40-42的课程,实现猫、狗的识别。
统计学家
2019/08/09
7800
100天搞定机器学习|day40-42 Tensorflow Keras识别猫狗
观点 | 用于文本的最牛神经网络架构是什么?
选自GitHub 作者:Nadbor Drozd 机器之心编译 参与:路雪、刘晓坤 用于文本的最牛神经网络架构是什么?数据科学家 Nadbor 在多个文本分类数据集上对大量神经网络架构和 SVM + NB 进行了测试,并展示了测试结果。 去年,我写了一篇关于使用词嵌入如 word2vec 或 GloVe 进行文本分类的文章(http://nadbordrozd.github.io/blog/2016/05/20/text-classification-with-word2vec/)。在我的基准测试中,嵌入的
机器之心
2018/05/09
7090
观点 | 用于文本的最牛神经网络架构是什么?
【tensorflow2.0】训练模型的三种方法
模型的训练主要有内置fit方法、内置tran_on_batch方法、自定义训练循环。
西西嘛呦
2020/08/26
1K0
TextCNN文本分类(keras实现)「建议收藏」
深度学习模型在计算机视觉与语音识别方面取得了卓越的成就,在 NLP 领域也是可以的。将卷积神经网络CNN应用到文本分类任务,利用多个不同size的kernel来提取句子中的关键信息(类似 n-gram 的关键信息),从而能够更好地捕捉局部相关性。
全栈程序员站长
2022/09/13
1.7K0
TextCNN文本分类(keras实现)「建议收藏」
推荐阅读
相关推荐
[深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras1D卷积 val_acc:0.99780)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验