一般数据集的数据增强技术?

机器算法验证 机器学习 预测模型 数据集 独立 数据增强
2022-01-29 17:42:12

在许多机器学习应用中,所谓的数据增强方法允许构建更好的模型。例如,假设一个训练100猫和狗的图像。通过旋转、镜像、调整对比度等,可以从原始图像生成附加图像。

在图像的情况下,数据增强相对简单。但是,假设(例如)一个人有一个训练集100样本和数百个代表不同事物的连续变量。数据增强似乎不再那么直观。在这种情况下可以做些什么?

2个回答

我将这个问题理解为涉及特征构建和处理您已经拥有的大量特征 + 将构建,相对于您的观察 ( N << P)。

特征构造

扩展@yasin.yazici 的评论,增加数​​据的一些可能方法是:

  • 主成分分析
  • 自动编码
  • 转换,例如对数、幂等。
  • 将连续变量分箱为离散类别(即,连续变量高于平均值 1 SD,低于平均值 1,等等)
  • 复合变量(例如,请参见此处

我敢肯定还有很多我想念的。

特征选择/降维

您可以使用诸如 PCA 之类的技术来降低维度(尽管在使用 PCA 变量扩充数据之后可能不会)。或者,您可以使用为您执行特征选择的算法,例如套索、随机森林等。

我遇到了类似的问题,我想增加未标记的数字数据。我通过以下方式扩充数据:(假设我有一个大小为 100*10 的数据集。)

  1. 通过从 {0,1} 中随机采样值来创建一个列表,使得 0 的数量小于 1 的数量,比如在这种情况下 0 的比例为 20%。所以会有一个长度为 100 的 0 和 1 的列表。
  2. 将此列表用作因变量并将其传递给 smote 以生成更多数据点。(这里 smote 将在连接数据点的边缘上生成点,这些点对应于生成的列表中的 0)。
  3. 重复此过程,直到获得所需大小的数据集。