一般情况下,机器学习模型是建立在数据集上的。我想知道是否有任何方法来生成合成数据集使用这种经过训练的机器学习模型,保持原始数据集的特点?
原始数据->建立机器学习模型->使用ml模型生成合成数据.!
有可能吗?如果可能的话,请告诉我相关的资料。
发布于 2015-04-01 22:37:39
一般方法是对数据集进行传统的统计分析,以定义一个多维随机过程,该过程将生成具有相同统计特性的数据。这种方法的优点是,您的合成数据独立于您的ML模型,但在统计上“接近”您的数据。(关于您的备选方案的讨论,请参阅下文)
本质上,您是在估计与流程相关的多变量概率分布。一旦估计了分布,就可以通过Monte方法或类似的重复抽样方法生成合成数据。如果您的数据类似于某些参数分布(例如对数正态分布),那么这种方法是直接和可靠的。棘手的部分是估计变量之间的相关性。见:https://www.encyclopediaofmath.org/index.php/Multi-dimensional_统计_分析。
如果您的数据是不规则的,那么非参数方法就更容易,而且可能更健壮。多元核密度估计是一种对具有ML背景的人来说是可访问的和有吸引力的方法。有关特定方法的一般介绍和链接,请参阅:https://en.wikipedia.org/wiki/Nonparametric_统计。
要验证此过程是否对您有效,您将再次使用合成的数据完成机器学习过程,并且您应该得到一个与原始数据相当接近的模型。同样,如果将合成的数据放入ML模型中,则应该获得与原始输出具有相似分布的输出。
相反,你建议这样做:
原始数据->建立机器学习模型->使用ml模型生成合成数据.!
这就实现了我刚才描述的不同的方法。这将解决逆问题:“什么输入可以生成任何给定的模型输出集”。除非您的ML模型过于适合您的原始数据,否则这个合成的数据在各个方面都不会像您的原始数据,甚至大部分。
考虑一个线性回归模型。同样的线性回归模型对具有非常不同特征的数据具有相同的拟合能力。这方面的一个著名演示是通过安斯库姆四重奏进行的。

虽然我没有参考文献,但我相信这个问题也会在logistic回归、广义线性模型、支持向量机和K-均值聚类中出现。
有一些ML模型类型(例如决策树),可以将它们反向生成合成数据,尽管这需要一些工作。见:生成符合数据挖掘模式的合成数据。
发布于 2017-08-06 00:15:03
数据增强是在现有数据的基础上综合生成样本的过程。现有数据对生成保留许多原始数据属性的新数据稍微有些不安。例如,如果数据是图像。图像像素可以互换。许多数据增强技术的例子都可以找到这里。
发布于 2018-01-30 11:47:52
有一种非常常见的方法来处理不平衡的数据集,称为SMOTE,它从少数类生成合成样本。它的工作原理是利用与其邻居之间的差异(乘以0和1之间的一些随机数)来扰动少数群体样本。
以下是原稿的引文:
合成样本的生成方法如下:取所考虑的特征向量(样本)与其最近邻的差值。将此差乘以0到1之间的随机数,并将其添加到所考虑的特征向量中。
您可以找到更多信息,这里。
https://datascience.stackexchange.com/questions/5427
复制相似问题