如何使用从原始数据集中学习到的机器学习模型生成综合数据集?


19

通常,机器学习模型基于数据集。我想知道是否有任何方法可以使用这种训练有素的机器学习模型来生成原始数据集特征的合成数据集?

[原始数据->建立机器学习模型->使用ml模型来生成综合数据。...!!!]

可能吗 ?如果可能的话,请指向相关资源。

Answers:


27

通常的方法是对数据集进行传统的统计分析,以定义一个多维随机过程,该过程将生成具有相同统计特征的数据。这种方法的优点是您的综合数据独立于ML模型,但在统计上“接近”您的数据。(有关替代方案的讨论,请参见下文)

本质上,您正在估计与流程关联的多元概率分布。一旦估计了分布,就可以通过蒙特卡洛方法或类似的重复采样方法来生成合成数据。如果您的数据类似于某种参数分布(例如,对数正态),则此方法将简单可靠。棘手的部分是估计变量之间的依赖关系。请参阅:https : //www.encyclopediaofmath.org/index.php/Multi-Dimension_statistical_analysis

如果您的数据不规则,则非参数方法将更容易并且可能更可靠。 多变量内核密度估计是一种具有ML背景的人可以访问并具有吸引力的方法。有关一般介绍和特定方法的链接,请参见:https : //en.wikipedia.org/wiki/Nonparametric_statistics

为了验证该过程是否对您有效,您需要使用综合数据再次进行机器学习过程,最后应该得到一个非常接近原始模型的模型。同样,如果将合成数据放入ML模型,则应该得到与原始输出具有相似分布的输出。

相反,您提出以下建议:

[原始数据->建立机器学习模型->使用ml模型来生成综合数据。...!!!]

这实现了与我刚刚描述的方法不同的东西。这将解决相反的问题:“什么输入可以生成任何给定的模型输出集”。除非您的ML模型过度适合原始数据,否则该合成数据在各个方面甚至大部分方面都不会看起来像原始数据。

考虑一个线性回归模型。相同的线性回归模型可以对具有非常不同特征的数据进行完全拟合。Anscombe的四重奏就是对此的著名展示。

使用简单的汇总统计数据检查时,所有四个集合都是相同的,但是在绘制图形时,这四个集合的差异很大

以为我没有参考资料,我相信这个问题也会出现在逻辑回归,广义线性模型,SVM和K-means聚类中。

尽管需要一些工作,但有些ML模型类型(例如决策树)可以逆向生成合成数据。请参阅:生成合成数据以匹配数据挖掘模式


是时候阅读有关蒙特卡洛和多维统计分析的更多信息了……谢谢您的解释。
hadooper'Apr

2

有一种非常常见的方法来处理不平衡的数据集,称为SMOTE,它从少数类生成合成样本。它通过使用与邻居的差异(乘以0到1之间的某个随机数)来干扰少数样本来工作。

这是来自原始论文的引文:

合成样本是通过以下方式生成的:取所考虑的特征向量(样本)与其最近邻之间的差。将该差乘以0到1之间的随机数,并将其添加到所考虑的特征向量中。

您可以在此处找到更多信息。


1

数据扩充是根据现有数据综合创建样本的过程。现有数据会受到轻微干扰,以生成保留许多原始数据属性的新颖数据。例如,如果数据是图像。可以交换图像像素。在这里可以找到许多数据增强技术的示例。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.