当前位置: 首页 > news >正文

【论文阅读】(CTGAN)Modeling Tabular data using Conditional GAN

论文地址:[1907.00503] Modeling Tabular data using Conditional GAN (arxiv.org)

 

摘要

  对表格数据中行的概率分布进行建模并生成真实的合成数据是一项非常重要的任务,有着许多挑战。本文设计了CTGAN,使用条件生成器解决挑战。为了帮助进行公平和彻底的比较建模这类数据的方法,本文设计了一个基准测试,包括7个模拟数据集和8个真实数据集,以及几个贝叶斯网络基线。CTGAN在大多数真实数据集上都优于贝叶斯方法,而其他深度学习方法则不然。

1、介绍

GAN在建模分布方面比其统计对应方法具有更大的灵活性。新的GAN方法的激增需要一个评估机制。

  • 为了评估这些GAN,本文使用了一组真实的数据集来建立一个基准系统,并实现了三种最新的技术。
  • 为了进行比较,本文使用贝叶斯网络创建了两种基准方法。

在使用模拟数据集和真实数据集对这些模型进行测试后,我们发现,表格数据建模对GAN提出了独特的挑战,导致它们在许多指标上无法达到基线方法,如合成生成数据的可能性适合度和机器学习效率。这些挑战包括:

  • 需要同时对离散列和连续列进行建模
  • 每个连续列中的多模态非高斯值
  • 类别列的严重不平衡问题。

为了应对这些挑战,在本文中提出了条件表格GAN(CTGAN)。引入了几种新技术方法:

  • 通过针对模式的归一化、架构更改来增强训练过程。
  • 通过使用条件生成器和采样训练来解决数据不平衡问题。

当使用有基准测试的相同数据集时,CTGAN的性能明显优于贝叶斯网络基线和其他测试的GAN。如下图所示。

论文的贡献如下:

  • 一个用于合成表格数据生成的条件GAN。本文建议CTGAN作为一个合成表格数据生成器由于以下几点:

- CTGAN比迄今为止的所有方法都要好,在至少87.5%的数据集上超过了贝叶斯网络。

- 为了进一步挑战CTGAN,采用变分自动编码器(VAE)来生成混合类型的表格数据,称之为TVAE。VAE直接使用数据构建生成器;即使有这样的优势,CTGAN在许多数据集上都实现了有竞争力的性能,并且在3个数据集上优于TVAE。

  • 一个合成数据生成算法的基准测试系统。使用多个表格数据集和不同的评估指标,以及多个基线和最先进方法的实现,设计了一个全面的基准框架。同时系统是开源的,可以用其他方法和额外的数据集进行扩展。在撰写本文时,基准有5种深度学习方法、2种贝叶斯网络方法、15个数据集和2种评估机制。

2、相关工作

在过去的十年中,合成数据是通过将表格中的每一列视为随机变量,对联合多元概率分布进行建模,然后从该分布中进行采样而生成的。

  • 一组离散变量可能使用决策树和贝叶斯网络建模。
  • 空间数据可以用空间分解树建模。
  • 一组非线性相关的连续变量可以使用copulas建模。

这些模型受到分布类型和计算问题的限制,严重限制了合成数据的理想性。

由于在表示数据时提供的性能和灵活性,使用VAE和GANs及其众多扩展开发生成模型非常有吸引力。GANs还用于生成表格数据,尤其是医疗记录。例如

  • 使用GANs生成连续的时间序列医疗记录
  • 使用GANs生成离散的表格数据。
  • medGAN将自动编码器和GAN结合起来,生成异构的非时间序列连续和/或二进制数据。
  • ehrGAN生成增强的医疗记录。
  • tableGAN试图解决使用卷积神经网络生成合成数据的问题,该网络优化了标签列的质量;因此,生成的数据可用于训练分类器。
  • PATE-GAN生成不同的私有合成数据。

3、表格数据生成任务中的GANs挑战

表格数据的几个独特特性对GAN模型的设计提出了挑战:

  1. 混合的数据类型:现实世界的表格数据由多种类型组成。为了同时生成离散列和连续列的混合,GANs必须将softmax和tanh都应用于输出。
  2. 非高斯分布:图像中,像素值遵循类高斯分布,可以使用最小-最大变换归一化为[−1,1]。tanh函数通常用于网络的最后一层,以输出该范围内的值。表格数据中的连续值通常是非高斯的,其中最小-最大变换将导致消失梯度问题。
  3. 多模式分布:本文使用核密度估计来估计列中的模式数。但是在8个真实数据集中,57/123连续列有多种模式。有论文表明原始GAN无法在一个简单的2D数据集上对所有模式进行建模。因此,它也很难对连续列的多模式分布进行建模。
  4. 从稀疏独热编码向量中学习:当生成合成样本时,使用softmax训练生成模型生成各个类别的概率分布,而真实数据则用独热向量表示。这是有问题的,因为鉴别器只会检查分布稀疏性而不会考虑样本整体的真实性。
  5. 高度不平衡的分类列:在数据集中,有636/1048个分类列是高度不平衡的,其中主类别出现在90%以上的行中。这会造成严重的模式崩溃。缺少一个次要类别只会导致数据分布发生微小变化,鉴别器很难检测到这些变化。不平衡的数据还导致小类别训练不足。

4、CTGAN模型

CTGAN是一种基于GAN的方法,用于对表格数据分布建模从分布中采样。在CTGAN中发明了针对模式的归一化,以克服非高斯和多模式分布。设计了一个条件生成器通过采样进行训练,以处理不平衡的离散列。使用全连接网络和几种最新技术来训练高质量的模型。

4.1、符号表

4.2、针对模式的归一化

离散值可以自然地表示为独热向量,但表示有着任意分布的连续值是非常重要的。以前的模型使用最小-最大归一化将连续值归一化为[−1, 1]。 在CTGAN中设计了一种针对模式的归一化方法来处理具有复杂分布的列。

下图展示对一个连续列使用针对模式的归一化方法。

4.3、条件生成器和抽象训练

4.4、网络框架

4.5、TVAE模型

5、基准测试合成数据生成算法

5.1、基线和数据集

5.2、评估指标和框架

5.3、基准结果

5.4、消融实验

我们做了一项消融实验,以了解模型中每个组件的有用性。消融实验结果如下。

6、结论

http://www.lryc.cn/news/229731.html

相关文章:

  • 如何进行iOS技术博客的备案?
  • RTSP/Onvif安防平台EasyNVR批量禁用/启用通道接口的详细操作步骤
  • 2个器件,做1个恒流源
  • SQL INSERT INTO SELECT 语句
  • Elasticsearch 在 Java 开发中的应用
  • linux 的uart驱动框架分析
  • 头歌答案HTML——基础
  • 【数据结构——队列的实现(单链表)】
  • 《LeetCode力扣练习》代码随想录——链表(移除链表元素---Java)
  • linux 安装 mini conda,linux下安装 Miniconda
  • 机器人 Null impedance(零阻抗)梳理
  • MDM9205开发环境搭建与编译调试
  • Linux操作系统使用及C高级编程-D3Linux shell命令(权限、输入输出)
  • 无线充,大功率小家电,智能家居,无人机快速充电等产品供电 LDR6328S芯片TYUPE-C PD诱骗电压 USB-C解决PD电源取电问题
  • 2023数字科技生态大会-数字安全论坛 学习笔记
  • 玩转ChatGPT:ARIMA模型定制GPT-1.0
  • CSDN每日一题学习训练——Java版(字符串相乘、子集、删除链表的倒数第 N 个结点)
  • PostgreSQL 判断JSONB数组是否包含特定的元素
  • idea中搭建Spring boot项目(借助Spring Initializer)
  • acwing算法基础之搜索与图论--染色法判断二分图
  • 塔式服务器是什么服务器?
  • nodejs+express接口全局拦截和环境变量设置
  • 深度学习之基于YoloV5的目标检测和双目测距系统
  • 如何显示标注的纯黑mask图
  • 【算法每日一练]-图论(保姆级教程 篇1(模板篇)) #floyed算法 #dijkstra算法 #spfa算法
  • c语言数据结构---十字链表
  • 使用python电脑轻量级控制手机—adb命令和手机投屏
  • VBA技术资料MF82:替换文件夹中文件名中的字符
  • 如何利用大模型蒸馏出小模型实现降本
  • CentOS 中启动 Jar 包