一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种结构化仿真数据生成系统及生成方法

2022-10-13 03:51:56 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种结构化仿真数据生成系统及生成方法。


背景技术:

2.在大数据时代,数据往往需要经过流通、分析才能获得其中的价值,但是在数据流通和分析的过程中往往会伴随着隐私泄露的风险。对于结构化数据来说,传统的数据匿名化技术无法理想地保护隐私,对于拥有相关其他数据源知识的攻击者来说,很有可能推测出经过匿名化处理的标识符或准标识符,即重识别攻击;而数据匿名化技术则会大幅降低数据的可用性。为了达到数据可用性和隐私性的平衡,提出了一种使用仿真数据代替原始数据的解决方案,在数据流通和分析过程中仅使用仿真数据,使得:1)仿真数据中的每条记录不会对应现实中的任何实体,能够最大限度保护数据隐私;2)高质量的仿真数据能够有着与原始数据相同的分析效用,保留数据分析的效果。
3.针对仿真数据的生成,专利 cn107886009b提供了一种防隐私泄漏的大数据生成方法和系统,该数据生成方法中需要依次计算每个特征的概率分布,特征与特征间的生成是独立的,获得的仿真数据与原始数据的联合概率分布未必一致,同时,该方法只能生成仅包含离散型特征的仿真数据记录;专利cn110287729a提供了一种数据合成方法,该方法中无法针对特定应用场景生成特定条件的仿真数据记录;同时,数据处理过程中没有考虑离散数据和连续数据可能存在的关联性;专利cn110377725b提供了一种数据生成方法、装置、计算机设备及存储介质,该方法无法针对特定应用场景生成特定条件的仿真数据记录,并且只能生成仅包含语义类文本信息的仿真数据记录,无法生成应用更广泛的、包含离散型特征和连续型特征的仿真数据记录;专利cn109376862a提供了一种基于生成对抗网络的时间序列生成方法,该方法同样无法针对特定应用场景生成特定条件的仿真数据记录,也无法保证生成的仿真数据中特征间的关联关系与原始数据一致。
4.综上所述,现有的仿真数据生成方法存在的缺陷包括:难以保证生成的仿真数据与原始数据联合分布保持一致;无法保证生成的仿真数据中特征与特征之间有着与原始数据一致的关联关系;无法同时处理离散型特征和连续性特征两种变量类型;无法针对特定应用场景生成特定条件的仿真数据记录。


技术实现要素:

5.本发明针对上述问题,提供了一种结构化仿真数据生成系统及生成方法,用于保证生成的仿真数据与原始数据联合分布保持一致;保证生成的仿真数据中特征与特征之间有着与原始数据一致的关联关系;同时处理离散型特征和连续性特征两种变量类型;以及针对特定应用场景生成特定条件的仿真数据记录。
6.本发明的第一方面,一种结构化仿真数据生成系统,包括:数据预处理单元以及训练和生成单元,所述数据预处理单元用于将原始数据中的
每个样本转换成向量表示,并且在转换的过程中建模贝叶斯网络用以描述特征间的关联关系;所述训练和生成单元利用原始数据转换后的向量表示进行训练,得到仿真数据生成模型,利用所述仿真数据生成模型生成仿真数据记录;其中,所述数据预处理单元包括特征离散化模块、关联关系建模模块以及特征向量转换模块,所述特征离散化模块用于将连续型特征进行离散化,输出离散化结果和连续型特征在离散化过程中的损失信息;所述关联关系建模模块利用输入的离散化结果建模一个贝叶斯网络用于描述特征间的关联关系;所述特征向量转换模块用于将所述特征离散化模块输出的离散化结果和连续型特征在离散化过程中的损失信息通过编码后进行拼接的方式转换为向量表示;所述训练和生成单元包括生成模型训练模块、生成模型生成模块、特征向量逆转换模块,所述生成模型训练模块用于利用原始数据的向量表示训练一个基于生成对抗网络的结构化仿真数据生成模型;所述生成模型生成模块利用训练好的仿真数据生成模型,结合所述关联关系建模模块输出的贝叶斯网络,生成保留特征间关联关系的仿真数据向量表示;所述特征向量逆转化模块用于将仿真数据向量表示转换为与原始数据结构一致的仿真数据记录。
7.进一步的,所述特征离散化模块用于将连续型特征进行离散化,具体包括:将连续型特征中变量取值映射到某个取值范围,使用高斯混合模型确定连续型特征所要映射的取值范围边界,将连续型特征的取值映射到对应的取值范围中。
8.进一步的,所述关联关系建模模块建模一个贝叶斯网络用于描述特征间的关联关系,具体包括:对于输入的离散化结果,利用连通的有向无环图建模特征间的关联关系结构,对于具有关联关系的特征,通过给定代表父节点特征取值的情况下代表子节点特征的条件概率来量化特征的关联关系,对于每一个特征a,根据关联关系结构获得特征a所有的父节点特征pa,计算父节点特征的所有取值情况组合,计算每一个取值情况组合下特征a所有取值的概率,记录为特征a的条件概率表,当所有特征的条件概率表都计算完毕,即获得了由表示特征间关联关系结构的有向无环图和特征条件概率表组成的贝叶斯网络。
9.进一步的,所述特征向量转换模块用于将所述特征离散化模块输出的离散化结果和连续型特征在离散化过程中的损失信息通过编码后进行拼接的方式转换为向量表示,具体包括:将所有特征的离散化结果进行one-hot编码后进行拼接,即可得到特征的离散化结果的向量形式;连续型特征在离散化过程中的损失信息直接与特征的离散化结果的向量形式进行拼接,即可得到转换后的向量表示。
10.进一步的,所述仿真数据生成模型包括生成器和鉴别器,所述生成器的输入为噪声向量和条件向量,所述噪声向量采样自多元高斯分布,所述条件向量为所述特征离散化模块输出的离散化结果向量表示,输出为连续型特征在离散化过程中可能的损失信息,将可能的损失信息与所述条件向量拼接后得到仿真数据记录的向量表示;所述鉴别器的输入包括原始数据经过特征向量转换模块后输出的向量表示和所述生成器的输出,所述鉴别器通过鉴别结果与真实结果比对用于优化鉴别性能;所述生成器通过鉴别结果提高仿真数据的质量用于生成更接近真实数据记录分布的仿真数据记录。
11.进一步的,所述生成模型生成模块利用训练好的仿真数据生成模型,结合所述关
联关系建模模块输出的贝叶斯网络,生成保留特征间关联关系的仿真数据向量表示,具体包括:根据贝叶斯网络中的有向无环图计算特征拓扑排序,并按照该排序依次对每个特征根据条件概率表里的概率选择离散化结果,将离散化结果转化为离散化结果向量表示后输入所述仿真数据生成模型的生成器中,所述生成器输出仿真数据向量表示。
12.进一步的,当所述生成器的输入中存在所需仿真数据的条件输入时,在对条件输入所对应的特征节点选择离散化结果的取值时,直接选择输入的条件,最终得到所有特征的离散化结果,将离散化结果转化为离散化结果向量表示后输入所述仿真数据生成模型的生成器中,所述生成器输出仿真数据向量表示。
13.进一步的,所述连续型特征在离散化过程中的损失信息,具体表达式为:其中,表示对于某个取值区间i来说,映射到i中的第i个变量取值损失掉的信息,表示区间i中第i个变量取值,、和 分别为映射到区间i中所有变量取值的均值、最小值和最大值。
14.进一步的,所述特征向量逆转化模块用于将仿真数据向量表示转换为与原始数据结构一致的仿真数据记录,具体包括:将仿真数据向量表示中的one-hot编码转换为特征的离散化结果,根据连续型特征在离散化过程中的损失信息来恢复连续型变量的具体取值,对于某个连续型特征的某个取值区间i,映射到i中的第i个变量的具体取值记为,具体表达式为:其中为映射到区间i中的第i个变量取值损失掉的信息,、和 分别为映射到区间i中所有变量取值的均值、最小值和最大值。
15.本发明的第二方面,提供了一种结构化仿真数据生成方法,包括以下步骤:将原始数据中的每个样本转换成向量表示,并且在转换的过程中建模贝叶斯网络用以描述特征间的关联关系,具体包括:利用特征离散化模块将连续型特征进行离散化,输出离散化结果和连续型特征在离散化过程中的损失信息;利用关联关系建模模块根据输入的离散化结果建模一个贝叶斯网络用于描述特征间的关联关系;利用特征向量转换模块将特征离散化模块输出的离散化结果和连续型特征在离散化过程中的损失信息通过编码后进行拼接的方式转换为向量表示;利用原始数据转换后的向量表示进行训练,得到仿真数据生成模型,利用仿真数据生成模型生成仿真数据记录,具体包括:利用生成模型训练模块对输入的原始数据的向量表示进行训练,得到一个基于生成对抗网络的结构化仿真数据生成模型;利用生成模型生成模块基于训练好的仿真数据生成模型,结合关联关系建模模块输出的贝叶斯网络,生成保留特征间关联关系的仿真数据向量表示;利用特征向量逆转化模块将仿真数据向量表示转换为与原始数据结构一致的仿真数据记录。
16.本发明提供的一种结构化仿真数据生成系统及生成方法,是一种基于贝叶斯网络
和生成对抗网络的高质量仿真数据生成方法,生成的仿真数据在分析效用上与原始数据高度接近;本发明创新性地将贝叶斯网络和生成对抗网络两种技术结合起来,生成指定条件的高质量的仿真数据,其中贝叶斯网络用于描述原始数据中特征间的关联关系,生成对抗网络用于学习原始数据的分布情况。综上所述,本发明的有益效果是:本发明系统和方法能够同时生成含有连续型特征和离散型特征的仿真数据记录;本发明系统和方法针对生成仿真数据的质量,既保持了与原始数据一致的数据分布,也保证了与原始数据一致的特征间关联关系;本发明提出一种根据所需条件生成仿真数据的方法,能够根据不同的仿真数据应用场景生成分析所需的仿真数据记录。
附图说明
17.图1是本发明实施例中结构化仿真数据生成系统结构示意图;图2是本发明实施例中连续型特征离散化过程示意图;图3是本发明实施例中特征间的关联关系结构示意图;图4是本发明实施例中仿真数据生成模型训练过程示意图;图5是本发明实施例中利用仿真数据生成模型生成仿真数据记录过程示意图。
具体实施方式
18.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅出示了与本发明相关的部分而非全部结构。
19.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
20.本发明实施例针对一种结构化仿真数据生成系统及生成方法,提供了如下实施例:基于本发明的实施例1如图1所示,为本发明实施例1的一种结构化仿真数据生成系统100,包括:数据预处理单元101以及训练和生成单元102,数据预处理单元101用于将原始数据中的每个样本转换成向量表示,并且在转换的过程中建模贝叶斯网络用以描述特征间的关联关系;训练和生成单元102利用原始数据转换后的向量表示进行训练,得到仿真数据生成模型,利用所述仿真数据生成模型生成仿真数据记录;其中,数据预处理单元101包括特征离散化模块1011、关联关系建模模块1012以及特征向量转换模块1013,特征离散化模块1011用于将连续型特征进行离散化,输出离散化结果和连续型特征在离散化过程中的损失信息;关联关系建模模块1012利用输入的离散化结果建模一个贝叶斯网络用于描述特征间的关联关系;特征向量转换模块1013用于将特征离散化模块1011输出的离散化结果和连续型特征在离散化过程中的损失信息通过编码后进行拼接的方式转换为向量表示;训练和生成单元102包括生成模型训练模块1021、生成模型生成模块1022以及特征向量逆转换模块1023,生成
模型训练模块1021用于利用原始数据的向量表示训练一个基于生成对抗网络的结构化仿真数据生成模型;所述生成模型生成模块利用训练好的仿真数据生成模型,结合关联关系建模模块1012输出的贝叶斯网络,生成保留特征间关联关系的仿真数据向量表示;特征向量逆转化模块1023用于将仿真数据向量表示转换为与原始数据结构一致的仿真数据记录。
21.如图1所示,结构化仿真数据生成系统100的输入有三部分,分别是原始数据以及可选输入的特征间关联关系先验知识和所需仿真数据的条件。
22.具体实施过程中,原始数据是结构化数据,由若干条数据记录组成,每条记录有若干特征。例如有一个学生成绩数据集存储某个班级的学生信息,则一条记录对应一个学生的信息,每条记录有学号、姓名、各科成绩等特征对应的值。在数据的挖掘和分析中,大多数情况下只关注离散型特征和连续型特征。离散型特征指该特征下的变量取值集合是有限集,如性别、籍贯;连续型特征指该特征下的变量取值为某个值域内的数值,如年龄、成绩分数。具有分析意义的不属于离散型特征和连续型特征的其他字段通常可以拆分成离散型特征和连续型特征的组合,如地址特征可拆分成省、市等若干离散型特征的组合。基于上述原因,结构化仿真数据生成系统100仅针对原始数据中的离散型特征和连续型特征,且生成的仿真数据具有与原始数据相同数量和类型的特征。
23.如图1所示,特征间关联关系先验知识是可选输入,即数据拥有者对数据特征关系的认知,如认为工龄特征与薪资特征存在关联关系,工龄越长,薪资越高。除了输入的先验知识外,本系统还会使用贝叶斯网络对特征间关联关系建模,并与先验知识结合起来,自动化(即没有先验知识输入)或半自动化(即有先验知识输入)学习到特征间的关联关系。
24.如图1所示,所需仿真数据的条件也是可选输入,指对仿真数据中某些特征的取值要求,如只需要生成性别特征为男、月薪特征大于5000的仿真数据记录。在某些数据分析场景中,可能指定特征取值的仿真数据,如只想分析性别特征为男、月薪特征大于5000的样本中,工龄的分布情况,那么只需要满足特征为男、月薪特征大于5000条件的仿真数据记录。
25.系统在获得输入后,经由数据预处理单元101、训练和生成单元102后输出高质量的仿真数据。
26.数据预处理单元101用于将数据中的每个样本转换成向量表示,并且在转换的过程中建模贝叶斯网络,以描述特征间的关联关系。数据预处理单元101包含三个模块,分别为特征离散化模块1011、关联关系建模模块1012以及特征向量转换模块1013。
27.优选地,所述特征离散化模块1011用于将连续型特征进行离散化,具体包括:将连续型特征中变量取值映射到某个取值范围,使用高斯混合模型确定连续型特征所要映射的取值范围边界,将连续型特征的取值映射到对应的取值范围中。
28.具体实施过程如图2所示,特征离散化模块1011将连续型特征进行离散化,即将连续型特征中变量取值映射到某个取值范围。使用高斯混合模型来确定连续型特征所要映射的取值范围边界,然后将连续型特征的取值映射到对应的取值范围中,如某条数据记录中年龄特征的取值为22,映射到取值范围[20,30)中。由于该过程会导致连续型特征信息丢失,因此还需要记录下连续型特征在离散化过程中损失的信息。
[0029]
具体地,离散化过程为:对于某个连续型特征c,首先使用具有k个高斯分量的高斯混合模型拟合连续型特征c中变量的分布,如图2,年龄特征的变量分布(实线)可拆分成4个高斯分量(虚线)的叠加。然后取变量的最小值、最大值和每两个概率最高的高斯分量分布
函数交点处作为边界分割点来确定取值范围。如图2,年龄特征的最小值为10,最大值为65,由高斯混合模型确定的分割点为20、30和40,那么得到四个取值范围:[10,20)、[20,30)、[30,40)和[40,65],并将年龄变量映射到对应的取值范围中。
[0030]
进一步的,由于将连续型特征离散化的过程会损失掉变量的具体取值信息,如2-1图中年龄为22岁、25岁的变量取值均被映射到了[20,30)区间中,无法再从对应的取值区间再映射回具体取值,因此还需要记录损失的信息。优选地,所述连续型特征在离散化过程中的损失信息,具体表达式为:其中,表示对于某个取值区间i来说,映射到i中的第i个变量取值损失掉的信息,表示区间i中第i个变量取值,、和 分别为映射到区间i中所有变量取值的均值、最小值和最大值。
[0031]
最终,特征离散化模块1011输出特征的离散化结果(离散型特征本身就是离散化结果,连续型特征需经过离散化过程)和连续型特征在离散化过程中的损失信息。
[0032]
优选地,所述关联关系建模模块1012建模一个贝叶斯网络用于描述特征间的关联关系,具体包括:对于输入的离散化结果,利用连通的有向无环图建模特征间的关联关系结构,对于具有关联关系的特征,通过给定代表父节点特征取值的情况下代表子节点特征的条件概率来量化特征的关联关系,对于每一个特征a,根据关联关系结构获得特征a所有的父节点特征pa,计算父节点特征的所有取值情况组合,计算每一个取值情况组合下特征a所有取值的概率,记录为特征a的条件概率表,当所有特征的条件概率表都计算完毕,即获得了由表示特征间关联关系结构的有向无环图和特征条件概率表组成的贝叶斯网络。
[0033]
具体实施过程中,关联关系建模模块1012建模一个贝叶斯网络,用于描述特征间的关联关系,输入为特征的离散化结果(特征离散化模块1011的输出之一)和特征间关联关系的先验知识(可选输入)。
[0034]
具体地,如图3所示,特征间的关联关系结构可以用连通的有向无环图表示,图中的节点可以代表特征,节点之间的有向边则可以表示特征之间的关联关系。如工龄和薪资存在着关联关系,且工龄往往决定了薪资(薪资依赖于工龄),因此在表示特征间关联关系的有向无环图中,代表工龄特征的节点与代表薪资的节点就会存在一条有向边,且从代表工龄特征的节点指向代表薪资的节点。关联关系建模模块1012使用pc或tpda算法(由使用者决定)获得描述特征关联关系结构的有向无环图;若输入了特征间关联关系的先验知识,则在获得的有向无环图中添加先验知识所对应的有向边。如图3所示,在包含年龄、每周工作时长和薪资三个特征的数据集中,pc或tpda算法获得年龄决定每周工作时长、每周工作时长决定薪资的关联关系结构,输入的先验知识为年龄决定薪资,因此最后的有向无环图所代表的关联关系为年龄决定每周工作时长、年龄和每周工作时长共同决定薪资。
[0035]
具体地,结构化数据表t中包含n个特征a1,a2,...,an,每个特征ai对应有向无环图里的节点vi,并且vi的直接父节点集合为sv
parents(i)
(即对任意,都有),则表示特征ai依赖于节点集合sv
parents(i)
所对应的特征集合sa
parents(i)
;类似地,
vi的直接父节点集合为sv
children(i)
(即对任意,都有),则表示节点集合sv
children(i)
所对应的特征集合sa
children(i)
依赖于特征vi。
[0036]
建模了特征间的关联关系结构后,关联关系建模模块1012还需要具体地量化这样的关联关系:对于具有关联关系的特征,给定代表父节点特征取值的情况下代表子节点特征的条件概率就可以量化这样的关联关系。如工龄和薪资存在着关联关系,且工龄超过20年的人每月薪资大于10000的概率是0.8,工龄少于20年的人每月薪资大于10000的概率是0.3。
[0037]
当具有关联关系的特征均为离散型特征时,可以计算获得在父节点特征集条件下子节点特征的取值概率,进而得到条件概率表。而当具有关联关系的特征集中存在连续型特征时,计算条件概率将没有意义,因为在连续型变量的概率密度函数中,变量取任何值的概率都为0。因此,在计算包含连续型特征的关联关系对应的条件概率表时,连续型特征的取值必须是一个范围,而不能是精确的某个值,因此关联关系建模模块1012在量化特征间关联关系时使用特征离散化模块1011输出的特征离散化结果进行计算。对于每一个特征a,通过关联关系结构获得其所有的父节点特征pa,并且计算父节点特征的所有取值情况组合,然后计算每一个组合下a所有取值的概率,记录为特征a的条件概率表。当所有的特征的条件概率表都计算完毕后,即获得了由表示特征间关联关系结构的有向无环图和特征条件概率表组成的贝叶斯网络,并作为关联关系建模模块1012的输出。
[0038]
进一步的,所述特征向量转换模块1013用于将所述特征离散化模块1011输出的离散化结果和连续型特征在离散化过程中的损失信息通过编码后进行拼接的方式转换为向量表示,具体包括:将所有特征的离散化结果进行one-hot编码后进行拼接,即可得到特征的离散化结果的向量形式;连续型特征在离散化过程中的损失信息直接与特征的离散化结果的向量形式进行拼接,即可得到转换后的向量表示。
[0039]
具体实施过程中,特征向量转换模块1013将每个数据记录转换为向量形式,使其能输入到系统后续的神经网络中。特征向量转换模块1013的输入为特征离散化模块1011的输出,即特征的离散化结果和连续型特征在离散化过程中的损失信息。
[0040]
特征的离散化结果中每个特征的变量取值都是离散型的(离散型特征不做处理,连续型特征的变量取值映射到取值范围上),并进行one-hot编码。具体来说,对于第i个特征的离散化结果di,其离散型变量的取值共有ni个,对ni个取值进行排列,第j个取值的编码即为,编码长度为ni,且编码元素中除了第j个元素为1外其余均是0。将所有特征的离散化结果进行编码后进行拼接,即可得到特征的离散化结果的向量形式。连续型特征在离散化过程中的损失信息都是连续型的,可以直接与特征的离散化结果的向量形式进行拼接,即可得到数据记录完成转换后的向量形式。
[0041]
进一步地,训练和生成单元102使用原始数据经过转换后的向量形式进行训练,得到一个仿真数据生成模型,用于在使用中生成高质量的、与原始数据结构一致的仿真数据记录。训练和生成单元102包含三个模块,分别为生成模型训练模块1021、生成模型生成模块1022以及特征向量逆转换模块1023。
[0042]
其中,生成模型训练模块1021用于训练一个基于生成对抗网络的结构化仿真数据生成模型,输入为原始数据的向量表示。生成模型由生成器和鉴别器组成,两个组件均为神
经网络模型。生成器目的是生成尽可能真实的仿真数据记录,鉴别器的目的是鉴别输入的数据是来自原始数据还是来自生成器;两者共同进行训练和博弈,生成器提高生成质量,鉴别器提高鉴别能力。
[0043]
具体地,如图4所示,生成器的输入由两部分组成,分别是噪声向量和条件向量。噪声向量采样自多元高斯分布,目的是为生成器的输入增加随机性,使得其输出具有一定的多样性,否则在相同的输入下,生成器只会给出相同的仿真数据记录。条件向量即为特征的离散化结果的向量形式,因为它指定了所有离散型特征的取值和连续型特征的取值范围,可以视为生成仿真数据记录的“条件”。输入经过生成器的神经网络后,输出连续型特征在离散化过程中可能的损失信息,并与条件向量拼接后得到一条仿真数据记录的向量表示。
[0044]
鉴别器的输入为完整的数据记录向量表示,来源为原始数据经过特征向量转换单元后的输出,或生成器的输出。输入经过鉴别器的神经网络后,给出该条数据向量表示的鉴别结果。鉴别器通过鉴别结果与真实结果比对,以优化鉴别性能;生成器通过鉴别结果提高仿真数据的质量,以生成更接近真实数据记录分布的仿真数据记录。最终,生成模型训练模块1021输出训练好的生成器神经网络模型。
[0045]
优选地,所述仿真数据生成模型1022包括生成器和鉴别器,两个组件均为神经网络模型,所述生成器的输入为噪声向量和条件向量,所述噪声向量采样自多元高斯分布,所述条件向量为所述特征离散化模块1011输出的离散化结果向量表示,输出为连续型特征在离散化过程中可能的损失信息,将可能的损失信息与所述条件向量拼接后得到仿真数据记录的向量表示;所述鉴别器的输入包括原始数据经过特征向量转换模块1013后输出的向量表示和所述生成器的输出,所述鉴别器通过鉴别结果与真实结果比对用于优化鉴别性能;所述生成器通过鉴别结果提高仿真数据的质量用于生成更接近真实数据记录分布的仿真数据记录。
[0046]
进一步的,所述生成模型生成模块1022利用训练好的仿真数据生成模型,结合所述关联关系建模模块1012输出的贝叶斯网络,生成保留特征间关联关系的仿真数据向量表示,具体包括:根据贝叶斯网络中的有向无环图计算特征拓扑排序,并按照该排序依次对每个特征根据条件概率表里的概率选择离散化结果,将离散化结果转化为离散化结果向量表示后输入所述仿真数据生成模型的生成器中,所述生成器输出仿真数据向量表示。
[0047]
进一步的,当所述生成器的输入中存在所需仿真数据的条件输入时,在对条件输入所对应的特征节点选择离散化结果的取值时,直接选择输入的条件,最终得到所有特征的离散化结果,将离散化结果转化为离散化结果向量表示后输入所述仿真数据生成模型的生成器中,所述生成器输出仿真数据向量表示。
[0048]
具体实施过程中,生成模型生成模块1022使用生成模型训练模块1021输出的生成器神经网络模型,结合关联关系建模模块1012输出的贝叶斯网络,生成保留特征间关联关系的仿真数据记录。因此生成模型生成模块1022的输入是生成模型训练模块1021输出的生成器、关联关系建模模块1012输出的贝叶斯网络和所需仿真数据的条件(可选输入)。
[0049]
生成器的输入包括噪声向量和条件向量,噪声向量可从多元高斯分布中采样获得,条件向量指示了生成器所需要生成仿真数据的条件,由贝叶斯网络和所需仿真数据的条件(可选输入)共同决定。首先根据贝叶斯网络中的有向无环图计算特征拓扑排序,并按照该排序依次对每个特征根据条件概率表里的概率选择离散化结果。由于拓扑排序的特
性,在选择某个特征的离散化结果取值时,其父节点代表的特征的离散化结果取值已经确定了,因为在拓扑排序中其父节点一定位于该特征所代表的节点之前。若存在所需仿真数据的条件输入,那么在对给定条件所对应的特征节点选择离散化结果的取值时,将不按照条件概率表中的概率,而是直接选择输入的条件。最后得到所有特征的离散化结果取值,并且该取值一定是符合原始数据中关联关系的,将该结果进行one-hot编码后作为生成器的条件向量输入,以指导生成器生成符合原始数据中关联关系的仿真数据记录。生成器的输出为连续型特征在离散化过程中可能的损失信息,与条件向量拼接后即可得到仿真数据记录的完整向量形式,并作为生成模型生成模块1022的输出。
[0050]
如图5中的示例,一个数据集中包含年龄、每周工作时长、薪资三个特征,且年龄决定每周工作时长,年龄、每周工作时长共同决定薪资,那么其拓扑排序为:年龄、每周工作时长、薪资。按照拓扑排序依次为每个节点所代表的特征选择离散化结果取值,选择的依据为每个特征的条件概率表。然后对结果进行one-hot编码,并作为条件向量输入到生成其中,同时输入采样自多元高斯分布的噪声向量,生成器就输出连续型特征在离散化过程中可能的损失信息,与条件向量拼接后得到一条仿真数据记录的向量形式。
[0051]
进一步的,所述特征向量逆转化模块1023用于将仿真数据向量表示转换为与原始数据结构一致的仿真数据记录,输入为仿真数据记录的完整向量形式。特征向量逆转化模块1023实质上是数据处理过程的逆过程。具体包括:将仿真数据向量表示中的one-hot编码转换为特征的离散化结果,根据连续型特征在离散化过程中的损失信息来恢复连续型变量的具体取值,对于某个连续型特征的某个取值区间i,映射到i中的第i个变量的具体取值记为,具体表达式为:其中为映射到区间i中的第i个变量取值损失掉的信息,、和 分别为映射到区间i中所有变量取值的均值、最小值和最大值。
[0052]
最后,特征向量逆转化模块1023输出含有连续型特征和离散型特征的仿真数据记录。
[0053]
本实施例提供的一种结构化仿真数据生成系统,用于保证生成的仿真数据与原始数据联合分布保持一致;保证生成的仿真数据中特征与特征之间有着与原始数据一致的关联关系;同时处理离散型特征和连续性特征两种变量类型;以及针对特定应用场景生成特定条件的仿真数据记录。
[0054]
基于本发明的实施例2本发明实施例2所提供的一种结构化仿真数据生成方法,具体包括以下步骤:将原始数据中的每个样本转换成向量表示,并且在转换的过程中建模贝叶斯网络用以描述特征间的关联关系,具体包括:利用特征离散化模块将连续型特征进行离散化,输出离散化结果和连续型特征在离散化过程中的损失信息;利用关联关系建模模块根据输入的离散化结果建模一个贝叶斯网络用于描述特征间的关联关系;利用特征向量转换模块将特征离散化模块输出的离散化结果和连续型特征在离散化过程中的损失信息通过编码后进行拼接的方式转换为向量表示;
利用原始数据转换后的向量表示进行训练,得到仿真数据生成模型,利用仿真数据生成模型生成仿真数据记录,具体包括:利用生成模型训练模块对输入的原始数据的向量表示进行训练,得到一个基于生成对抗网络的结构化仿真数据生成模型;利用生成模型生成模块基于训练好的仿真数据生成模型,结合关联关系建模模块输出的贝叶斯网络,生成保留特征间关联关系的仿真数据向量表示;利用特征向量逆转化模块将仿真数据向量表示转换为与原始数据结构一致的仿真数据记录。
[0055]
一种结构化仿真数据生成方法可以基于实施例1中提供的一种结构化仿真数据生成系统,因此,结构化仿真数据生成方法的具体工作过程参照上述一种结构化仿真数据生成系统实施例1的描述,不再赘述。
[0056]
综合上述各实施例提供的一种结构化仿真数据生成系统及生成方法,是一种基于贝叶斯网络和生成对抗网络的高质量仿真数据生成方法,生成的仿真数据在分析效用上与原始数据高度接近;本发明创新性地将贝叶斯网络和生成对抗网络两种技术结合起来,生成指定条件的高质量的仿真数据,其中贝叶斯网络用于描述原始数据中特征间的关联关系,生成对抗网络用于学习原始数据的分布情况。综上所述,本发明的有益效果是:本发明系统和方法能够同时生成含有连续型特征和离散型特征的仿真数据记录;本发明系统和方法针对生成仿真数据的质量,既保持了与原始数据一致的数据分布,也保证了与原始数据一致的特征间关联关系;本发明提出一种根据所需条件生成仿真数据的方法,能够根据不同的仿真数据应用场景生成分析所需的仿真数据记录。
[0057]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献