论文研读系列——“CTAB-GAN Effective Table Data Synthesizing”

CTAB-GAN Effective Table Data Synthesizing

arxiv [Submitted on 16 Feb 2021 , last revised 31 May 2021 ]

链接:arXiv:2102.08369

代码:https://github.com/team-tud/ctab-gan

摘要

本文介绍了CTAB-GAN,这是一种新工具,旨在通过处理数字和类别数据,并特别关注不遵循通用模式或具有稀有值的数据来创建看起来像真实数据但不违反隐私法的合成数据表。作者使用其他类似工具测试了CTAB-GAN,发现它更能使合成数据用于机器学习目的,显示准确性提高了多达17%。CTAB-GAN 使用特殊技术,通过确保虚假数据与任何真实个人的数据不太相似,确保其创建的合成数据保护人们的隐私。该工具使用五个不同的数据集进行了评估,表现出更好的性能,不仅在为机器学习创建有用的数据方面,而且在确保隐私的同时使数据在统计上看起来与真实数据相似方面。CTAB-GAN的开发是出于在不损害隐私的情况下共享银行和医疗保健等行业数据的需求,这凸显了其在广泛应用中的潜力。

1. Introduction(引言)

“数据是新石油”这句话可以追溯到2006年,归功于数学家Clive Humby。在《经济学人》发表题为“世界上最有价值的资源不再是石油,而是数据”的报告后,这句话最近获得了更多的关注。如今,许多公司从各种内部和外部数据源中发现有价值的商业洞察。然而,大数据背后的大知识常常阻碍个人隐私,并导致分析的不公正(Narayanan和Shmatikov(2008))。为了防止数据滥用和隐私泄露的风险,欧盟委员会引入了欧盟通用数据保护条例(GDPR),实施了严格的数据保护措施。然而,这给数据驱动的行业带来了新的挑战,即寻找新的科学解决方案,这些解决方案可以在尊重数据隐私和政府法规的约束的同时,实现大发现。

一个新兴的解决方案是利用合成数据(Mottini等人(2018)),它在统计上类似于真实数据,并由于其合成特性,可以遵守GDPR。工业数据集(在银行、保险公司和医疗机构等利益相关者处)呈现出多方面的挑战。首先,这些数据集以表格形式组织,并填充有连续型和分类型变量,或两者的混合,例如,贷款持有人的抵押贷款价值。这个值可以是0(无抵押贷款)或某个连续的正数。在这篇文章中,作者将这类变量称为混合变量。其次,数据变量通常具有广泛的值范围以及偏斜的频率分布,例如,信用卡的交易金额统计。大多数交易应该在0到500美元之间(例如,日常的食品和服装购物),但肯定存在一些高交易金额的异常情况。

生成对抗网络(GAN)(Goodfellow等人(2014))是新兴的数据综合方法之一。GAN首先在真实数据集上进行训练,然后用于生成数据。除了在生成图像方面的成功外,Xu等人(2019);Park等人(2018);Mottini等人(2018)最近已经将GAN应用于生成表格数据。现有的最先进表格生成器(Xu等人(2019))通过条件GAN处理分类型变量,其中每个分类型值被视为条件。然而,他们的重点仅在于两种类型的变量,即连续型和分类型,忽视了一类重要的混合数据类型。此外,目前尚不清楚现有解决方案是否能够有效处理高度不平衡的分类型变量和偏斜的连续型变量。

在本文中,作者旨在设计一个表格数据综合器,解决先前最先进方法的局限性:(i)编码连续型和分类型变量的混合数据类型,(ii)有效建模长尾连续变量,以及(iii)增加对不平衡分类型变量和偏斜连续型变量的鲁棒性。因此,作者提出了一种新的条件表格生成对抗网络,CTAB-GAN。CTAB-GAN的两个关键特点是在条件GAN中引入分类损失,以及为条件向量设计了新的编码,有效地编码了混合变量,并有助于处理连续变量的高度偏斜分布。

作者从三个维度严格评估了CTAB-GAN:(i)基于合成数据的机器学习分析的效用,(ii)与真实数据的统计相似性,以及(iii)隐私保护。具体来说,所提出的CTAB-GAN在5个广泛使用的机器学习数据集上进行了测试:Adult、Covertype、Credit、Intrusion和Loan,与4种基于GAN的表格数据生成算法进行了比较:CTGAN、TableGAN、CWGAN和MedGAN。作者的结果表明,CTAB-GAN不仅在机器学习效用和统计相似性方面优于所有比较,而且还提供了比TableGAN更好的基于距离的隐私保证,后者是在机器学习效用和统计相似性评估中表现第二好的算法。

这项研究的主要贡献可以总结如下:(1)引入分类器提供额外监督的新型条件对抗网络,以改善其在机器学习应用中的效用。(2)通过新的数据编码和条件向量有效建模连续型、分类型和混合型变量。(3)轻量级数据预处理,以减轻连续变量长尾分布的影响。(4)为相关利益相关者提供有效的数据综合器。

在这里插入图片描述

1.1. Motivation(动机)

作者通过实证展示了现有最先进的方法在解决工业数据集挑战方面的不足。详细的实验设置可以在第4.1节中找到。

Mixed data type variables(混合数据类型变量)。据我们所知,现有的基于GAN的表格生成器仅将表列视为分类或连续。然而,在现实中,一个变量可以是这两种类型的混合,并且通常变量存在缺失值。来自贷款数据集的“抵押贷款”变量是混合变量的一个典型例子。图1(a)显示了4种现有最先进算法为这个变量生成的原始和合成数据的分布。根据数据描述,贷款持有人可能有或没有抵押贷款(0值),或者有抵押贷款(任何正值)。从表面上看,由于数据的数值特性,这个变量不是分类类型。因此,所有4种最先进算法都把这种变量视为连续类型,没有捕捉到值零的特殊含义。因此,所有4种算法都生成了一个大约为0的值,而不是精确的0。而且,抵押贷款的负值在现实世界中没有意义或意义错误。

Long tail distributions(长尾分布)。许多现实世界数据可能有长尾分布,其中大部分发生靠近分布的初始值,而罕见情况则出现在末端。图1(b)绘制了原始(顶部)和由4种最先进算法生成的合成数据(底部)的信用卡交易金额数据集的累积频率。这个变量表示使用信用卡时的交易金额。可以想象,大多数交易金额很小,从几美元到几千美元不等。然而,肯定存在极少数的大额交易。注意,为了方便比较,两个图表使用相同的x轴,但真实数据没有负值。真实数据清楚地显示了99%的出现在范围的开始,但分布一直延伸到大约25000。相比之下,没有一个合成数据生成器能够学习并模仿这种行为。

Skewed multi-mode continuous variables(偏斜的多模态连续变量)。“多模态”一词是从变分高斯混合(VGM)中扩展而来的。第3.3节给出了更多细节。使用多模态的直觉可以从图1©中轻松捕捉。该图在每一行中绘制了Adult数据集中“每周工作小时数”变量的分布。这不是典型的高斯分布。在40小时处有一个明显的峰值,但也有几个其他较低的峰值,例如在50、20和45小时。并且每周工作20小时的人数比每周工作10或30小时的人数多。这种行为对于现有的数据生成器来说很难捕捉(见图1©中的后续行)。最接近的结果是通过CTGAN获得的,它对连续变量使用高斯混合估计。然而,与原始分布相比,CTGAN丢失了一些模式。

上述例子展示了当前基于GAN的表格数据生成算法的不足,并激发了作者提出CTAB-GAN的设计动机。

2. Related Studies(相关工作)

作者将使用GAN生成表格数据的相关研究分为两类:(i) 基于GAN的, (ii) 基于条件GAN的。

GAN-based generator(基于GAN的生成器)。 多项研究通过扩展GAN来适应分类变量,增强了GAN架构。MedGAN(Choi等人,2017)结合了自编码器和GAN,能够生成连续或离散变量,并已应用于生成合成电子健康记录(EHR)数据。CrGAN-Cnet(Mottini等人,2018)使用GAN进行航空旅客姓名记录生成。它将Cramér距离(Bellemare等人,2017)和Cross-Net架构(Wang等人,2017)整合到算法中。除了能够生成连续型和分类变量类型外,CrGAN-Cnet还能够通过添加新变量来处理表格中的缺失值。TableGAN(Park等人,2018)在GAN框架中引入了信息损失和一个分类器,特别采用了卷积神经网络(CNN)作为生成器、鉴别器和分类器。尽管上述算法可以生成表格数据,但它们无法指定如何为特定变量的特定类别生成数据。例如,不可能为性别为女性的用户生成健康记录。除了数据生成,隐私是合成表格数据的另一个重要因素。PATE-GAN(Yoon等人,2019)并非专门设计用于表格数据生成,但它提出了一个框架,可以生成具有差分隐私保证的合成数据。

Conditional GAN-based generator(基于条件GAN的生成器)。 由于通过GAN控制生成数据的局限性,条件GAN的使用日益增多,其条件向量可以用来指定生成特定类别的数据。这个特性在我们可用的数据有限且高度偏斜时非常重要,因此需要特定类别的合成数据来重新平衡分布。例如,为在线学习场景准备起始数据集(Zhao等人,2019, 2021;Younesian等人,2020)。CW-GAN(Engelmann和Lessmann,2020)将Wasserstein距离(Arjovsky等人,2017)应用到条件GAN框架中。它利用条件向量来过采样少数类,以解决不平衡的表格数据生成问题。CTGAN(Xu等人,2019)在其鉴别器中整合了PacGAN(Lin等人,2020)结构,并使用生成器损失和WGAN损失加上梯度惩罚(Gulrajani等人,2017)来训练条件GAN框架。它还采用了一种称为基于采样的训练的策略,利用条件向量来解决不平衡的分类变量问题。在此文章中,作者不仅关注建模连续型或分类变量,还涵盖了混合数据类型(即,包含分类和连续值的变量,甚至缺失值)。他们有效地结合了先前技术的优势,如分类器、信息、生成器损失、有效的编码和条件向量。此外,作者主动解决了长尾变量分布的痛点,并提出了一种新的条件向量结构,以更好地处理不平衡的数据集。

在这里插入图片描述

3. CTAB-GAN

CTAB-GAN是一个表格数据生成器,旨在克服第1.1节中概述的挑战。在CTAB-GAN中,我们发明了一个Mixed-type Encoder,可以更好地表示混合分类-连续变量以及缺失值。CTAB-GAN基于条件生成对抗网络(CGAN)来有效处理少数类别,增加了分类损失、信息损失和生成器损失 L o r i g G + L i n f o G + L c l a s s G + L g e n e r a t o r G L^G_{orig} + L^G_{info} + L^G_{class} + L^G_{generator} LorigG+LinfoG+LclassG+LgeneratorG来提高语义完整性和训练稳定性。最后,我们使用对数频率采样器来克服不平衡变量的模式崩溃问题。

3.1 Technical Background(技术背景)

生成对抗网络(GANs)是一种流行的生成合成数据的方法,最初成功应用于图像,并后来被适应于表格数据。GANs利用生成器和鉴别器之间的对抗游戏。

为了解决数据集不平衡问题,作者采用了CTGAN中的条件生成器和基于采样的训练方法。这个想法是使用一个额外的向量,称为条件向量,来表示分类变量的类别。这个向量既输入到生成器中,也用于限制真实训练数据的采样以满足条件。我们可以利用条件来重新采样所有类别,给予少数类别更高的机会来训练模型。

为了增强生成质量,作者在生成器的损失函数中加入了三个额外的项:信息损失 L i n f o G L^G_{info} LinfoG、分类损失 L c l a s s G L^G_{class} LclassG和生成器损失 L g e n e r a t o r G L^G_{generator} LgeneratorG。信息损失惩罚生成数据和真实数据统计量的不一致。这有助于生成统计上更接近真实数据的数据。分类损失要求在GAN架构中并行地添加一个辅助分类器。对于每个合成标签,分类器输出一个预测标签。分类损失量化了合成和预测类别之间的差异。这有助于增加合成记录的语义完整性。例如,(sex=female, disease=prostate cancer)是一个语义上不正确的记录,因为女性没有前列腺,因此这样的记录不应该出现在原始数据中,也不被分类器学习。生成器损失测量给定条件和生成器输出类别之间的差异。这个损失帮助生成器学习产生与给定条件完全相同的类别。分类损失由TableGAN使用,但不是CTGAN,因为CTGAN不包含分类器。生成器损失由CTGAN实现,而不是TableGAN,因为TableGAN不是条件GAN。

为了对抗连续变量中的复杂分布,作者采用了基于高斯混合模型的特定于模式的归一化(MSN)的想法。

3.2 设计CTAB-GAN

CTAB-GAN的结构由三个模块组成:生成器G、鉴别器D和一个辅助分类器C(见图2)。由于作者的算法是基于条件GAN,生成器需要一个噪声向量加上一个条件向量。条件向量的细节在第3.4节中给出。为了简化图形,作者省略了合成和真实数据的编码和解码的详细说明,这些在第3.3节中描述。

GAN通过一个零和最小化最大化游戏进行训练,其中鉴别器D尝试最大化目标,而生成器G尝试最小化它。这个游戏可以被看作是一个导师D为学生G提供有关其工作质量的反馈。这里,作者为G引入了基于信息损失、分类损失和生成器损失的额外反馈。信息损失匹配合成和真实记录的一阶(即,均值)和二阶(即,标准差)统计。这导致合成记录具有与真实记录相同的统计特性。分类损失将类别与其他变量值之间的相关性等同起来。这有助于检查语义完整性,并惩罚那些在语义上不正确的合成记录。最后,生成器损失是由给定条件向量和生成输出类别之间的交叉熵给出的。它强制条件生成器产生与给定条件向量相同的类别。这三个损失在训练期间添加到G的原始损失项中。G和D使用与Park等人(2018)中相同结构的卷积神经网络(CNN)实现。CNN擅长捕捉图像内像素之间的关系,这有助于增加合成数据的语义完整性。为了用CNN处理存储为向量的行记录,作者将行数据包装成最接近的正方形矩阵尺寸,即d×d,其中d是行数据维度的向上取平方根,并用零填充缺失值。C使用一个具有四个256神经元隐藏层的多层感知器(MLP)。分类器在原始数据上训练,以更好地解释语义完整性。因此,合成数据从其矩阵编码反向转换为向量(细节在第3.3节中)。真实数据在用作C的输入以创建类别标签预测之前进行编码(细节在第3.3节和3.5节中)。

f x f_x fx f G ( z ) f_{G(z)} fG(z)分别表示真实样本x和从潜在值z生成的样本输入到D的softmax层的特征。G的信息损失表示为 L i n f o G = ∣ ∣ E [ f x ] x ∼ p d a t a ( x ) − E [ f G ( z ) ] z ∼ p ( z ) ∣ ∣ 2 + ∣ ∣ S D [ f x ] x ∼ p d a t a ( x ) − S D [ f G ( z ) ] z ∼ p ( z ) ∣ ∣ 2 L^G_{info} = ||E[f_x]_{x\sim p_{data}(x)} - E[f_{G(z)}]_{z\sim p(z)}||_2 + ||SD[f_x]_{x\sim p_{data}(x)} - SD[f_{G(z)}]_{z\sim p(z)}||_2 LinfoG=∣∣E[fx]xpdata(x)E[fG(z)]zp(z)2+∣∣SD[fx]xpdata(x)SD[fG(z)]zp(z)2,其中 p d a t a ( x ) p_{data}(x) pdata(x) p ( z ) p(z) p(z)分别表示真实数据和潜在变量的先验分布,E和SD分别表示特征的均值和标准差。分类器损失由 L c l a s s G = E [ ∣ l ( G ( z ) ) − C ( f e ( G ( z ) ) ) ∣ ] z ∼ p ( z ) L^G_{class} = E[|l(G(z)) - C(fe(G(z)))|]_{z\sim p(z)} LclassG=E[l(G(z))C(fe(G(z)))]zp(z)给出,其中l(.)返回目标标签,fe(.)返回给定行x的输入特征。最后,生成器损失由 L g e n e r a t o r G = H ( m i , m ^ i ) L^G_{generator} = H(m_i, \hat{m}_i) LgeneratorG=H(mi,m^i)给出,其中 m i m_i mi m ^ i \hat m_i m^i分别是给定和生成的条件向量位对应于第i列,H(.)是交叉熵损失。列是通过训练过程中的基于采样的程序选择的(见第3.4节的细节)。设 L o r i g D L^D_{orig} LorigD L o r i g G L^G_{orig} LorigG分别表示Goodfellow等人(2014)用于训练鉴别器D和生成器G的原始GAN损失函数。对于G,完整的训练目标是 L G = L o r i g G + L i n f o G + L c l a s s G + L g e n e r a t o r G L^G = L^G_{orig} + L^G_{info} + L^G_{class} + L^G_{generator} LG=LorigG+LinfoG+LclassG+LgeneratorG的组合,而D则不变,即 L o r i g D L^D_{orig} LorigD。最后,训练分类器C的损失类似于生成器的分类损失,即 L c l a s s C = E [ ∣ l ( x ) − C ( f e ( x ) ) ∣ ] x ∼ p d a t a ( x ) L^C_{class} = E[|l(x) - C(fe(x))|]_{x\sim p_{data}(x)} LclassC=E[l(x)C(fe(x))]xpdata(x)​。

在这里插入图片描述

3.3. Mixed-type Encoder

表格数据是按变量逐个编码的。我们区分三种类型的变量:分类变量、连续变量和混合变量。定义混合变量是指那些同时包含分类和连续值,或者连续值中带有缺失值的变量。作者提出了新的混合类型编码器来处理这类变量。利用此编码器,混合变量的值被视为连接在一起的值-模式对。作者通过图3(a)中以红色显示的混合变量的示例分布来说明编码过程。可以看到,值可以是确切的 µ 0 µ_0 µ0 µ 3 µ_3 µ3(分类部分)或者分布在 µ 1 µ_1 µ1 µ 2 µ_2 µ2两个峰值周围(连续部分)。我们采用变分高斯混合模型(VGM)来估计模式k的数量,比如在我们的例子中k等于2,并对高斯混合进行拟合。学习到的高斯混合可以表示为 P = ∑ k = 1 2 ω k N ( μ k , σ k ) P = \sum_{k=1}^{2} \omega_k \mathcal{N}(\mu_k, \sigma_k) P=k=12ωkN(μk,σk),其中 ω k 、 µ k 和 σ k ω_k、µ_k和σ_k ωkµkσk分别是每个模式的权重、均值和标准差。

为了在变量分布的连续区域内对值进行编码,作者将每个值与其最有可能的模式相关联并进行归一化(见图3(b))。给定ρ1和ρ2作为对应于要编码的变量值τ的两个模式的概率密度,我们选择概率最高的模式。在作者的例子中,ρ1更高,我们使用模式1来归一化τ。归一化值α由下式给出: α = τ − μ 1 4 σ 1 α = \frac{\tau - \mu_1}{4\sigma_1} α=4σ1τμ1。此外,作者通过一位有效编码跟踪用于编码τ的模式β,例如在作者的例子中β = [0, 1, 0, 0]。最终编码是通过α和β的连接给出的: α ⊕ β α \oplus β αβ,其中⊕表示向量连接操作符。分类部分(例如,图3(a)中的 µ 0 µ_0 µ0 µ 3 µ_3 µ3)的处理方式类似,只是α直接设置为0。因为分类是由一位有效编码部分确定的。分类变量使用与连续部分混合变量相同的编码方式。分类变量通过一位有效编码向量γ进行编码。缺失值被视为一个单独的唯一类别,作者在一位有效编码向量中为它添加一个额外的位。一个有[1,…,N]个变量的行通过连接所有变量值的编码来编码,即对于连续和混合变量是 ( α ⊕ β ) (\alpha \oplus \beta) (αβ),对于分类变量是γ。有n个连续/混合变量和m个分类变量(n + m = N)的最终编码是: ( ⊕ i = 1 n α i ⊕ β i ) ⊕ j = n + 1 N γ j (\oplus_{i=1}^{n} \alpha_i \oplus \beta_i) \oplus_{j=n+1}^{N} \gamma_j (i=1nαiβi)j=n+1Nγj

3.4. Counter Imbalanced Training Datasets

在CTAB-GAN中,作者使用条件生成对抗网络(Conditional GAN)来对抗不平衡的训练数据集,采用了基于采样的训练方法(training-by-sampling),但扩展到包括连续和混合列的模式。当作者对真实数据进行采样时,他们使用条件向量来过滤和重新平衡训练数据。条件向量V是一个位向量,由所有模式的一位有效编码β(对于连续和混合变量)和所有类的一位有效编码γ(对于分类变量)的连接而成。每个条件向量指定单个模式或类别。更具体地说,V是一个零向量,对应于选定的变量和选定的模式/类别处有一个单独的一。图4展示了一个例子,其中有三个变量,一个是连续的(C1),一个是混合的(C2)和一个分类的(C3),在C3上选择了类别2。为了重新平衡数据集,每当作者在训练中需要一个条件向量时,他们首先随机选择一个变量,以均匀的概率。然后使用频率作为代理,计算该变量中每个模式(或分类变量的类别)的概率分布,并基于其概率的对数进行采样。使用对数概率而不是原始频率,使得少数模式/类别在训练中出现的机会更高。这有助于缓解稀有模式/类别的崩溃问题。将条件向量扩展到包括连续和混合变量有助于处理用于表示它们的模式频率不平衡。此外,由于生成器在训练期间受所有数据类型的条件限制,这增强了学习到的所有变量之间的相关性。

3.5 Treat Long Tails

作者使用变分高斯混合模型(Variational Gaussian Mixture Model, VGM)来编码连续值,以处理多模态数据分布,如第3.3节中所述。然而,高斯混合模型无法处理所有类型的数据分布,特别是具有长尾分布的数据,其中少数罕见点远离大部分数据。VGM在编码尾部的值时存在困难。为了解决这个问题,作者对具有长尾分布的变量进行了对数变换预处理。对于具有下界 l l l的变量,作者将每个值 τ τ τ替换为压缩后的 τ c τ^c τc

τ c = { log ⁡ ( τ ) if  l > 0 log ⁡ ( τ − l + ϵ ) if  l ≤ 0 , w h e r e   ϵ > 0 τ^c = \begin{cases} \log(τ) & \text{if } l > 0 &\\\log(τ - l + \epsilon) & \text{if } l \leq 0 ,where \ \epsilon>0 \end{cases} τc={log(τ)log(τl+ϵ)if l>0if l0,where ϵ>0

其中ε是一个大于0的数。

在这里插入图片描述

对数变换允许压缩并减少尾部和主体数据之间的距离,使得VGM更容易编码所有值,包括尾部的值。作者在第4.6节中展示了这种简单但有效方法的有效性。

4. Experimental Analysis(实验分析)

为了展示提出的CTAB-GAN的有效性,作者选择了五个常用的机器学习数据集,并与四种基于GAN的表格数据生成器的最新技术进行了比较。作者从机器学习效用、与真实数据的统计相似性以及隐私保护三个方面评估了CTAB-GAN的有效性。此外,作者还提供了消融分析,以突出CTAB-GAN独特组件的有效性。

4.1. Experimental Setup(实验设置)

Datasets(数据集)。作者的算法在五个常用的机器学习数据集上进行了测试。其中三个数据集Adult、Covertype和Intrusion来自UCI机器学习存储库。另外两个数据集Credit和Loan来自Kaggle。这五个表格数据集都有一个目标变量,作者使用其余变量进行分类。由于计算资源的限制,作者随机地以分层的方式针对目标变量对Covertype、Credit和Intrusion数据集的50K行数据进行了采样。然而,Adult和Loan数据集没有进行采样。每个数据集的详细信息显示在表1中。需要注意的一点是,作者假设用户在训练之前已经知道每个变量的数据类型。Xu等人(2019)也有相同的假设。

Baselines(基线)。作者的CTAB-GAN与四种基于GAN的表格数据生成器的最新技术进行了比较:CTGAN、TableGAN、CWGAN和MedGAN。为了进行公平比较,所有算法都使用Pytorch编写,生成器和鉴别器结构与各自论文中的描述相匹配。对于连续变量的高斯混合估计,作者使用了与CTGAN评估相同的设置,即10种模式。所有算法都对Adult、Covertype、Credit和Intrusion数据集训练了150个周期,而对Loan数据集训练了300个周期。原因是Loan数据集明显小于其他数据集,仅包含5000行数据,需要更长的训练时间才能收敛。最后,每个实验重复了3次。

Environment(环境)。实验在安装有Ubuntu 20.04的机器上运行,该机器配备了32 GB内存、GeForce RTX 2080 Ti GPU和10核Intel i9 CPU。

在这里插入图片描述

4.2. Evaluation Metrics(指标评测)

评估着眼于三点:数据对机器学习的用处、统计数据的相似程度以及数据保密的程度。为了提高机器学习的实用性,作者测试了五种常用算法,以查看合成(虚假)数据是否与真实数据一样有效。他们使用了一种名为scikit-learn的工具,并保持所有测试的设置不变,以使其公平。为了检查合成数据是否与真实数据相似,他们使用了三种方法:JSD、WD,以及检查数据点相互关系的差异。JSD 衡量数据中类别的差异,而 WD 则查看连续数据的差异,并检查真实数据和合成数据中数据点之间的关系是否相同。在隐私方面,他们衡量了虚假数据与真实数据之间的距离,其想法是距离越远意味着更好的隐私。他们使用了两种隐私衡量标准:一种是查看与假数据点最接近的真实数据点,另一种是将最接近和第二接近的真实数据点与假数据点进行比较,旨在获得更高的值以表示更好的隐私。

在这里插入图片描述

4.3. Results Analysis(结果分析)

ML Utility(机器学习效用)。表2显示了真实数据和合成数据在准确率、F1分数和AUC方面的平均机器学习效用差异。更好的合成数据预期会有较小的差异。可以看出,CTAB-GAN在准确率、F1分数和AUC方面都优于其他最新技术方法。准确率是最常用的分类指标,但由于作者有不平衡的目标变量,F1分数和AUC在这种情况下是更稳定的指标。AUC范围从0到1。CTAB-GAN大大缩小了与最新技术最佳状态的AUC差异,从0.169减少到0.094。

为了更好地理解,图7绘制了Covertype、Intrusion和Loan数据集所有5个机器学习模型的(F1分数,AUC)。由于页面限制,Adult和Credit数据集的结果没有显示。它们的结果与Covertype的相似(见图7(a))。图7(b)显示,对于Intrusion数据集,CTAB-GAN在所有用于评估的机器学习模型中表现大大优于其他模型。对于像Covertype这样的数据集,CTAB-GAN和TableGAN的结果相似且明显优于其他模型。这是因为除了CTGAN之外,其他模型未能处理不平衡的分类变量。此外,由于CTGAN使用具有10种模式的VGM模型,它未能为Covertype收敛到合适的最优解,Covertype主要包含单峰高斯分布。

对于Loan数据集(见图7©),TableGAN比CTAB-GAN和其他模型更好,但两者之间的差异小于Intrusion数据集。作者认为CTAB-GAN在Intrusion数据集上比其他模型高出如此大的幅度(在所有5种机器学习算法中平均准确率比第二好的方法高出17%)的原因是它包含许多高度不平衡的分类变量。此外,Intrusion还包括3个长尾连续变量。他们的结果表明,现有的最新技术在这些条件下表现不佳。Loan数据集明显小于其他四个,并且变量数量最少。此外,所有连续变量要么是简单的单峰高斯分布,要么只是均匀分布。因此,作者发现CTAB-GAN的编码方法在复杂情况下表现良好,但在简单和小数据集上未能收敛到更好的最优解。

Statistical similarity(统计相似性)。统计相似性的结果在表2中报告。CTAB-GAN在所有比较中再次脱颖而出。对于分类变量(即平均JSD),CTAB-GAN的性能比CTGAN和TableGAN分别高出13.5%和28.4%。这归功于条件向量、对数频率采样和额外损失的运用,这些对于平衡和不平衡分布都同样有效。对于连续变量(即平均WD),他们仍然从条件向量的设计中受益。平均WD列显示了一些极端数字,比如46257和238155,与CTAB-GAN的1197相比较。原因是这些算法为长尾变量生成了极大的值。除了发散和距离之外,作者的合成数据还保持了更好的相关性。我们可以看到TableGAN在这方面也表现不错。然而,由于扩展的条件向量增强了训练过程,这有助于保持更多的变量之间的相关性。因为扩展的条件向量允许生成器在给定的VGM模式下产生样本,即使是连续变量也是如此。这增加了学习连续变量的条件分布的能力,从而提高了模型捕捉到的整体特征交互的改进。

Privacy preservability(隐私保护)。作者使用基于距离的算法来评估我们的隐私保护情况。一方面,如果真实数据和合成数据之间的距离太大,那就意味着生成数据的质量很差。另一方面,如果真实数据和合成数据之间的距离太小,就意味着存在泄露训练数据中敏感信息的风险。因此,隐私的评估是相对的。隐私结果在表2中显示。可以看出,真实数据和合成数据之间的DCR和NNDR(即R&S)都表明TableGAN与真实数据的距离最近(即隐私风险最高)。在这种情况下,CTAB-GAN不仅在机器学习效用和统计相似性方面优于TableGAN,而且在所有隐私保护指标方面也分别比TableGAN高出11.6%和4.5%。从这个表中得到的另一个洞见是,对于MedGAN,合成数据内的DCR比真实数据内的DCR小41%。这表明它遭受了模式崩溃问题。

在这里插入图片描述
在这里插入图片描述

4.4. Ablation Analysis(消融分析)

为了展示CTAB-GAN中每种策略的有效性,作者实施了一个消融研究,逐一移除CTAB-GAN的不同组件:(1) w/o C. 在此实验中,作者从CTAB-GAN中移除了分类器C和对应的生成器G的分类损失;(2) w/o I. loss (信息损失). 在此实验中,作者从CTAB-GAN中移除了信息损失;(3) w/o MSN. 在这种情况下,作者用基于VGM的模式特定归一化替换了连续变量的最小-最大归一化,并使用简单的一位有效编码代替分类变量的编码。这里条件向量与CTGAN中的相同;(4) w/o LT (长尾). 在此实验中,不再应用长尾处理。这只影响具有长尾列的数据集,即Credit和Intrusion。

结果与实现所有策略的基线进行了比较。所有实验重复了3次,并在第4.2.1节中介绍的同样的5种机器学习算法上进行了评估。测试数据集和评估流程与第4.1节和第4.2节中展示的相同。表3显示了结果。CTAB-GAN的每个部分对不同数据集有不同的影响。例如,w/o C 对除了Credit之外的所有数据集都有负面影响。由于Credit只有30个连续变量和一个目标变量,语义检查不能非常有效。w/o 信息损失 对Loan有正面影响,但对其他数据集结果会恶化。它甚至可以使模型不可用,例如对于Intrusion。w/o MSN 在Covertype上表现不佳,但对Intrusion影响很小。Credit w/o MSN 比原始CTAB-GAN表现更好。这是因为在30个连续变量中,有28个几乎是单峰高斯分布。每个连续变量初始化的高斯模式数k >> 1(与CTGAN中的设置相同)会降低估计质量。w/o LT 对Intrusion影响最大,因为它包含2个长尾列,这些列是目标列的重要预测因子。对于Credit,影响有限。即使长尾处理很好地拟合了数量列(见第4.6节),这个变量也不是目标列的强预测因子。总的来说,如果平均列值,所有的消融测试对性能都有负面影响,这证明了作者为CTAB-GAN设计选择的合理性。

在这里插入图片描述

4.5. Training Time Analysis(训练时间分析)

上述结果表明,CTAB-GAN在机器学习效用、统计相似性和隐私保护方面优于现有技术。但这是以增加训练复杂性为代价的,即增加了信息损失、分类器损失和生成器损失,以及特征编码,即混合类型、长尾和条件向量中的VGM模式。表3显示了所有模型在所有数据集上的每次训练周期所需时间。如预期的那样,CTAB-GAN比其他算法慢。为了提高CTAB-GAN的训练效率,作者认为可以采取以下措施:(1) 提前用真实数据预训练分类器,而不是与生成器同时进行。通过存储一次推理结果,我们可以加快分类器损失的计算;(2) 对于具有明显单峰高斯分布的连续列,使用最小-最大归一化代替VGM估计。由于VGM估计k >> 1个模式,使用最小-最大归一化可以显著减少连续列编码的长度;(3) 将具有明显单峰高斯分布的分类列视为连续列,并使用最小-最大归一化代替一位有效编码。将值转换回分类形式时,四舍五入已被证明在Park等人(2018)中效果很好。(1) 容易采用。然而,(2) 和 (3) 需要人为直觉来验证和确定每列的分布,然后再进行训练。基于我们对Adult数据集的初步研究,CTAB-GAN可以通过实现(1)减少29%的训练时间,并且通过使用(2)和(3)减少12%的训练时间,同时保持类似的生成质量。

4.6. Results for Motivation Cases(动机案例的结果)

在回顾了所有指标之后,让我们重新审视第1.1节中的三个动机案例。

Mixed data type variables(混合数据类型变量)。图8(a)比较了贷款数据集中的真实和CTAB-GAN生成的抵押贷款变量。CTAB-GAN将此变量编码为混合类型。可以看到,CTAB-GAN生成了明显的0值,并且频率接近真实数据。

Long tail distributions(长尾分布)。图8(b)比较了信贷数据集中金额变量的累积频率图。这个变量是典型的长尾分布。可以看到,CTAB-GAN完美地恢复了真实的分布。由于对数变换数据预处理,CTAB-GAN比图1(b)中显示的最新技术方法更好地学习了这种结构。

Skewed multi-mode continuous variables(偏斜的多模态连续变量)。图8©比较了成人数据集中的连续变量每周工作小时数的频率分布。除了主要峰值在40小时外,还有很多侧峰。图1©显示,TableGAN、CWGAN和MedGAN难以应对,因为它们只能学习简单的高斯分布,由于缺乏对连续变量的任何特殊处理。CTGAN也使用VGM,可以检测到其他模式。然而,CTGAN不如CTAB-GAN好。原因是CTGAN缺乏连续变量的模式在条件向量中。通过将连续变量的模式纳入条件向量,我们可以将基于样本的训练和对数频率也应用于模式。这给了权重较小的模式更多出现在训练中的机会,并避免了模式崩溃。

5. Conclusion(结论)

受到数据共享的重要性和满足政府法规的推动,作者提出了CTAB-GAN——一种基于条件生成对抗网络(Conditional GAN)的表格数据生成器。CTAB-GAN通过模拟混合变量,提供了强大的生成能力,以应对不平衡的分类变量和具有复杂分布的连续变量。为此,CTAB-GAN的核心特点包括:(i) 在条件GAN中引入分类器,(ii) 为混合变量提供有效的数据编码,以及 (iii) 条件向量的新颖构建。作者在一系列指标上对CTAB-GAN进行了详尽的评估,包括机器学习效用、统计相似性和隐私保护。结果显示,与现有技术相比,CTAB-GAN生成的合成数据具有高效用、高相似性和合理的隐私保障。在复杂数据集上的改进幅度高达17%,在准确性方面优于所有现有技术算法。CTAB-GAN的显著结果展示了其在数据共享方面的广泛应用潜力,这将极大地惠及银行、保险和制造业等行业。

最后感谢你看到这里,以上观点均为本人对原论文的个人理解,仅作个人学习使用,如有错误或侵权,麻烦联系我,本人定修改或删除。

祝你天天开心,多笑笑。

  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值