标题:
Missing data imputation with adversarially-trained graph convolutional networks
用对抗训练图卷积网络实现缺失数据填充

基本信息:
Received 6 May 2019, Revised 25 May 2020, Accepted 4 June 2020, Available online 13 June 2020.
Neural Networks

原文链接:https://www.sciencedirect.com/science/article/pii/S0893608020302185

配套代码:https://github.com/spindro/GINN

Introduction

  • 人们已经认识到可以在预测框架下构建数据填充框架,并且经典的机器学习方法可能适用于此任务。
  • MDI(missing data imputation,缺失数据填充)可能是用于下游学习任务的简单预处理步骤,在这种情况下,填充性能可能不会成为稍后分类/回归准确性的完美代理。【重构的效果好 不等价于 分类/回归效果好】
  • 通常,可以根据对MDI的预测方法进行分类:
    • 全局模型——简单的线性模型,支持向量机,或者是最近的深度神经结构
    • 使用相似的数据点来推断缺失的组件——从整个数据集计算的简单统计量(例如中位数),或者k-NN
  • 本文认为更强大的MDI应该同时利用这两种思想,即对每个插补使用相似的数据点以及从整体数据集构建全局模型
  • 最近出现了大量的神经网络技术,通过在图的领域工作,能够建模和利用这种结构化信息。
  • 概览:
    • 用图去噪自动编码器来制定MDI任务,图的每条边编码两个模式之间的相似性
    • 在训练阶段添加一些人工噪声,用对抗学习的方式重建整个数据集
    • 三个拓展:
      1. 用标准损失函数和对抗损失混合
      2. 在输入到输出层之间加入残差连接
      3. 在GCN层的输入中使用通用上下文向量包含数据集上的全局信息,例如所有特征列的平均值和中位数。

相关工作

缺失数据填充

  • MDI的一种流行技术:MICE(multiple imputation using chained equations,使用链式方程的多重插补)——对超出MCAR( missing completely at random,完全随机缺失)假设的领域表现不好
  • 在机器学习领域中,人们很快意识到MDI可以被构造为一项预测性任务,可以在其上应用标准监督算法的变体,包括k近邻、决策树、支持向量技术等。——mixed performance
  • k-NN算法要对相似的特征向量进行加权平均,而其他算法则需要建立用于估算的数据集的全局模型
  • 最近,人们对将深度学习技术应用于MDI问题的兴趣大增。
  • 一般来说,由于它们的多层非线性计算,这些方法更善于捕捉数据(以及缺失数据的过程)中的复杂关联,但它们仍然需要从数据集构建一个全局模型,而忽略了来自类似点的潜在重要贡献。
  • 本文提出的方法可以看作是MIDA算法1和Yoon等人(2018)2的扩展,但关注的是图神经网络,以捕获局部依赖关系

图神经网络

  • 一条线:展开递归神经网络和图上信息扩散之间的类比
  • 另一条:在几何深度学习的一般术语下将卷积神经网络扩展到图域
  • 在这项工作中,使用了Kipf和Welling(2017)的GCN,即每一层都包括一个跨越相邻层的线性扩散过程。
  • 如何在重建过程中包含关于数据集的全局信息——Battaglia等人(2018)3的一些想法
  • 最后,本文工作与流形正则化(manifold regularization)4领域有关,流形正则化是一类半监督的方法,利用模式之间的相似信息在优化过程中强制一个正则化项。

[3]是关于关系归纳偏差、深度学习和图网络。2018年DeepMind团队发表的一篇论文,其中提出的通用图网络模型中包含一个全局变量
全局属性u:图级属性,例如,u可能代表重力场。文中是说可以用作图分类的标签。

[4]关于流形正则化:从有标记和无标记例子学习的几何框架。
做法:挖掘数据分布的几何形状然后将其作为一个增加的正则化项
基于假设:样本相似的数据,标签也有相似性(两个样本在流形中距离相近,那么他们的label也应该一样或相似)。
结果:保证训练的f满足这种关系(样本的分布函数),而不仅仅是保证很高的分类能力。

参考:https://www.zhihu.com/question/40794637;https://blog.csdn.net/muyewt/article/details/87892390

方法

相似图构建


这个剪枝操作,和流形学习本身关系不大,引用的论文中只是在构建邻域图时用了这个小技巧。


对于邻域图的构造,邻域数 t的“适当”选择是至关重要的。小 t可能会产生过多断开的组件,而大 t可能会引入不需要的边。。。在这里,我们选择 t=5,并对相邻距离施加一个上限,以缓解泄漏问题。我们在PIE-35K数据集中使用了一个对应于95%相邻距离的距离限制

  • 使用我们的管道从Iris数据集重建的图的子集。
  • 对于每个节点,颜色强度表示连接的数量大小表示缺少特征的数量。两者之间有明显的相关性。

    关于相似图的构造:我们在实验和开源实现中采用的本节中描述的方法被发现提供了良好的实证性能。然而,我们强调,在提出的GINN框架中,相似图可以根据文献中可用的任何准则或方法来构建。例如,半监督文献中的经典替代选择包括边上的二元权重、热核相似性(Belkin et al.,2006)或选择固定数量的邻居而不是百分位数(Geng,Tao,Xu,Yang,&Hua,2012)。如果输入包含文本、图像或类似数据,那么定制预训练嵌入的余弦相似性也是一种流行的选择(Bui、Ravi和Ramavajjala,2018)。我们将对这些不同的替代方案进行分析,以供今后的工作参考。

自编码器架构

Denoising Autoencoder(降噪自动编码器)5就是在Autoencoder的基础之上,为了防止过拟合问题而对输入的数据(网络的输入层)加入噪音,使学习得到的编码器W具有较强的鲁棒性,从而增强模型的泛化能力。

以一定概率把输入层节点的值置为0,从而得到含有噪音的模型输入x^\hat{x}x^。这和dropout很类似,不同的是dropout是隐含层中的神经元置为0。

以这有丢失的数据x^\hat{x}x^去计算yyy,计算zzz,并将z与原始x做误差迭代,这样,网络就学习了这个Corruputed的数据。

参考:https://blog.csdn.net/n1007530194/article/details/78369429

对抗训练

skip connection

自动编码器本身会生成数据集的近似重建,而在这一过程中,critic的损失会指导自动编码器。

然而,我们的主要范围是对数据中不存在的值进行插补。对于这项任务,我们希望来自最相似节点的更大贡献。基于这个原因,我们引入了一个额外的跳过层,它总是包含在一个图卷积运算中,但是在没有节点本身的情况下通过每个节点的近邻传播信息。这会阻止自动编码器学习恒等函数

解码层变为:

编码阶段涉及1跳邻居,而解码/插补阶段涉及最多2跳的节点。跳过连接涉及1跳邻居而不考虑节点N。

其中,L ̃计算方法与L类似(如第3节所述),但从没有自循环的邻接矩阵开始。

包含全局统计信息

设置了数据集的一些统计信息作为全局属性向量g,其中包括每个属性的均值或众数。可以在最后一层考虑全局分量,加权它们对每个节点更新的贡献:

此外,如果全局信息的计算是可微的 ,我们可以针对原始数据集的全局属性计算损失项:

实验

  • 20个真实数据集,人工添加缺失:10%、20%、30%、50%。

    • 包含分类、数值和混合数据集,观察值范围从150个到30000个,属性从仅4个到几乎40个。
  • 3个具有缺失值的真实世界数据集

插补性能——比较MAE和RMSE

6种最先进的插补算法:MICE,MIDA,MissForest,均值,矩阵分解,k-NN。

表2:有30%缺失元素的均方根误差。

图4:每个MDI方法在真实值中获得(a)最低平均MAE或(b)最低平均RMSE的数据集数目。

关于缺失元素的较低百分比(10%,20%),我们的方法几乎与测试的算法中最好的即MissForest相当。

当这些百分比增加时,我们的方法将比最新技术带来巨大的改进,最大差异为50%,其中我们的方法明显优于其他所有技术。

预测性能——比较准确率

我们考虑4种不同的分类器:k = 5的k-NN分类器、正则逻辑回归、具有RBF核的支持向量分类器、具有10个估计器且最大深度为5的随机森林分类器。

表3:随机森林下的分类准确率。

我们的方法在测试的每种分类算法中均胜过竞争对手,并且获胜次数最多,在85.62%的案件中获胜。

通过根据Demšar(2006)中的指南对算法进行统计分析Friedman等级检验证实,相对于图4的RMSE(p值为1.11e-11),以及相对于图5中的分类器的准确性(例如随机森林的p值为1.01e-10)都存在统计学显著差异。一组Nemenyi事后检验进一步证实了图5中随机森林分类的GINN和所有其他方法之间的统计显著性差异,以及图4中插补结果的GINN和除RF以外的所有其他方法之间的统计显著性差异。

图5:每个MDI方法对使用的每个分类器达到最高分类精度的数据集数量。

消融实验

作为起点,我们使用了2层去噪自动编码器(DAE),该方法是通过将邻接矩阵设置为恒等式而获得的。 然后,我们在图元(GINN)中引入了图和图卷积层,然后添加了critic和对抗训练(A-GINN),跳过连接(A-GINN skip),最后是全局属性(A-GINN-skip-global)。

不可见数据上的插补

在本节中,我们将测试该模型的能力,即插补在训练时不可用的数据集的新损坏部分。为了计算这些新的值,我们必须首先在图中注入新的数据,添加节点和边。我们为新特征(不考虑标签)计算一个新的相似度矩阵,以及这些新特征和旧特征之间的相似度。然后,我们将新节点添加到图中,并根据第4.1节中描述的双阈值过程生成边。

表5:缺失20%下的填充MAE

我们的方法能够在不执行额外训练的情况下对新的看不见的数据执行最新的估算,以及在少量额外的优化步骤的情况下进行改进。

预先存在缺失值的数据集

当数据不是完全随机丢失时,问题将变得更加复杂,因为变量丢失的可能性与其他观察到的数据之间可能存在关系。

虽然我们提出的算法不一定总能达到最佳精度,但从表7中可以看出,平均而言,它是对外部分类器选择最有弹性的算法。 总体而言,当与逻辑回归相结合时,我们获得了宫颈癌数据集的最佳准确性(与其他几种算法相当),而在其他两种情况下,与随机森林或SVC结合时,我们获得了第二好的结果。

表7:不同填充算法十次随机得到的准确率和标准差


  1. Gondara L., Wang K. (2018) MIDA: Multiple Imputation Using Denoising Autoencoders. In: Phung D., Tseng V., Webb G., Ho B., Ganji M., Rashidi L. (eds) Advances in Knowledge Discovery and Data Mining. PAKDD 2018. Lecture Notes in Computer Science, vol 10939. Springer, Cham. ↩︎

  2. Yoon, J., Jordon, J. & Schaar, M… (2018). GAIN: Missing Data Imputation using Generative Adversarial Nets. Proceedings of the 35th International Conference on Machine Learning, in Proceedings of Machine Learning Research 80:5689-5698 Available from. ↩︎

  3. Battaglia, P. W. , Hamrick, J. B. , Bapst, V. , Sanchez-Gonzalez, A. , Zambaldi, V. , & Malinowski, M. , et al. (2018). Relational inductive biases, deep learning, and graph networks. https://arxiv.org/abs/1806.01261。 ↩︎

  4. Belkin, M., Niyogi, P., & Sindhwani, V. (2006). Manifold regularization: A geometric framework for learning from labeled and unlabeled examples. Journal of machine learning research, 7(11). ↩︎

  5. Vincent, P., Larochelle, H., Bengio, Y., & Manzagol, P. A. (2008, July). Extracting and composing robust features with denoising autoencoders. In Proceedings of the 25th international conference on Machine learning (pp. 1096-1103). ↩︎

论文解读:Missing data imputation with adversarially-trained graph convolutional network相关推荐

  1. 【论文解读 ICLR 2020 | DropEdge】TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION

    论文题目:DROPEDGE: TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION 论文来源:ICLR 2020 论文链接 ...

  2. AI医药论文解读:Modeling Polypharmacy Side Effects with Graph Convolutional Networks

    论文题目 Modeling Polypharmacy Side Effects with Graph Convolutional Networks 中文 使用图卷积网络对多药副作用进行建模 论文出自 ...

  3. GAIN: Missing Data Imputation using Generative Adversarial Nets(基于生成对抗网络的缺失数据填补)论文详解

    目录 一.背景分析 1.1 缺失数据 1.2 填补算法 二.GAIN 2.1 GAIN网络架构 2.2 符号描述(Symbol Description) 2.3 生成器模型 2.4 判别器模型 2.5 ...

  4. 使用python进行缺失数据估算(missing data imputation in python)

    Missing data imputation with Impyute 在缺失值填充中,python中有一些开源的方法. 这些方法主要是包括: 删除法(most searched in google ...

  5. GAIN: Missing Data Imputation using Generative Adversarial Nets学习笔记

    GAIN: Missing Data Imputation using Generative Adversarial Nets(基于对抗生成网络实现缺失数据插补) 缺失数据插补算法问题背景 缺失数据 ...

  6. 论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)

    一个有效的基于图卷积神经网络的社交推荐模型 原文链接:SocialGCN: An Efficient Graph Convolutional Network based Model for Socia ...

  7. 论文阅读06——《CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network for Clustering》

    欢迎到我的个人博客看原文 论文阅读06--<CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network f ...

  8. 论文阅读”Multigraph Fusion for Dynamic Graph Convolutional Network“(TNNLS2022)

    论文标题 Multigraph Fusion for Dynamic Graph Convolutional Network 论文作者.链接 作者: Gan, Jiangzhang and Hu, R ...

  9. 【论文笔记】Revisiting Graph based Collaborative Filtering: A Linear Residual Graph Convolutional Network

    LR-GCCF 1. Abstract 2. Introduction 3. LR-GCCF 3.1 模型总体结构(Overall Structure of the Proposed Model) 3 ...

最新文章

  1. java中怎么固定间距_java中的GridBagLayout是怎么调组件间距的...
  2. 在 Element-UI 的 Table 组件上添加列拖拽效果
  3. 缅甸、老挝出入证可在西双版纳办
  4. jQuery【学习心得】简介和选择器
  5. Python 爬虫 大量数据清洗 ---- sql语句优化
  6. matlab repmate,MATLAB中“repmat”与“cat”函数的用法
  7. 本田da屏怎么进wince系统_东风本田LIFE“来福酱”上市
  8. LeetCode 695. Max Area of Island javascript解决方案
  9. std::thread详解
  10. 大数据应用及其解决方案(完整版)
  11. python三个单引号成对用于什么_python中三个单引号是什么意思
  12. 组装机怎么重装系统?组装机U盘装系统方法
  13. Java实现四则运算
  14. 自定义UpsertStreamTableSink
  15. hbase实战 与mysql_HBase实战系列1—压缩与编码技术
  16. 《数据结构与算法之哈夫曼树(Java实现)》
  17. DC/DC电源输入输出滤波电容摆放位置
  18. 程序员1个经验反复用了10年?工资不涨,那是最终被迫成长的结果
  19. 算法工程师面试之朴素贝叶斯
  20. adventure项目 可视化看板总结

热门文章

  1. excel数据分类与自动填充
  2. python pandas 实现Excel自动填充功能
  3. 学生用计算机怎么去掉,怎样把学生使用的计算器关掉
  4. OULU-NPU数据说明
  5. 蚂蚁金服首席架构师:区块链技术如何促进数字普惠金融
  6. 玩到全身僵直!07年最强的9款PC游戏
  7. 如何在 Visual Paradigm 中创建流程图丨使用教程
  8. 利用sqlmap注入获取网址管理员账号密码
  9. 关闭微信内置浏览器页面
  10. log日志中不打印异常栈的具体信息