【论文阅读】CTAB-GAN: Effective Table Data Synthesizing

论文地址:[2102.08369] CTAB-GAN: Effective Table Data Synthesizing (arxiv.org)

介绍

虽然数据共享对于知识发展至关重要,但遗憾的是,隐私问题和严格的监管(例如欧洲通用数据保护条例 GDPR)限制了其充分发挥作用。合成表格数据作为一种替代方案出现,可在满足监管和隐私约束的同时实现数据共享。最先进的表格数据合成器从生成对抗网络 (GAN) 中汲取方法论,并处理行业中的两种主要数据类型,即连续数据类型和分类数据类型。在本文中,我们阐明了 CTAB-GAN,这是一种新颖的条件表 GAN 架构,可以有效地对各种数据类型进行建模,包括连续变量和分类变量的混合。此外,该模型还解决了实际表格数据集中的数据不平衡和长尾问题,即某些变量在大值之间具有显着的频率差异。这是通过利用条件 GAN 的信息损失和分类损失实现的。此外,该模型具有新颖的条件向量,可有效地对混合数据类型和数据变量的偏态分布进行编码。CTAB-GAN 在数据相似性和分析效用方面用当前的技术水平进行了评估。五个数据集的结果表明,CTAB-GAN 的合成数据与所有三类变量的真实数据非常相似,并导致五种机器学习算法的准确率更高,高达 17%.

论文动机

工业数据集(在银行、保险公司和医疗保健等利益相关者中)提出了多重挑战。首先,这些数据集被组织成表格,并填充有连续变量和分类变量,或两者的混合,例如,贷款持有人的抵押贷款价值。该值可以是 0(无抵押)或某个连续的正数。在这里,我们将这种类型的变量称为混合变量。其次,连续数据变量通常具有广泛的值,并且可以表现出重长尾分布,例如信用卡交易金额的统计。大多数交易应该在 0 500 美元之间(即每天购买食物和衣服),但肯定存在高交易额的例外。第三,连续数据变量也可能包含具有多种偏斜频率模式的分布。在下面的图 2 中,我们展示了这些问题在利用当前最先进的技术时如何表现出来。

使用现有的基于 GAN 的表生成器对工业数据集建模的挑战:(a) 混合类型,(b) 长尾分布,以及偏斜数据

因此,总而言之,应对以下挑战构成了研究的主要动机:

  • 表格数据包含由连续和离散分量组成的混合变量。类似地,嵌入在连续变量中的缺失值也可以被视为混合变量的一个分类组件。
  • 连续变量表现出严重的长尾分布,难以真实地建模和重现。
  • 连续变量包含多种模式的偏斜频率,这进一步加剧了建模。

贡献

我们设计了一种新的条件表格数据合成器 CTAB-GAN,它解决了现有技术的局限性:(i)编码连续和分类变量的混合数据类型,(ii)长尾连续变量的有效建模(iii) 增加了对不平衡分类变量和偏斜连续变量的稳健性。此外,CTAB-GAN 的两个关键特征是在条件 GAN 中引入分类损失,以及对条件向量的新颖编码,该编码有效地编码混合变量并有

助于处理连续变量的高度偏态分布。

因此,主要贡献可以总结如下:

  • 新颖的条件对抗网络,它引入了一个分类器,提供额外的监督,以提高其在 ML 应用程序中的效用。
  • 通过新颖的数据编码和条件向量对连续、分类和混合变量进行有效建模。
  • 轻量级数据预处理,使用简单的对数变换减轻连续变量长尾分布的影响。
  • 为相关利益相关者提供有效的数据合成器。

结果

使用 CTAB-GAN 对工业数据集建模的结果:(a) 混合类型,(b) 长尾分布,以及偏斜数据

现在让我们根据第2节前面介绍的三个动机案例来回顾CTAB-GAN的表现。

混合变量——上面显示的图 3.(a) 比较了贷款数据集中变量“抵押”的真实数据和 CTAB-GAN 生成的数据。CTAB-GAN 将此变量编码为混合类型。我们可以看到 CTAB-GAN 与现有的最先进技术不同,生成了清晰的 0 值。

长尾连续变量 - 图 3.(b) 比较了 Credit 数据集中“Amount”变量的累积频率图。该变量是典型的长尾分布。可以看到 CTAB-GAN 完美地恢复了真实分布。由于对数转换数据预处理,CTAB-GAN 比最先进的方法明显更好地学习这种结构。

倾斜的多模式连续变量 - 图 3.(c) 比较了来自 Adult 数据集的连续变量“Hours-per-week”的频率分布。除了 40 处的主峰外,还有很多副峰,这使得该色谱柱的合成极为困难。然而,我们看到 CTAB-GAN 比现有方法更有能力恢复偏斜的多模态分布,因为它是条件向量的新颖构造,旨在使生成过程对此类分布更加鲁棒。

总结

受数据共享和履行政府法规的重要性的启发,我们提出了 CTAB-GAN——一种基于条件 GAN 的表格数据生成器。CTAB-GAN 通过对混合变量进行建模而超越了先前最先进的方法,并为不平衡的分类变量和具有复杂分布的连续变量提供了强大的生成能力。为此,CTAB-GAN 的核心特征包括 (i) 将分类器引入条件 GAN,(ii) 混合变量的有效数据编码,以及 (iii) 条件向量的新构造。我们针对四个表格数据生成器在广泛的指标上详尽地评估了 CTAB-GAN,即最终的 ML 实用程序、统计相似性和隐私保护。结果表明,与现有的最先进技术相比,CTAB-GAN 的合成数据具有高实用性、高相似性和合理的隐私保证。与所有最先进的算法相比,复杂数据集的准确性提高了 17%。CTAB-GAN 的显着成果证明了其在广泛受益于数据共享的广泛应用中的潜力,例如银行、保险、制造和电信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/174494.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PySide/PYQT如何用Qt Designer和代码来设置文字属性,如何设置文字颜色?

文章目录 📖 介绍 📖🏡 环境 🏡📒 实现方法 📒📝 Qt Designer设置📝 代码📖 介绍 📖 本人介绍如何使用Qt Designer/代码来设置字体属性(包含字体颜色) 🏡 环境 🏡 本文使用Pyside6来进行演示📒 实现方法 📒 📝 Qt Designer设置 首先打开Qt De…

爱心代码--C语言特供(可直接复制,亲测有效)

情人节到了&#xff0c;作为一名程序员&#xff0c;我们拥有属于我们的浪漫。 这里我总结了几种常见的爱心代码&#xff0c;简单易上手。 一.这是一种最为常见的爱心代码 #include<stdio.h> #include<Windows.h>int main() {float x, y, a;for (y 1.5; y > -1.…

手摸手入门Springboot+Grafana10.2接收JSON

JSON&#xff08;JavaScript Object Notation, JS对象简谱&#xff09;是一种轻量级的数据交换格式。它基于 ECMAScript&#xff08;European Computer Manufacturers Association, 欧洲计算机协会制定的js规范&#xff09;的一个子集&#xff0c;采用完全独立于编程语言的文本…

面试?看完这篇就够了-深入分析从点击应用图标到应用界面展示

作者&#xff1a;GeeJoe 从点击桌面图标到应用界面展示 从桌面点击图标到应用界面第一帧绘制出来&#xff0c;整个流程涉及的过程复杂&#xff0c;为了便于理解&#xff0c;这里将整个流程分为四个阶段&#xff1a;应用进程启动阶段、应用进程初始化阶段、Activity 启动阶段、…

【JVM】Java内存溢出分析(堆溢出、栈溢出、方法区溢出、直接内存溢出)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…

Golang 中的 Context 包

简介 今天&#xff0c;我们将讨论 Go 编程中非常重要的一个主题&#xff1a;context 包。如果你现在觉得它很令人困惑&#xff0c;不用担心 — 在本文结束时&#xff0c;你将像专家一样处理 context&#xff01; 想象一下&#xff0c;你在一个主题公园&#xff0c;兴奋地准备…

界面控件DevExtreme图表和仪表(v23.1) - 新功能(Angular,React,Vue,jQuery)

本文将为大家总结下DevExtreme在v23.1版本中发布的一些与图表和仪表盘相关的功能。 DevExtreme拥有高性能的HTML5 / JavaScript小部件集合&#xff0c;使您可以利用现代Web开发堆栈&#xff08;包括React&#xff0c;Angular&#xff0c;ASP.NET Core&#xff0c;jQuery&#…

2023年【汽车驾驶员(中级)】免费试题及汽车驾驶员(中级)考试试卷

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年【汽车驾驶员&#xff08;中级&#xff09;】免费试题及汽车驾驶员&#xff08;中级&#xff09;考试试卷&#xff0c;包含汽车驾驶员&#xff08;中级&#xff09;免费试题答案和解析及汽车驾驶员&#xff08;…

文心一言 VS 讯飞星火 VS chatgpt (135)-- 算法导论11.3 1题

一、用go语言&#xff0c;假设我们希望查找一个长度为 n 的链表&#xff0c;其中每一个元素都包含一个关键字k并具有散列值h(k)。每一个关键字都是长字符串。那么在表中查找具有给定关键字的元素时&#xff0c;如何利用各元素的散列值呢? 文心一言&#xff1a; 在Go语言中&a…

【JAVA学习笔记】70 - 反射

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter23/src 反射 一、反射的引出 package com.yinhai.reflection.question;import com.yinhai.Cat;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IO…

jetsonTX2 nx配置tensorRT加速yolov5推理

环境说明 Ubuntu 18conda环境python3.9cuda10.2&#xff0c;硬件平台是Jetson tx2 nx 前提你已经能运行YOLOV5代码后&#xff0c;再配置tensorRT进行加速。 目前只试了图片检测和C打开USB摄像头进行视频检测&#xff0c;希望是使用python配合D435i深度相机来实现检测&#xff…

Qt 自定义全局悬浮置顶按钮

Qt 自定义全局悬浮置顶按钮 效果 使用示例 ResetButton* resetBtn; resetBtn new ResetButton(); resetBtn->show(); resetBtn->move(QPoint(1000, 800)); connect(resetBtn, &ResetButton::clicked, this, &MainWindow::Reset);自行加入图片&#xff0c;透明…